You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using an Arduino nano with an ESP8266 for wifi which I have working for other WiFi projects and I'm trying to subscribe to my mqtt broker on Debian 12 and receive messages.
I never receive anything.
#include <SoftwareSerial.h>
#include <WiFiEsp.h>
#include <MQTT.h> // MQTT by Joel Gaehwiler
// ESP8266 wifi board things.
#define RX 6 // blue
#define TX 7 // black
SoftwareSerial Esp8266(RX, TX);
const char AP[] = "ap";
const char PASS[] = "secret";
WiFiEspClient wifi_client;
// mqtt things.
MQTTClient mqtt_client;
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600);
Esp8266.begin(9600);
WiFi.init(&Esp8266);
// Check for the presence of the shield.
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("WiFi shield not present");
while (true);
}
mqtt_client.begin("192.168.0.113", wifi_client);
mqtt_client.onMessage(messageReceived);
reconnect();
}
void loop() {
if( !mqtt_client.connected()) { reconnect(); }
mqtt_client.loop();
}
void reconnect() {
while ( WiFi.status() != WL_CONNECTED) {
Serial.print("Attempting to connect to WPA SSID: ");
Serial.println(AP);
WiFi.begin(AP, PASS);
}
Serial.println("WIFI connected.");
while (!mqtt_client.connect("arduino")) {
Serial.print(".");
delay(1000);
}
Serial.println("MQTT connected.");
mqtt_client.subscribe("zigbee2mqtt/Home/BoilerFlow");
}
void messageReceived(String &topic, String &payload) {
Serial.println("mqtt_client.messageReceived: " + topic + " - " + payload);
}
Any ideas?
(PubSubClient doesn't work either and is dead and ArduinoMqttClient won't even connect to the broker; this is my third attempt.)
The text was updated successfully, but these errors were encountered:
From a quick glance I can only imagine that the data is published to "/zigbe2mqtt..." and the subscription is on "zigbee2mqtt..." (note the missing slash at the beginning)? In MQTT the slash at the beginning matters on most brokers.
When experimenting with MQTT I like to have a Processing program also working with MQTT.
Here is a link to something I wrote to do so for a bunch of ESP32 assemblies.
I'm using an Arduino nano with an ESP8266 for wifi which I have working for other WiFi projects and I'm trying to subscribe to my mqtt broker on Debian 12 and receive messages.
I never receive anything.
Any ideas?
(
PubSubClient
doesn't work either and is dead andArduinoMqttClient
won't even connect to the broker; this is my third attempt.)The text was updated successfully, but these errors were encountered: