3.3 KiB
Gece Lambanızı İnternet Üzerinden Kontrol Edin - Wio Terminal
Bu dersin bu bölümünde, Wio Terminal cihazınızdan ışık seviyeleriyle ilgili telemetriyi MQTT brokerına göndereceksiniz.
JSON Arduino Kütüphanelerini Yükleyin
MQTT üzerinden mesaj göndermenin popüler bir yolu JSON kullanmaktır. JSON belgelerini okumayı ve yazmayı kolaylaştıran bir Arduino kütüphanesi bulunmaktadır.
Görev
Arduino JSON kütüphanesini yükleyin.
-
VS Code'da gece lambası projesini açın.
-
platformio.ini
dosyasındakilib_deps
listesine şu ek satırı ekleyin:bblanchon/ArduinoJson @ 6.17.3
Bu, bir Arduino JSON kütüphanesi olan ArduinoJson'u içe aktarır.
Telemetri Yayınlayın
Bir sonraki adım, telemetri ile bir JSON belgesi oluşturmak ve bunu MQTT brokerına göndermektir.
Görev - telemetri yayınlama
Telemetriyi MQTT brokerına yayınlayın.
-
MQTT brokerı için telemetri konu adını tanımlamak üzere
config.h
dosyasının sonuna şu kodu ekleyin:const string CLIENT_TELEMETRY_TOPIC = ID + "/telemetry";
CLIENT_TELEMETRY_TOPIC
, cihazın ışık seviyelerini yayınlayacağı konudur. -
main.cpp
dosyasını açın. -
Dosyanın en üstüne şu
#include
yönergesini ekleyin:#include <ArduinoJSON.h>
-
loop
fonksiyonunun içine,delay
satırından hemen önce şu kodu ekleyin:int light = analogRead(WIO_LIGHT); DynamicJsonDocument doc(1024); doc["light"] = light; string telemetry; serializeJson(doc, telemetry); Serial.print("Sending telemetry "); Serial.println(telemetry.c_str()); client.publish(CLIENT_TELEMETRY_TOPIC.c_str(), telemetry.c_str());
Bu kod, ışık seviyesini okur ve ArduinoJson kullanarak bu seviyeyi içeren bir JSON belgesi oluşturur. Daha sonra bu belge bir dizeye dönüştürülür ve MQTT istemcisi tarafından telemetri MQTT konusunda yayınlanır.
-
Kodu Wio Terminal cihazınıza yükleyin ve ışık seviyelerinin MQTT brokerına gönderildiğini görmek için Seri Monitör'ü kullanın.
Connecting to WiFi.. Connected! Attempting MQTT connection...connected Sending telemetry {"light":652} Sending telemetry {"light":612} Sending telemetry {"light":583}
💁 Bu kodu code-telemetry/wio-terminal klasöründe bulabilirsiniz.
😀 Cihazınızdan başarıyla telemetri gönderdiniz.
Feragatname:
Bu belge, AI çeviri hizmeti Co-op Translator kullanılarak çevrilmiştir. Doğruluğu sağlamak için çaba göstersek de, otomatik çevirilerin hata veya yanlışlık içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalar için sorumluluk kabul etmiyoruz.