//#include #include #include // Stationsmode (STA mode) #ifndef STASSID #define STASSID "OpenWrt" #define STAPSK "1234123487658765" #endif //const char* SSID = "NETZWERKNAME"; //const char* PSK = "NETZWERKSCHLUESSEL"; const char* ssid = STASSID; const char* password = STAPSK; //const char* MQTT_BROKER = "BROKER_IP"; const char* MQTT_BROKER = "192.168.1.1"; WiFiClient espClient; PubSubClient client(espClient); long lastMsg = 0; char msg[50]; int value = 0; void setup() { //pinMode(13, OUTPUT); // prepare GPIO2 pinMode(2,OUTPUT); digitalWrite(2,0); //Serial.begin(115200); Serial.begin(9600); setup_wifi(); client.setServer(MQTT_BROKER, 1883); client.setCallback(callback); } void setup_wifi() { delay(10); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } void callback(char* topic, byte* payload, unsigned int length) { Serial.print("Received message ["); Serial.print(topic); Serial.print("] "); char msg[length+1]; for (int i = 0; i < length; i++) { Serial.print((char)payload[i]); msg[i] = (char)payload[i]; } Serial.println(); msg[length] = '\0'; Serial.println(msg); if(strcmp(msg,"on")==0){ //digitalWrite(13, HIGH); digitalWrite(2,0); } else if(strcmp(msg,"off")==0){ //digitalWrite(13, LOW); digitalWrite(2,1); } } void reconnect() { while (!client.connected()) { Serial.println("Reconnecting MQTT..."); if (!client.connect("ESP8266Client")) { Serial.print("failed, rc="); Serial.print(client.state()); Serial.println(" retrying in 5 seconds"); delay(5000); } } client.subscribe("/home/data"); Serial.println("MQTT Connected..."); } void loop() { if (!client.connected()) { reconnect(); } client.loop(); }