Innholdsfortegnelse:

Koble Magicbit til Thingsboard: 3 trinn
Koble Magicbit til Thingsboard: 3 trinn

Video: Koble Magicbit til Thingsboard: 3 trinn

Video: Koble Magicbit til Thingsboard: 3 trinn
Video: Start Using Wemos D1 Mini NodeMCU WiFi ESP8266 module with Arduino 2024, November
Anonim
Koble Magicbit til Thingsboard
Koble Magicbit til Thingsboard

I dette prosjektet skal vi sende data fra sensorer koblet til magicbit som vi kan vise visuelt på tavlen.

Rekvisita:

  • Magicbit
  • DHT11 temperatur- og fuktighetssensor (4 pinner)

Trinn 1: Historie

Historie
Historie
Historie
Historie
Historie
Historie
Historie
Historie

Introduksjon

ThingsBoard er en plattform med åpen kildekode på serversiden som lar deg overvåke og kontrollere IoT-enheter. Det er gratis for både personlig og kommersiell bruk, og du kan distribuere det hvor som helst. Hvis dette er din første erfaring med plattformen, anbefaler vi å gå gjennom hva-er-tingbord-siden og startveiledning.

Denne prøveprogrammet lar deg vise fuktighets-/temperaturdata fra DHT11 -sensoren ved hjelp av din magicbit -enhet og ThingsBoard web -brukergrensesnitt.

Programmet som kjører på Magicbit -enheten er skrevet med ThingsBoard Arduino SDK, som er ganske enkelt og lett å forstå.

Når du har fullført denne prøven/opplæringen, vil du se sensordataene dine på følgende dashbord.

Besøk Thingsboard Demo offisielle side og bli registrert.

Etter å ha logget deg på på venstre sidelinje vil du se Enheter. Klikk på enheter og legg til en ny enhet.

I kategorien legitimasjon merker du av for fanen Legg til legitimasjon og velger Tilgangstoken fra rullegardinboksen. Enten kan du legge til ditt eget tilgangstoken eller la det stå tomt for å automatisk generere token.

Sett enheten til magicbit i alias. Gå til dashbordfanen og importer dashbordet.

Følg trinnene nedenfor i bildene for å importere dashbordet. Finn demoen JSON -filen kalt "magicbit_temperature_humidity_demo_dashboard.json" i vedlegg.

Koble din magiske bit med DHT11 -modulen som følger til pin 33.

Last ned bibliotekene ovenfor i Arduino IDE.

Følgende er Arduino -koden du vil bruke.

Merk Du må redigere følgende konstanter og variabler i skissen:

  • WIFI_AP - navnet på tilgangspunktet ditt
  • WIFI_PASSWORD - passord for tilgangspunkt
  • TOKEN - konfigurasjonstrinnet $ ACCESS_TOKEN fra ThingsBoard.
  • THINGSBOARD_SERVER - ThingsBoard HOST/IP -adresse som er tilgjengelig i ditt wifi -nettverk. Spesifiser demo.thingsboard.io hvis du bruker live demoserver.

Trinn 2: Arduino -kode

#include // DHT for Library library#include // WiFi control for ESP32#include // ThingsBoard SDK#definere DHTPIN 33 // hvilken digital pin vi er koblet til#definere DHTTYPE DHT11 // DHT 11DHT dht (DHTPIN, DHTTYPE); // Hjelpemakro for å beregne matrisestørrelse#definere COUNT_OF (x) ((sizeof (x)/ sizeof (0 [x]))/ ((size_t) (! (Sizeof (x) % sizeof (0 [x]))))) // WiFi-tilgangspunkt#definere WIFI_AP_NAME "4G" // "WIFI_AP" // WiFi-passord#definere WIFI_PASSWORD "nevergiveup" // "WIFI_PASSWORD" // Se https://thingsboard.io/docs/getting- started-guides/helloworld /// for å forstå hvordan du får et tilgangstoken#definere TOKEN "XZjQ26r9XJcsNkWGuASY" // "TOKEN" // ThingsBoard server forekomst.#definere THINGSBOARD_SERVER "demo.thingsboard.io" // Baud rate for feilsøkingsserie #define SERIAL_DEBUG_BAUD 115200 // Initialize ThingsBoard -klientWiFiClient espClient; // Initialize ThingsBoard instanceThingsBoard tb (espClient); // Wifi -radioens statusint status = WL_IDLE_STATUS; // Periode for sending av temperatur-/fuktighetsdata.int send_delay = 2000; usignert lang millis_counter; ugyldig InitWiFi () {Serial.println ("Koble til AP …"); // forsøk på å koble til WiFi -nettverk WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); mens (WiFi.status ()! = WL_CONNECTED) {forsinkelse (500); Serial.print ("."); } Serial.println ("Koblet til AP");} ugyldig koble til igjen () {// Sløyfe til vi er koblet til igjen status = WiFi.status (); hvis (status! = WL_CONNECTED) {WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); mens (WiFi.status ()! = WL_CONNECTED) {forsinkelse (500); Serial.print ("."); } Serial.println ("Koblet til AP"); }} // Konfigurer et applikasjonsgyldig oppsett () {// Initialize serial for debugging Serial.begin (SERIAL_DEBUG_BAUD); WiFi.begynner (WIFI_AP_NAME, WIFI_PASSWORD); InitWiFi (); // Initialiser temperatursensor dht.begin ();} // Hovedapplikasjon loopvoid loop () {// Koble til WiFi igjen, om nødvendig hvis (WiFi.status ()! = WL_CONNECTED) {reconnect (); komme tilbake; } // Koble til ThingsBoard igjen, hvis nødvendig hvis (! Tb.connected ()) {// Koble til ThingsBoard Serial.print ("Koble til:"); Serial.print (THINGSBOARD_SERVER); Serial.print ("med token"); Serial.println (TOKEN); if (! tb.connect (THINGSBOARD_SERVER, TOKEN)) {Serial.println ("Klarte ikke å koble til"); komme tilbake; }} // Sjekk om det er på tide å sende DHT11 temperatur og fuktighet if (millis ()-millis_counter> send_delay) {Serial.println ("Sender data …"); // Laster opp ny telemetri til ThingsBoard ved bruk av MQTT. // Se https://thingsboard.io/docs/reference/mqtt-api/#telemetry-upload-api // for flere detaljer float h = dht.readHumidity (); // Les temperaturen som Celsius (standard) float t = dht.readTemperature (); if (isnan (h) || isnan (t)) {Serial.println ("Kunne ikke lese fra DHT -sensor!"); } annet {Serial.print ("Temperatur:"); Serial.print (t); Serial.print ("Fuktighet"); Serial.println (h); tb.sendTelemetryFloat ("temperatur", t); tb.sendTelemetryFloat ("fuktighet", h); } millis_counter = millis (); // reset millis counter} // Behandle meldinger tb.loop ();}

Trinn 3: Datavisualisering

Datavisualisering
Datavisualisering

I live-demo-server:

  • login: ditt live-demo brukernavn (e-post)
  • passord: ditt live-demo-passord

Se live-demosiden for mer informasjon om hvordan du får kontoen din.

Gå til delen "Enheter" og finn "Magicbit", åpne enhetsdetaljer og bytt til "Siste telemetri" -fanen. Hvis alt er konfigurert riktig, bør du kunne se de siste verdiene for "temperatur" og "fuktighet".

Deretter åpner du delen "Dashboards", og deretter finner og åpner du "magicbit_temperature_humidity_demo_dashboard". Som et resultat vil du se et tidsseriediagram som viser temperatur og fuktighetsnivå (ligner på dashbordbildet i innledningen).

Anbefalt: