İçindekiler:

Magicbit'inizi Thingsboard'a Bağlayın: 3 Adım
Magicbit'inizi Thingsboard'a Bağlayın: 3 Adım

Video: Magicbit'inizi Thingsboard'a Bağlayın: 3 Adım

Video: Magicbit'inizi Thingsboard'a Bağlayın: 3 Adım
Video: EVDE 1TL İLE ŞAŞIRTIN! 2024, Kasım
Anonim
Magicbit'inizi Thingsboard'a Bağlayın
Magicbit'inizi Thingsboard'a Bağlayın

Bu projede, magicbit'e bağlı sensörlerden, Thingsboard'da görsel olarak görüntüleyebileceğimiz verileri göndereceğiz.

Gereçler:

  • sihirli bit
  • DHT11 Sıcaklık ve Nem Sensörü (4 pinli)

1. Adım: Öykü

Hikaye
Hikaye
Hikaye
Hikaye
Hikaye
Hikaye
Hikaye
Hikaye

Tanıtım

ThingsBoard, IoT cihazlarını izlemenizi ve kontrol etmenizi sağlayan açık kaynaklı bir sunucu tarafı platformudur. Hem kişisel hem de ticari kullanım için ücretsizdir ve her yere dağıtabilirsiniz. Bu, platformla ilgili ilk deneyiminizse, her şey panosu sayfasını ve başlangıç kılavuzunu incelemenizi öneririz.

Bu örnek uygulama, magicbit cihazınızı ve ThingsBoard web kullanıcı arayüzünü kullanarak DHT11 sensöründen gelen nem/sıcaklık verilerini görüntülemenize olanak tanır.

Magicbit cihazında çalışan uygulama, oldukça basit ve anlaşılması kolay olan ThingsBoard Arduino SDK kullanılarak yazılmıştır.

Bu örneği/eğiticiyi tamamladığınızda, sensör verilerinizi aşağıdaki kontrol panelinde göreceksiniz.

Thingsboard Demo resmi sayfasını ziyaret edin ve kaydolun.

Oturum Açtıktan Sonra Sol Kenar Çubuğunda Cihazları göreceksiniz. Cihazları tıklayın ve yeni bir cihaz ekleyin.

Kimlik bilgileri sekmesinde Kimlik bilgileri ekle sekmesini işaretleyin ve açılır kutudan Erişim Simgesi'ni seçin. Ya kendi Erişim Simgenizi ekleyebilir ya da belirteci otomatik olarak oluşturmak için boş bırakabilirsiniz.

Takma ad olarak cihazı magicbit olarak ayarlayın. Pano sekmesine gidin ve panoyu içe aktarın.

Panoyu içe aktarmak için resimlerde aşağıdaki adımları izleyin. Eklerde "magicbit_temperature_humidity_demo_dashboard.json" adlı demo JSON dosyasını bulun.

Magic bitinizi DHT11 modülü ile aşağıdaki gibi pin 33'e bağlayın.

Arduino IDE'de yukarıdaki kütüphaneleri indirin.

Kullanacağınız Arduino kodu aşağıdadır.

Not Çizimde aşağıdaki sabitleri ve değişkenleri düzenlemeniz gerekir:

  • WIFI_AP - erişim noktanızın adı
  • WIFI_PASSWORD - erişim noktası şifresi
  • TOKEN - ThingsBoard yapılandırma adımındaki $ACCESS_TOKEN.
  • THINGSBOARD_SERVER - Wifi ağınız içinde erişilebilen ThingsBoard HOST/IP adresi. Canlı demo sunucusu kullanıyorsanız demo.thingsboard.io'yu belirtin.

Adım 2: Arduino Kodu

#include // Kütüphane kütüphanesi için DHT#include // ESP32 için WiFi kontrolü#include // ThingsBoard SDK#define DHTPIN 33 // hangi dijital pin'e bağlıyız#define DHTTYPE DHT11 // DHT 11DHT dht(DHTPIN, DHTTYPE);// size#define COUNT_OF(x) ((sizeof(x)/sizeof(0[x])) / ((size_t)(!(sizeof(x) % sizeof(0[x])) dizisini hesaplamak için yardımcı makro))))// WiFi erişim noktası#WIFI_AP_NAME tanımlayın "4G"// "WIFI_AP"// WiFi şifresini#tanımlayın WIFI_PASSWORD "asla vazgeçme"// "WIFI_PASSWORD"// Bakınız https://thingsboard.io/docs/getting- start-guides/helloworld/// erişim belirtecinin nasıl elde edileceğini anlamak için#define TOKEN "XZjQ26r9XJcsNkWGuASY" // "TOKEN"// ThingsBoard sunucu örneği.#define THINGSBOARD_SERVER "demo.thingsboard.io"// Seri hata ayıklama için baud hızı #define SERIAL_DEBUG_BAUD 115200// ThingsBoard clientWiFiClient espClient'i başlat;// ThingsBoard instanceThingsBoard tb(espClient);// Wifi radyonun statusint durumu = WL_IDLE_STATUS;// Sıcaklık/nem verisi gönderme süresi.int send_delay = 2000;unsigned long millis_counter;void InitWiFi(){ Serial.println("AP'ye Bağlanıyor…"); // WiFi ağına bağlanmayı deneyin WiFi.begin(WIFI_AP_NAME, WIFI_PASSWORD); while (WiFi.status() != WL_CONNECTED) { gecikme(500); Seri.print("."); } Serial.println("AP'ye Bağlandı");}void reconnect() { // Yeniden bağlanana kadar döngü yap status = WiFi.status(); if (durum != WL_CONNECTED) { WiFi.begin(WIFI_AP_NAME, WIFI_PASSWORD); while (WiFi.status() != WL_CONNECTED) { gecikme(500); Seri.print("."); } Serial.println("AP'ye Bağlandı"); }}// Bir applicationvoid setup() { // Hata ayıklamak için seriyi başlat Serial.begin(SERIAL_DEBUG_BAUD); WiFi.begin(WIFI_AP_NAME, WIFI_PASSWORD); InitWiFi(); // Sıcaklık sensörünü başlat dht.begin();}// Ana uygulama loopvoid loop() { // Gerekirse WiFi'ye yeniden bağlanın if (WiFi.status() != WL_CONNECTED) { reconnect(); dönüş; } // Gerekirse ThingsBoard'a yeniden bağlanın if (!tb.connected()) { // ThingsBoard'a bağlanın Serial.print("Bağlanıyor: "); Serial.print(THINGSBOARD_SERVER); Serial.print("belirteçli"); Seri.println(TOKEN); if (!tb.connect(THINGSBOARD_SERVER, TOKEN)) { Serial.println("Bağlanamadı"); dönüş; } } // DHT11 sıcaklık ve nem gönderme zamanının gelip gelmediğini kontrol edin if(millis()-millis_counter > send_delay) { Serial.println("Veri gönderiliyor…"); // MQTT kullanarak ThingsBoard'a yeni telemetri yükler. // Daha fazla ayrıntı için bkz. https://thingsboard.io/docs/reference/mqtt-api/#telemetry-upload-api // float h = dht.readHumidity(); // Sıcaklığı Celsius (varsayılan) olarak oku float t = dht.readTemperature(); if (isnan(h) || isnan(t)) { Serial.println("DHT sensöründen okunamadı!"); } else { Serial.print("Sıcaklık:"); Seri.baskı(t); Serial.print(" Nem "); Seri.println(h); tb.sendTelemetryFloat("sıcaklık", t); tb.sendTelemetryFloat("nem", h); } millis_counter = millis(); //mil sayacını sıfırla } // Mesajları işle tb.loop();}

3. Adım: Veri Görselleştirme

Veri goruntuleme
Veri goruntuleme

Canlı demo sunucusunda:

  • giriş: canlı demo kullanıcı adınız (e-posta)
  • şifre: canlı demo şifreniz

Hesabınızı nasıl alacağınız hakkında daha fazla ayrıntı için canlı demo sayfasına bakın.

"Cihazlar" bölümüne gidin ve "Magicbit"i bulun, cihaz ayrıntılarını açın ve "En son telemetri" sekmesine geçin. Her şey doğru şekilde yapılandırılmışsa, en son "sıcaklık" ve "nem" değerlerini görebilmeniz gerekir.

Ardından, “Dashboards” bölümünü açın ve ardından “magicbit_temperature_humidity_demo_dashboard” öğesini bulun ve açın. Sonuç olarak, sıcaklık ve nem seviyesini gösteren bir zaman serisi grafiği göreceksiniz (girişteki pano görüntüsüne benzer).

Önerilen: