From 6cb1c94f37a593e00961aacce71b642fbc29ae2e Mon Sep 17 00:00:00 2001 From: Johannes Krug Date: Tue, 5 Mar 2019 17:43:33 +0100 Subject: [PATCH] Wlan an RPI sketch --- arduino/wlan_an_rpi/wlan_an_rpi.ino | 63 +++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 arduino/wlan_an_rpi/wlan_an_rpi.ino diff --git a/arduino/wlan_an_rpi/wlan_an_rpi.ino b/arduino/wlan_an_rpi/wlan_an_rpi.ino new file mode 100644 index 0000000..4a3027c --- /dev/null +++ b/arduino/wlan_an_rpi/wlan_an_rpi.ino @@ -0,0 +1,63 @@ +#include +#include + +const char* SSID = "smartroom"; +const char* PSK = "smarthome"; +const char* MQTT_BROKER = "192.168.4.1"; + +WiFiClient espClient; +PubSubClient client(espClient); +long lastMsg = 0; +char msg[50]; +int value = 0; + +void setup() { + Serial.begin(115200); + setup_wifi(); + client.setServer(MQTT_BROKER, 1883); +} + +void setup_wifi() { + delay(10); + Serial.println(); + Serial.print("Connecting to "); + Serial.println(SSID); + + WiFi.begin(SSID, PSK); + + while (WiFi.status() != WL_CONNECTED) { + delay(500); + Serial.print("."); + } + + Serial.println(""); + Serial.println("WiFi connected"); + Serial.println("IP address: "); + Serial.println(WiFi.localIP()); +} + +void reconnect() { + while (!client.connected()) { + Serial.print("Reconnecting..."); + if (!client.connect("ESP8266Client")) { + Serial.print("failed, rc="); + Serial.print(client.state()); + Serial.println(" retrying in 5 seconds"); + delay(5000); + } + } +} +void loop() { + + if (!client.connected()) { + reconnect(); + } + client.loop(); + + snprintf (msg, 50, "Alive since %ld milliseconds", millis()); + Serial.print("Publish message: "); + Serial.println(msg); + client.publish("/home/data", "Hello World"); + delay(5000); +} +