Advertisement
Guest User

Untitled

a guest
Jan 20th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.14 KB | None | 0 0
  1. #include <ESP8266WiFi.h>
  2. #include <PubSubClient.h>
  3.  
  4. int ledPin = D5; //digitaler PIN 5 des Wemos D1 an welchem die LED angeschlossen ist.
  5. int ledStatus = LOW; //aktueller Status der LED (default / start  -> AUS)
  6.  
  7.  
  8. // Update these with values suitable for your network.
  9. const char* ssid = "ssid";
  10. const char* password = "kennwort";
  11. const char* mqtt_server = "mqtthost";
  12.  
  13. WiFiClient espClient;
  14. PubSubClient client(espClient);
  15. long lastMsg = 0;
  16. char msg[50];
  17. int value = 0;
  18. char power;
  19.  
  20.  
  21. void setup() {
  22.   pinMode(ledPin, OUTPUT);     // Adafruit Capacitive Touch Toggle Switch to D1
  23.   digitalWrite(ledPin, LOW);
  24.  
  25.   Serial.begin(115200);
  26.   setup_wifi();
  27.   client.setServer(mqtt_server, 1883);
  28.   client.setCallback(callback);
  29. }
  30.  
  31. void setup_wifi() {
  32.  
  33.   delay(10);
  34.   // We start by connecting to a WiFi network
  35.   Serial.println();
  36.   Serial.print("Connecting to ");
  37.   Serial.println(ssid);
  38.  
  39.   WiFi.begin(ssid, password);
  40.  
  41.   while (WiFi.status() != WL_CONNECTED) {
  42.     delay(500);
  43.     Serial.print(".");
  44.   }
  45.  
  46.   Serial.println("");
  47.   Serial.println("WiFi connected");
  48.   Serial.println("IP address: ");
  49.   Serial.println(WiFi.localIP());
  50. }
  51.  
  52. void callback(char* topic, byte* payload, unsigned int length) {
  53.   Serial.print("Message arrived [");
  54.   Serial.print(topic);
  55.   Serial.print("] ");
  56.   for (int i = 0; i < length; i++) {
  57.     Serial.print((char)payload[i]);
  58.     char power  = (char)payload[i];
  59.     if(power == '1') {
  60.       digitalWrite(ledPin, HIGH);
  61.     } else {
  62.       digitalWrite(ledPin, LOW);
  63.     }
  64.  
  65.   }
  66. }
  67.  
  68.  
  69. void reconnect() {
  70.   // Loop until we're reconnected
  71.   while (!client.connected()) {
  72.     Serial.print("Attempting MQTT connection...");
  73.     // Attempt to connect
  74.     if (client.connect("ESP8266Client")) {
  75.       Serial.println("connected");
  76.       client.subscribe("cmnd/Nachtlicht/POWER");
  77.     } else {
  78.       Serial.print("failed, rc=");
  79.       Serial.print(client.state());
  80.       Serial.println(" try again in 5 seconds");
  81.       // Wait 5 seconds before retrying
  82.       delay(5000);
  83.     }
  84.   }
  85. }
  86.  
  87. void loop() {
  88.  
  89.   if (!client.connected()) {
  90.     reconnect();
  91.   }
  92.  
  93.   int value = 0;
  94.   client.loop();
  95.  
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement