shiftr.io MQTT server kullanarak NodeMCU (ESP8266) ile android tarafta Virtuino kullanarak veri alışverişini gerçekleştirdiğim video 'ya yazının sonunda ulaşabilirsiniz. Video da yazdığım kod şu şekilde
#include <ESP8266WiFi.h> #include <MQTT.h> #include <MQTTClient.h> const char* ssid = ""; // bağlanılanacak Wifi Adı const char* pwd = ""; // wifi ağının şifresi WiFiClient net; const char* broker = ""; // shiftr erişim adresi char mqttUsername[] = ""; // shiftr kullanıcı adı char mqttPass[] = ""; // shiftr secret token MQTTClient client; void setup() { Serial.begin(115200); WiFi.begin(ssid,pwd); Serial.print("Wifi ağına bağlanılıyor"); pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, HIGH); // HIGH yazınca led sönük oluyor. while (WiFi.status() != WL_CONNECTED) { Serial.print("."); delay(500); } Serial.print(" bağlantı başarılı. \n"); client.begin(broker, net); char clientID[] = "NodeMCU"; // shiftr de görünmesini istediğimiz isim while(!client.connect(clientID, mqttUsername, mqttPass)) { Serial.print("."); delay(500); } Serial.print("Shiftr bağlantısı başarılı.\n"); client.subscribe("LEDSTATUS"); client.subscribe("mesaj"); client.onMessage(messageReceived); } void loop() { // put your main code here, to run repeatedly: client.loop(); delay(10); //<- fixes some issues with wifi stability int Temp = random(18,30); int Humi = random(25, 55); client.publish("Temp",String(Temp)); client.publish("Humidity",String(Humi)); client.publish("mesaj","MSGNodeMCU"); delay(5000); } void messageReceived(String &topic, String &payload) { if (topic == "LEDSTATUS") { int LEDVAL = payload.toInt(); digitalWrite(LED_BUILTIN, LEDVAL); } else if (topic == "mesaj") { String msg = payload; Serial.print("[MGS from Virtuino] "); Serial.print(msg); } }
Hiç yorum yok:
Yorum Gönder