Sommario:

Connetti il tuo Magicbit a Thingsboard: 3 passaggi
Connetti il tuo Magicbit a Thingsboard: 3 passaggi

Video: Connetti il tuo Magicbit a Thingsboard: 3 passaggi

Video: Connetti il tuo Magicbit a Thingsboard: 3 passaggi
Video: Snap4City Course 2020: Section 3 part4 IOT Applications and Smart Solutions 2024, Dicembre
Anonim
Collega il tuo Magicbit a Thingsboard
Collega il tuo Magicbit a Thingsboard

In questo progetto invieremo dati da sensori collegati a magicbit che possiamo visualizzare visivamente su Thingsboard.

Forniture:

  • Magicbit
  • Sensore di temperatura e umidità DHT11 (4 pin)

Fase 1: Storia

Storia
Storia
Storia
Storia
Storia
Storia
Storia
Storia

introduzione

ThingsBoard è una piattaforma lato server open source che consente di monitorare e controllare i dispositivi IoT. È gratuito sia per uso personale che commerciale e puoi distribuirlo ovunque. Se questa è la tua prima esperienza con la piattaforma, ti consigliamo di rivedere la pagina what-is-thingsboard e la guida introduttiva.

Questa applicazione di esempio ti consentirà di visualizzare i dati di umidità/temperatura dal sensore DHT11 utilizzando il tuo dispositivo magicbit e l'interfaccia utente web di ThingsBoard.

L'applicazione in esecuzione sul dispositivo Magicbit è scritta utilizzando ThingsBoard Arduino SDK che è abbastanza semplice e facile da capire.

Una volta completato questo esempio/tutorial, vedrai i dati del tuo sensore nella seguente dashboard.

Visita la pagina ufficiale della demo di Thingsboard e registrati.

Dopo aver effettuato l'accesso nella barra laterale sinistra vedrai Dispositivi. Fare clic su dispositivi e aggiungere un nuovo dispositivo.

Nella scheda delle credenziali, seleziona la scheda Aggiungi credenziali e scegli Token di accesso dalla casella a discesa. Puoi aggiungere il tuo token di accesso o lasciare vuoto per generare automaticamente il token.

Imposta il dispositivo su magicbit in alias. Vai alla scheda dashboard e importa dashboard.

Segui i seguenti passaggi nelle immagini per importare la dashboard. Trova il file JSON demo chiamato "magicbit_temperature_humidity_demo_dashboard.json" negli allegati.

Collega il tuo bit magico con il modulo DHT11 come segue al pin 33.

Nell'IDE Arduino scarica le librerie sopra.

Quello che segue è il codice Arduino che utilizzerai.

Nota È necessario modificare le seguenti costanti e variabili nello schizzo:

  • WIFI_AP - nome del tuo punto di accesso
  • WIFI_PASSWORD - password del punto di accesso
  • TOKEN - il $ACCESS_TOKEN dal passaggio di configurazione di ThingsBoard.
  • THINGSBOARD_SERVER - Indirizzo HOST/IP di ThingsBoard accessibile all'interno della rete Wi-Fi. Specifica demo.thingsboard.io se stai utilizzando un server demo live.

Passaggio 2: codice Arduino

#include // DHT for Library library#include // Controllo WiFi per ESP32#include // ThingsBoard SDK#define DHTPIN 33 // a quale pin digitale siamo connessi#define DHTTYPE DHT11 // DHT 11DHT dht(DHTPIN, DHTTYPE);// Macro di supporto per calcolare la dimensione dell'array#define COUNT_OF(x) ((sizeof(x)/sizeof(0[x])) / ((size_t)(!(sizeof(x) % sizeof(0[x])))))// Punto di accesso WiFi#define WIFI_AP_NAME "4G"// "WIFI_AP"// Password WiFi#define WIFI_PASSWORD "nevergiveup"// "WIFI_PASSWORD"// Vedi https://thingsboard.io/docs/getting- start-guides/helloworld/// per capire come ottenere un token di accesso#define TOKEN "XZjQ26r9XJcsNkWGuASY" // "TOKEN"// Istanza server ThingsBoard.#define THINGSBOARD_SERVER "demo.thingsboard.io"// Baud rate per debug seriale #define SERIAL_DEBUG_BAUD 115200// Inizializza ThingsBoard clientWiFiClient espClient;// Inizializza ThingsBoard instanceThingsBoard tb(espClient);// statusint della radio Wifi = WL_IDLE_STATUS;// Periodo di invio di un data di temperatura/umidità.int send_delay = 2000;unsigned long millis_counter;void InitWiFi(){ Serial.println("Connessione all'AP …"); // tenta di connettersi alla rete WiFi WiFi.begin(WIFI_AP_NAME, WIFI_PASSWORD); while (WiFi.status() != WL_CONNECTED) { ritardo(500); Serial.print("."); } Serial.println("Connesso all'AP");}void reconnect() { // Ciclo finché non siamo riconnessi status = WiFi.status(); if (stato != WL_CONNECTED) { WiFi.begin(WIFI_AP_NAME, WIFI_PASSWORD); while (WiFi.status() != WL_CONNECTED) { ritardo(500); Serial.print("."); } Serial.println("Connesso all'AP"); }}// Imposta un applicationvoid setup() { // Inizializza serial per il debug Serial.begin(SERIAL_DEBUG_BAUD); WiFi.begin(WIFI_AP_NAME, WIFI_PASSWORD); InitWiFi(); // Inizializza il sensore di temperatura dht.begin();}// Applicazione principale loopvoid loop() { // Riconnettiti al WiFi, se necessario if (WiFi.status() != WL_CONNECTED) { reconnect(); Restituzione; } // Riconnettersi a ThingsBoard, se necessario if (!tb.connected()) { // Connettersi a ThingsBoard Serial.print("Connessione a: "); Serial.print(THINGSBOARD_SERVER); Serial.print("con token"); Serial.println(TOKEN); if (!tb.connect(THINGSBOARD_SERVER, TOKEN)) { Serial.println("Impossibile connettersi"); Restituzione; } } // Controlla se è il momento di inviare temperatura e umidità DHT11 if(millis()-millis_counter > send_delay) { Serial.println("Invio dati…"); // Carica nuova telemetria su ThingsBoard utilizzando MQTT. // Vedi https://thingsboard.io/docs/reference/mqtt-api/#telemetry-upload-api // per maggiori dettagli float h = dht.readHumidity(); // Legge la temperatura come Celsius (predefinita) float t = dht.readTemperature(); if (isnan(h) || isnan(t)) { Serial.println("Impossibile leggere dal sensore DHT!"); } else { Serial.print("Temperatura:"); Serial.print(t); Serial.print(" Umidità "); Serial.println(h); tb.sendTelemetryFloat("temperatura", t); tb.sendTelemetryFloat("umidità", h); } millis_counter = millis(); //reimposta contatore millis } // Elabora i messaggi tb.loop();}

Passaggio 3: visualizzazione dei dati

Visualizzazione dati
Visualizzazione dati

Nel server di dimostrazione dal vivo:

  • login: il tuo nome utente per la demo live (email)
  • password: la tua password per la demo live

Vedi la pagina della demo dal vivo per maggiori dettagli su come ottenere il tuo account.

Vai alla sezione "Dispositivi" e individua "Magicbit", apri i dettagli del dispositivo e passa alla scheda "Ultima telemetria". Se tutto è configurato correttamente dovresti essere in grado di vedere gli ultimi valori di "temperatura" e "umidità".

Successivamente, apri la sezione "Dashboard", quindi individua e apri "magicbit_temperature_humidity_demo_dashboard". Di conseguenza, vedrai un grafico delle serie temporali che mostra la temperatura e il livello di umidità (simile all'immagine del cruscotto nell'introduzione).

Consigliato: