Obsah:

Připojte svůj Magicbit k Thingsboard: 3 kroky
Připojte svůj Magicbit k Thingsboard: 3 kroky

Video: Připojte svůj Magicbit k Thingsboard: 3 kroky

Video: Připojte svůj Magicbit k Thingsboard: 3 kroky
Video: Start Using Wemos D1 Mini NodeMCU WiFi ESP8266 module with Arduino 2024, Listopad
Anonim
Připojte svůj Magicbit k Thingsboard
Připojte svůj Magicbit k Thingsboard

V tomto projektu budeme posílat data ze senzorů připojených k Magicbit, které můžeme vizuálně zobrazit na tabuli.

Zásoby:

  • Magicbit
  • Snímač teploty a vlhkosti DHT11 (4 piny)

Krok 1: Příběh

Příběh
Příběh
Příběh
Příběh
Příběh
Příběh
Příběh
Příběh

Úvod

ThingsBoard je open-source serverová platforma, která vám umožňuje monitorovat a ovládat zařízení IoT. Je zdarma pro osobní i komerční použití a můžete jej nasadit kdekoli. Pokud se jedná o vaši první zkušenost s platformou, doporučujeme vám přečíst si stránku what-is-thingsboard a průvodce pro začátek.

Tato ukázková aplikace vám umožní zobrazit data o vlhkosti/teplotě ze senzoru DHT11 pomocí vašeho zařízení magicbit a webového uživatelského rozhraní ThingsBoard.

Aplikace, která běží na zařízení Magicbit, je napsána pomocí SDK pro věciBoard Arduino SDK, což je docela jednoduché a snadno pochopitelné.

Jakmile dokončíte tuto ukázku/tutoriál, uvidíte data ze svých senzorů na následujícím řídicím panelu.

Navštivte oficiální stránku Thingsboard Demo a zaregistrujte se.

Po přihlášení na levém postranním panelu uvidíte Zařízení. Klikněte na zařízení a přidejte nové zařízení.

Na kartě pověření zaškrtněte kartu Přidat přihlašovací údaje a v rozevíracím seznamu zvolte Přístupový token. Buď můžete přidat svůj vlastní přístupový token, nebo nechat automaticky generovat token.

Nastavte zařízení na Magicbit v aliasu. Přejděte na kartu řídicího panelu a importujte řídicí panel.

Při importu řídicího panelu postupujte podle následujících obrázků. V přílohách vyhledejte ukázkový soubor JSON s názvem „magicbit_temperature_humidity_demo_dashboard.json“.

Připojte svůj magický bit k modulu DHT11 následujícím způsobem ke kolíku 33.

V Arduino IDE si stáhněte výše uvedené knihovny.

Následuje kód Arduino, který budete používat.

Poznámka V náčrtu je třeba upravit následující konstanty a proměnné:

  • WIFI_AP - název přístupového bodu
  • WIFI_PASSWORD - heslo přístupového bodu
  • TOKEN - $ ACCESS_TOKEN z konfiguračního kroku ThingsBoard.
  • THINGSBOARD_SERVER - HOST/IP adresa ThingsBoard, která je přístupná ve vaší síti Wi -Fi. Pokud používáte živý demo server, zadejte demo.thingsboard.io.

Krok 2: Arduino kód

#include // DHT pro knihovnu Library#include // WiFi control for ESP32#include // ThingsBoard SDK#define DHTPIN 33 // to, k jakému digitálnímu pinu jsme připojeni#define DHTTYPE DHT11 // DHT 11DHT dht (DHTPIN, DHTTYPE); // Pomocné makro pro výpočet velikosti pole#definujte COUNT_OF (x) ((sizeof (x)/ sizeof (0 [x]))/ ((size_t) (! (Sizeof (x) % sizeof (0 [x]))))) // WiFi access point#define WIFI_AP_NAME "4G" // "WIFI_AP" // WiFi heslo#define WIFI_PASSWORD "nevergiveup" // "WIFI_PASSWORD" // Viz https://thingsboard.io/docs/getting- started-guides/helloworld /// to understand how to obtain an access token#define TOKEN "XZjQ26r9XJcsNkWGuASY" // "TOKEN" // ThingsBoard server instance.#define THINGSBOARD_SERVER "demo.thingsboard.io" // Baud rate for debug serial #define SERIAL_DEBUG_BAUD 115200 // Initialize ThingsBoard clientWiFiClient espClient; // Initialize ThingsBoard instanceThingsBoard tb (espClient); // Stav statusint rádia Wifi = WL_IDLE_STATUS; // Období odesílání údajů o teplotě/vlhkosti.int send_delay = 2000; unsigned long millis_counter; void InitWiFi () {Serial.println ("Connecting to AP…"); // pokus o připojení k WiFi síti WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {zpoždění (500); Serial.print ("."); } Serial.println ("Připojeno k AP");} void reconnect () {// Smyčka, dokud se znovu nepřipojíme status = WiFi.status (); if (status! = WL_CONNECTED) {WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {zpoždění (500); Serial.print ("."); } Serial.println („Připojeno k AP“); }} // Nastavení aplikace, vyhněte se setup () {// Inicializujte seriál pro ladění Serial.begin (SERIAL_DEBUG_BAUD); WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); InitWiFi (); // Inicializace teplotního senzoru dht.begin ();} // Hlavní aplikační smyčka Vyhněte se smyčce () {// Znovu se připojte k WiFi, pokud je potřeba, pokud (WiFi.status ()! = WL_CONNECTED) {reconnect (); vrátit se; } // Znovu se připojte k ThingsBoard, pokud je to potřeba (! Tb.connected ()) {// Připojení k ThingsBoard Serial.print ("Připojování k:"); Serial.print (THINGSBOARD_SERVER); Serial.print ("s tokenem"); Serial.println (TOKEN); if (! tb.connect (THINGSBOARD_SERVER, TOKEN)) {Serial.println ("Nepodařilo se připojit"); vrátit se; }} // Zkontrolujte, zda je čas odeslat teplotu a vlhkost DHT11 if (millis ()-millis_counter> send_delay) {Serial.println ("Odesílání dat …"); // Nahrává novou telemetrii do ThingsBoard pomocí MQTT. // Další podrobnosti viz https://thingsboard.io/docs/reference/mqtt-api/#telemetry-upload-api // // float h = dht.readHumidity (); // Čtení teploty jako Celsia (výchozí) float t = dht.readTemperature (); if (isnan (h) || isnan (t)) {Serial.println ("Selhalo čtení ze snímače DHT!"); } else {Serial.print ("Teplota:"); Serial.print (t); Serial.print („Vlhkost“); Serial.println (h); tb.sendTelemetryFloat ("teplota", t); tb.sendTelemetryFloat ("vlhkost", h); } millis_counter = millis (); // reset milis counter} // Process messages tb.loop ();}

Krok 3: Vizualizace dat

Vizualizace dat
Vizualizace dat

Na live demo serveru:

  • přihlášení: vaše live-demo uživatelské jméno (e-mail)
  • heslo: vaše živé demo heslo

Další podrobnosti o tom, jak získat svůj účet, najdete na stránce s živou ukázkou.

Přejděte do části „Zařízení“a vyhledejte „Magicbit“, otevřete podrobnosti o zařízení a přepněte na kartu „Poslední telemetrie“. Pokud je vše správně nakonfigurováno, měli byste vidět nejnovější hodnoty „teploty“a „vlhkosti“.

Poté otevřete sekci „Panely“, poté najděte a otevřete „magicbit_temperature_humidity_demo_dashboard“. V důsledku toho uvidíte graf časových řad zobrazující teplotu a úroveň vlhkosti (podobný obrázku na palubní desce v úvodu).

Doporučuje: