Sommario:
Video: Connetti il tuo Magicbit a Thingsboard: 3 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 09:59
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
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
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:
Connetti e aggiorna le tue soluzioni connesse con Hologram Nova e Ubidots: 9 passaggi
Connetti e aggiorna le tue soluzioni connesse con Hologram Nova e Ubidots: usa il tuo Hologram Nova per aggiornare l'infrastruttura. Imposta l'Hologram Nova utilizzando un Raspberry Pi per inviare i dati (temperatura) a Ubidots
Connetti alle API senza codice: 8 passaggi
Connetti alle API senza codice: questa guida è progettata per le persone che desiderano realizzare qualcosa che richiede l'utilizzo di un'API, ma non sono abbastanza sicure di come iniziare. Sai già perché essere in grado di lavorare con un'API è utile e questa guida ti mostrerà come fare
Connetti il tuo impianto al cloud: 10 passaggi
Connetti la tua pianta al cloud: nel nostro ufficio c'è un cactus che non riceveva l'attenzione che meritava. Dato che lavoro in un'azienda IT e volevo sperimentare LoRa, soluzioni serverless e AWS, ho chiamato il nostro cactus Steeve e l'ho connesso al cloud. Ora puoi moni
Connetti il tuo RevPi Core a Ubidots: 5 passaggi
Collega il tuo RevPi Core a Ubidots: Revolution Pi è un PC industriale aperto, modulare e durevole basato sul consolidato Raspberry Pi nel rispetto dello standard EN61131-2. Equipaggiato con il modulo di calcolo Raspberry Pi, la base di RevPi Core può essere espansa senza problemi utilizzando appropriati
Connetti il tuo dispositivo TVCC a Internet (DVR o NVR): 6 passaggi
Connetti il tuo dispositivo CCTV a Internet (DVR o NVR): In questo tutorial ti mostreremo come connettere il tuo DVR o NVR a Internet. Il percorso di connessione indiretto è più facile da configurare ma passa attraverso una terza parte e trasmette in streaming più lento. Il percorso diretto è un po' più complicato ma