#include "settings.h" #include #include #define FIRMWARE_ID 0x1337 #define FIRMWARE_VER "0.1" wifi_conn networks[] = {WIFI_CONN("ssid 1", "Password", NULL, 0),WIFI_CONN("ssid 2", "Another Password", NULL, 0),NULL,}; String ID = String(ESP.getChipId()); unsigned long previousMillis = 0; const long interval = 5000; int cnt = 0; // Note: All of the '.set' options below are optional. The default values can be // found in ESP8266MQTTMeshBuilder.h ESP8266MQTTMesh mesh = ESP8266MQTTMesh::Builder(networks, mqtt_server, mqtt_port).setVersion(FIRMWARE_VER, FIRMWARE_ID).setMeshPassword(mesh_password).build(); void callback(const char *topic, const char *msg); void setup() { Serial.begin(115200); delay(1000); //This is only here to make it easier to catch the startup messages. It isn't required mesh.setCallback(callback); mesh.begin(); } void loop() { if (! mesh.connected()) return; unsigned long currentMillis = millis(); if (currentMillis - previousMillis >= interval) { String cntStr = String(cnt); String msg = "hello from " + ID + " cnt: " + cntStr; mesh.publish(ID.c_str(), msg.c_str()); previousMillis = currentMillis; cnt++; } } void callback(const char *topic, const char *msg) { Serial.print(topic); Serial.print(msg); }