[GH-ISSUE #18] WifiManager PubSubClient and DHT22 sensor #16

Closed
opened 2026-02-28 01:22:53 +03:00 by kerem · 2 comments
Owner

Originally created by @roccomuso on GitHub (Dec 8, 2015).
Original GitHub issue: https://github.com/tzapu/WiFiManager/issues/18

Hi,

Here is the code I'm trying to execute:

#include <DNSServer.h>
#include <WiFiManager.h>
#include <ESP8266WebServer.h>

#include "./libraries/DHT.h"
#include <ESP8266WiFi.h>
#include "./libraries/PubSubClient.h"

// Digital Temperature Sensor
#define DHTPIN 2     // what digital pin we're connected to
#define DHTTYPE DHT22   // DHT 22
DHT dht(DHTPIN, DHTTYPE);

// AP wifi
const char* apName = "hello-world";
// MQTT
const char* mqtt_server = "192.168.1.111";
int mqtt_port = 1883;
const char* clientUsername = "pippo";
const char* clientPassword = "ciao123456";
const char* willTopic = "...";
const char* willMessage = "...";
WiFiClient espClient;
PubSubClient client(espClient);
long lastMsg = 0;
char msg[256];


void message_arrived(char* topic, byte* payload, unsigned int length) {
  Serial.print("Message arrived [");
  Serial.print(topic);
  Serial.print("] ");

  String mex = "";
  for (int i = 0; i < length; i++) {
    mex += (char)payload[i]; //Serial.print((char)payload[i]);
  }
  Serial.print(" - Messaggio: ");
  Serial.print(mex);


}



void setup() {
  // setup once:
  Serial.begin(115200);
  WiFiManager wifi;

  wifi.setTimeout(120); // retry after 2 minutes

  if(!wifi.autoConnect(apName)) { // timeut reached
    Serial.println("failed to connect and hit timeout");
    delay(3000);
    //reset and try again
    ESP.reset();
    delay(5000);
  } 

  // if you get here you have connected to the WiFi
  Serial.println("connected!");

  client.setServer(mqtt_server, mqtt_port);
  client.setCallback(message_arrived);

  dht.begin();

}

The last lines raises up this error:

sketch\mqtt-temperature-wifi-manager.ino.cpp.o: In function `WiFiManager::~WiFiManager()':

C:\Users\Rocco\Documents\Arduino\libraries\WiFiManager/WiFiManager.h:23: undefined reference to `PubSubClient::setServer(char const*, unsigned short)'

C:\Users\Rocco\Documents\Arduino\libraries\WiFiManager/WiFiManager.h:23: undefined reference to `PubSubClient::setCallback(void (*)(char*, unsigned char*, unsigned int))'

C:\Users\Rocco\Documents\Arduino\libraries\WiFiManager/WiFiManager.h:23: undefined reference to `DHT::begin()'

Am I wrong importing the libraries or is it a WifiManager issue?

Originally created by @roccomuso on GitHub (Dec 8, 2015). Original GitHub issue: https://github.com/tzapu/WiFiManager/issues/18 Hi, Here is the code I'm trying to execute: ``` #include <DNSServer.h> #include <WiFiManager.h> #include <ESP8266WebServer.h> #include "./libraries/DHT.h" #include <ESP8266WiFi.h> #include "./libraries/PubSubClient.h" // Digital Temperature Sensor #define DHTPIN 2 // what digital pin we're connected to #define DHTTYPE DHT22 // DHT 22 DHT dht(DHTPIN, DHTTYPE); // AP wifi const char* apName = "hello-world"; // MQTT const char* mqtt_server = "192.168.1.111"; int mqtt_port = 1883; const char* clientUsername = "pippo"; const char* clientPassword = "ciao123456"; const char* willTopic = "..."; const char* willMessage = "..."; WiFiClient espClient; PubSubClient client(espClient); long lastMsg = 0; char msg[256]; void message_arrived(char* topic, byte* payload, unsigned int length) { Serial.print("Message arrived ["); Serial.print(topic); Serial.print("] "); String mex = ""; for (int i = 0; i < length; i++) { mex += (char)payload[i]; //Serial.print((char)payload[i]); } Serial.print(" - Messaggio: "); Serial.print(mex); } void setup() { // setup once: Serial.begin(115200); WiFiManager wifi; wifi.setTimeout(120); // retry after 2 minutes if(!wifi.autoConnect(apName)) { // timeut reached Serial.println("failed to connect and hit timeout"); delay(3000); //reset and try again ESP.reset(); delay(5000); } // if you get here you have connected to the WiFi Serial.println("connected!"); client.setServer(mqtt_server, mqtt_port); client.setCallback(message_arrived); dht.begin(); } ``` The last lines raises up this error: ``` sketch\mqtt-temperature-wifi-manager.ino.cpp.o: In function `WiFiManager::~WiFiManager()': C:\Users\Rocco\Documents\Arduino\libraries\WiFiManager/WiFiManager.h:23: undefined reference to `PubSubClient::setServer(char const*, unsigned short)' C:\Users\Rocco\Documents\Arduino\libraries\WiFiManager/WiFiManager.h:23: undefined reference to `PubSubClient::setCallback(void (*)(char*, unsigned char*, unsigned int))' C:\Users\Rocco\Documents\Arduino\libraries\WiFiManager/WiFiManager.h:23: undefined reference to `DHT::begin()' ``` Am I wrong importing the libraries or is it a WifiManager issue?
kerem closed this issue 2026-02-28 01:22:54 +03:00
Author
Owner

@roccomuso commented on GitHub (Dec 8, 2015):

My fault, i was badly importing the libraries.

<!-- gh-comment-id:163035740 --> @roccomuso commented on GitHub (Dec 8, 2015): My fault, i was badly importing the libraries.
Author
Owner

@ivanadiguna commented on GitHub (Jan 18, 2018):

I got this error too, which libraries u false importing?
thx

<!-- gh-comment-id:358628094 --> @ivanadiguna commented on GitHub (Jan 18, 2018): I got this error too, which libraries u false importing? thx
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/WiFiManager#16
No description provided.