Advertisement
Guest User

ESP8266_Mqtt_Testing

a guest
Mar 19th, 2017
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.76 KB | None | 0 0
  1. #include <PubSubClient.h>
  2. #include <ESP8266WiFi.h>
  3. #include <WiFiClientSecure.h>
  4.  
  5. const char* ssid     = "xxxxxx";
  6. const char* password = "xxxxxx";
  7.  
  8. const char* mqtt_server = "xxxxxx.azure-devices.net";
  9.  
  10. const char* deviceID = "xxxxxx";
  11. const char* hubUser = "xxxxxx.azure-devices.net/xxxxxx"; // /api-version=2016-11-14
  12. const char* hubPassword = "SharedAccessSignature sr= xxxxxx.azure-devices.net%2Fdevices%2FID0001&sig= xxxxxx%3D&se=1492016410";
  13.  
  14. WiFiClientSecure wificlient;
  15. PubSubClient clientMqtt(wificlient);
  16.  
  17. void setup_wifi() {
  18.   delay(10);
  19.   Serial.println();
  20.   Serial.print("Connecting to ");
  21.   Serial.println(ssid);
  22.   //WiFi.mode(WIFI_STA);
  23.   WiFi.begin(ssid, password);
  24.  
  25.   while (WiFi.status() != WL_CONNECTED) {
  26.     delay(500);
  27.     Serial.print(".");
  28.   }
  29.  
  30.   Serial.println("");
  31.   Serial.println("WiFi connected");
  32.   Serial.println("IP address: ");
  33.   Serial.println(WiFi.localIP());
  34.  
  35. }
  36.  
  37. void reconnect()
  38. {
  39.   while (!clientMqtt.connected()) {
  40.     Serial.print("Attempting MQTT connection...");
  41.     // Attempt to connect
  42.     if (clientMqtt.connect(deviceID, hubUser, hubPassword)) {
  43.       Serial.println("connected");
  44.      
  45.       clientMqtt.publish("devices/xxxxxx/messages/devicebound/#", "00_hello");
  46.    
  47.       clientMqtt.subscribe("devices/xxxxxx/messages/events/");
  48.     } else {
  49.       Serial.print("failed, rc=");
  50.       Serial.print(clientMqtt.state());
  51.       Serial.println(" try again in 5 seconds");
  52.      
  53.       delay(5000);
  54.     }
  55.   }
  56. }
  57. void setup() {
  58.   Serial.begin(115200);
  59.   setup_wifi();
  60.   clientMqtt.setClient(wificlient);
  61.   clientMqtt.setServer(mqtt_server, 8883);
  62. }
  63.  
  64. void loop() {
  65.     if (!clientMqtt.connected()) {
  66.     Serial.print("Loop_Reconnect.!. ");
  67.     reconnect();
  68.   }
  69.   //clientMqtt.loop();
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement