Spisu treści:

Podłącz Magicbit do Thingsboard: 3 kroki
Podłącz Magicbit do Thingsboard: 3 kroki

Wideo: Podłącz Magicbit do Thingsboard: 3 kroki

Wideo: Podłącz Magicbit do Thingsboard: 3 kroki
Wideo: Jak skomunikować urządzenie modbus RTU ze SCADA? 2024, Czerwiec
Anonim
Podłącz Magicbit do Thingsboard
Podłącz Magicbit do Thingsboard

W tym projekcie będziemy przesyłać dane z czujników podłączonych do magicbitu, które możemy wyświetlić wizualnie na tablicy.

Kieszonkowe dzieci:

  • Magicbit
  • Czujnik temperatury i wilgotności DHT11 (4 piny)

Krok 1: Historia

Fabuła
Fabuła
Fabuła
Fabuła
Fabuła
Fabuła
Fabuła
Fabuła

Wstęp

ThingsBoard to platforma typu open source działająca po stronie serwera, która umożliwia monitorowanie i kontrolowanie urządzeń IoT. Jest bezpłatny zarówno do użytku osobistego, jak i komercyjnego i można go wdrożyć w dowolnym miejscu. Jeśli jest to Twoje pierwsze doświadczenie z platformą, zalecamy zapoznanie się ze stroną „Co to jest tablica” i przewodnikiem dla początkujących.

Ta przykładowa aplikacja pozwoli Ci wyświetlić dane wilgotności/temperatury z czujnika DHT11 za pomocą urządzenia magicbit i internetowego interfejsu użytkownika ThingsBoard.

Aplikacja działająca na urządzeniu Magicbit jest napisana przy użyciu ThingsBoard Arduino SDK, który jest dość prosty i łatwy do zrozumienia.

Po ukończeniu tego przykładu/samouczka zobaczysz dane czujnika na następującym pulpicie nawigacyjnym.

Odwiedź oficjalną stronę Thingsboard Demo i zarejestruj się.

Po zalogowaniu się Na lewym pasku bocznym zobaczysz Urządzenia. Kliknij urządzenia i dodaj nowe urządzenie.

Na karcie poświadczeń zaznacz zakładkę Dodaj poświadczenia i wybierz Token dostępu z listy rozwijanej. Możesz dodać własny token dostępu lub pozostawić puste pole, aby automatycznie wygenerować token.

Ustaw urządzenie na magicbit w aliasie. Przejdź do zakładki pulpitu nawigacyjnego i zaimportuj pulpit nawigacyjny.

Wykonaj następujące kroki na obrazach, aby zaimportować pulpit nawigacyjny. Znajdź w załącznikach demonstracyjny plik JSON o nazwie „magicbit_temperature_humidity_demo_dashboard.json”.

Podłącz swój magiczny bit z modułem DHT11 w następujący sposób do pinu 33.

W Arduino IDE pobierz powyższe biblioteki.

Poniżej znajduje się kod Arduino, którego będziesz używać.

Uwaga Musisz edytować następujące stałe i zmienne w szkicu:

  • WIFI_AP - nazwa twojego punktu dostępowego
  • WIFI_PASSWORD - hasło do punktu dostępu
  • TOKEN - krok konfiguracji $ACCESS_TOKEN z ThingsBoard.
  • THINGSBOARD_SERVER - adres HOST/IP ThingsBoard, który jest dostępny w Twojej sieci Wi-Fi. Podaj demo.thingsboard.io, jeśli korzystasz z serwera demonstracyjnego na żywo.

Krok 2: Kod Arduino

#include // DHT dla biblioteki biblioteki#include // Sterowanie Wi-Fi dla ESP32#include // ThingsBoard SDK#define DHTPIN 33 // do jakiego cyfrowego pinu jesteśmy podłączeni#define DHTTYPE DHT11 // DHT 11DHT dht(DHTPIN, DHTTYPE);// Makro pomocnicze do obliczenia rozmiaru tablicy#define COUNT_OF(x) ((sizeof(x)/sizeof(0[x])) / ((size_t)(!(sizeof(x) % sizeof(0[x])))))// Punkt dostępu Wi-Fi#define WIFI_AP_NAME "4G"// "WIFI_AP"// Hasło Wi-Fi#define WIFI_PASSWORD "nevergiveup"// "WIFI_PASSWORD"// Zobacz https://thingsboard.io/docs/getting- started-guides/helloworld/// aby zrozumieć jak uzyskać token dostępu#define TOKEN "XZjQ26r9XJcsNkWGuASY" // "TOKEN"// Instancja serwera ThingsBoard.#define THINGSBOARD_SERVER "demo.thingsboard.io"// Szybkość transmisji dla debugowania serialu #define SERIAL_DEBUG_BAUD 115200// Inicjowanie ThingsBoard clientWiFiClient espClient;// Inicjowanie ThingsBoard instanceThingsBoard tb(espClient);// status int radia Wifi = WL_IDLE_STATUS;// Okres wysyłania temperatury/wilgotności data.int send_delay = 2000;unsigned long millis_counter;void InitWiFi(){ Serial.println("Łączenie z AP…"); // próba połączenia z siecią WiFi WiFi.begin(WIFI_AP_NAME, WIFI_PASSWORD); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("Połączono z AP");}void reconnect() { // Pętla do ponownego połączenia status = WiFi.status(); if (status != WL_CONNECTED) { WiFi.begin(WIFI_AP_NAME, WIFI_PASSWORD); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("Podłączony do AP"); }}// Skonfiguruj aplikację, aby uniknąć konfiguracji setup() { // Zainicjuj serial w celu debugowania Serial.begin(SERIAL_DEBUG_BAUD); WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); InitWiFi(); // Zainicjuj czujnik temperatury dht.begin();}// Główna aplikacja loopvoid loop() { // Połącz ponownie z Wi-Fi, jeśli to konieczne if (WiFi.status() != WL_CONNECTED) { reconnect(); powrót; } // Połącz ponownie z ThingsBoard, w razie potrzeby if (!tb.connected()) { // Połącz z ThingsBoard Serial.print("Łączenie z: "); Serial.print(THINGSBOARD_SERVER); Serial.print("z tokenem"); Serial.println(TOKEN); if (!tb.connect(THINGSBOARD_SERVER, TOKEN)) { Serial.println("Nie udało się połączyć"); powrót; } } // Sprawdź, czy nadszedł czas na wysłanie temperatury i wilgotności DHT11 if(millis()-millis_counter > send_delay) { Serial.println("Wysyłanie danych…"); // Przesyła nowe dane telemetryczne do ThingsBoard za pomocą MQTT. // Zobacz https://thingsboard.io/docs/reference/mqtt-api/#telemetry-upload-api // po więcej szczegółów float h = dht.readHumidity(); // Odczytaj temperaturę w stopniach Celsjusza (domyślnie) float t = dht.readTemperature(); if (isnan(h) || isnan(t)) { Serial.println("Nie udało się odczytać z czujnika DHT!"); } else { Serial.print("Temperatura:"); Serial.print(t); Serial.print("Wilgotność"); Serial.println(h); tb.sendTelemetryFloat("temperatura", t); tb.sendTelemetryFloat("wilgotność", h); } licznik_mili = mili(); //resetuj licznik milisów } // Przetwarzanie komunikatów tb.loop();}

Krok 3: Wizualizacja danych

Wizualizacja danych
Wizualizacja danych

Na serwerze demonstracyjnym na żywo:

  • login: nazwa użytkownika live-demo (e-mail)
  • hasło: Twoje hasło demo na żywo

Zobacz stronę demo na żywo, aby uzyskać więcej informacji, jak uzyskać konto.

Przejdź do sekcji „Urządzenia” i znajdź „Magicbit”, otwórz szczegóły urządzenia i przejdź do zakładki „Najnowsza telemetria”. Jeśli wszystko jest poprawnie skonfigurowane, powinieneś być w stanie zobaczyć najnowsze wartości „temperatury” i „wilgotności”.

Następnie otwórz sekcję „Dashboards”, a następnie znajdź i otwórz „magicbit_temperature_humidity_demo_dashboard”. W rezultacie zobaczysz wykres szeregów czasowych przedstawiający temperaturę i poziom wilgotności (podobny do obrazu deski rozdzielczej we wstępie).

Zalecana: