Inhoudsopgave:

Verbind je Magicbit met Thingsboard: 3 stappen
Verbind je Magicbit met Thingsboard: 3 stappen

Video: Verbind je Magicbit met Thingsboard: 3 stappen

Video: Verbind je Magicbit met Thingsboard: 3 stappen
Video: Start Using Wemos D1 Mini NodeMCU WiFi ESP8266 module with Arduino 2024, November
Anonim
Verbind je Magicbit met Thingsboard
Verbind je Magicbit met Thingsboard

In dit project gaan we gegevens verzenden van sensoren die zijn aangesloten op magicbit, die we visueel op het dingenbord kunnen weergeven.

Benodigdheden:

  • Magicbit
  • DHT11 Temperatuur- en vochtigheidssensor (4 pinnen)

Stap 1: Verhaal

Verhaal
Verhaal
Verhaal
Verhaal
Verhaal
Verhaal
Verhaal
Verhaal

Invoering

ThingsBoard is een open-source server-side platform waarmee u IoT-apparaten kunt bewaken en besturen. Het is gratis voor zowel persoonlijk als commercieel gebruik en u kunt het overal inzetten. Als dit je eerste ervaring met het platform is, raden we je aan om de 'wat-is-dingenbord'-pagina en de handleiding 'Aan de slag' te bekijken.

Met deze voorbeeldtoepassing kunt u vochtigheids- / temperatuurgegevens van de DHT11-sensor weergeven met uw magicbit-apparaat en ThingsBoard-webgebruikersinterface.

De applicatie die op het Magicbit-apparaat draait, is geschreven met behulp van ThingsBoard Arduino SDK, wat vrij eenvoudig en gemakkelijk te begrijpen is.

Zodra u dit voorbeeld/zelfstudie hebt voltooid, ziet u uw sensorgegevens op het volgende dashboard.

Bezoek de officiële pagina van Thingsboard Demo en meld je aan.

Nadat u zich hebt aangemeld, ziet u in de linkerzijbalk Apparaten. Klik op apparaten en voeg een nieuw apparaat toe.

Vink op het tabblad Inloggegevens het tabblad Inloggegevens toevoegen aan en kies Toegangstoken in de vervolgkeuzelijst. U kunt ofwel uw eigen toegangstoken toevoegen of leeg laten om automatisch een token te genereren.

Stel het apparaat in op magicbit in alias. Ga naar het dashboard tabblad en importeer dashboard.

Volg de volgende stappen in afbeeldingen om het dashboard te importeren. Zoek het demo-JSON-bestand met de naam "magicbit_temperature_humidity_demo_dashboard.json" in bijlagen.

Sluit uw magische bit als volgt met de DHT11-module aan op pin 33.

Download in de Arduino IDE de bovenstaande bibliotheken.

Het volgende is de Arduino-code die u gaat gebruiken.

Opmerking U moet de volgende constanten en variabelen in de schets bewerken:

  • WIFI_AP - naam van uw toegangspunt
  • WIFI_PASSWORD - wachtwoord toegangspunt
  • TOKEN - de $ACCESS_TOKEN van de configuratiestap ThingsBoard.
  • THINGSBOARD_SERVER - ThingsBoard HOST/IP-adres dat toegankelijk is binnen uw wifi-netwerk. Geef demo.thingsboard.io op als u een live demo-server gebruikt.

Stap 2: Arduino-code

#include // DHT voor bibliotheekbibliotheek#include // WiFi-controle voor ESP32#include // ThingsBoard SDK#define DHTPIN 33 // met welke digitale pin we zijn verbonden#define DHTTYPE DHT11 // DHT 11DHT dht(DHTPIN, DHTTYPE);// Helpermacro om arraygrootte te berekenen#define COUNT_OF(x) ((sizeof(x)/sizeof(0[x])) / ((size_t)(!(sizeof(x) % sizeof(0[x])))))// WiFi-toegangspunt#define WIFI_AP_NAME "4G"// "WIFI_AP"// WiFi-wachtwoord#define WIFI_PASSWORD "nevergiveup"// "WIFI_PASSWORD"// Zie https://thingsboard.io/docs/getting- gestart-guides/helloworld/// om te begrijpen hoe u een toegangstoken kunt verkrijgen#define TOKEN "XZjQ26r9XJcsNkWGuASY" // "TOKEN"// ThingsBoard-serverinstantie.#define THINGSBOARD_SERVER "demo.thingsboard.io"// Baudsnelheid voor debug-serie #define SERIAL_DEBUG_BAUD 115200// Initialiseer ThingsBoard clientWiFiClient espClient;// Initialiseer ThingsBoard instanceThingsBoard tb(espClient);// de statusint status van de wifi-radio = WL_IDLE_STATUS;// Periode van verzenden van temperatuur-/vochtigheidsgegevens.int send_delay = 2000;unsigned long millis_counter;void InitWiFi(){ Serial.println("Verbinding maken met AP …"); // probeer verbinding te maken met wifi-netwerk WiFi.begin (WIFI_AP_NAME, WIFI_PASSWORD); while (WiFi.status() != WL_CONNECTED) {vertraging (500); Serieel.print("."); } Serial.println("Verbonden met AP");}void reconnect() { // Loop totdat we opnieuw verbonden zijn status = WiFi.status(); if (status!= WL_CONNECTED) { WiFi.begin(WIFI_AP_NAME, WIFI_PASSWORD); while (WiFi.status() != WL_CONNECTED) {vertraging (500); Serieel.print("."); } Serial.println("Verbonden met AP"); }}// Stel een applicationvoid setup in () { // Initialiseer serieel voor het debuggen van Serial.begin (SERIAL_DEBUG_BAUD); WiFi.begin(WIFI_AP_NAME, WIFI_PASSWORD); InitWiFi(); // Initialiseer temperatuursensor dht.begin();}// Hoofdtoepassing loopvoid loop() { // Maak opnieuw verbinding met wifi, indien nodig indien (WiFi.status() != WL_CONNECTED) { opnieuw verbinden (); opbrengst; } // Maak opnieuw verbinding met ThingsBoard, indien nodig indien (!tb.connected()) { // Maak verbinding met de ThingsBoard Serial.print ("Verbinding maken met: "); Serial.print (THINGSBOARD_SERVER); Serial.print(" met token "); Serieel.println(TOKEN); if (!tb.connect(THINGSBOARD_SERVER, TOKEN)) { Serial.println("Kan geen verbinding maken"); opbrengst; } } // Controleer of het tijd is om de DHT11-temperatuur en vochtigheid te verzenden if(millis()-millis_counter > send_delay) { Serial.println("Sending data…"); // Uploadt nieuwe telemetrie naar ThingsBoard met behulp van MQTT. // Zie https://thingsboard.io/docs/reference/mqtt-api/#telemetry-upload-api // voor meer details float h = dht.readHumidity(); // Lees temperatuur als Celsius (de standaard) float t = dht.readTemperature (); if (isnan(h) || isnan(t)) { Serial.println("Kan niet lezen van DHT-sensor!"); } else { Serial.print("Temperatuur:"); Seriële.print(t); Serial.print(" Vochtigheid "); Serieel.println(h); tb.sendTelemetryFloat("temperatuur", t); tb.sendTelemetryFloat("vochtigheid", h); } millis_counter = millis(); // reset millis-teller} // Verwerk berichten tb.loop ();}

Stap 3: Gegevensvisualisatie

Data visualisatie
Data visualisatie

In live-demo-server:

  • login: uw live-demo gebruikersnaam (e-mail)
  • wachtwoord: uw wachtwoord voor live-demo

Zie live-demo-pagina voor meer informatie over hoe u uw account kunt krijgen.

Ga naar het gedeelte "Apparaten" en zoek "Magicbit", open apparaatdetails en schakel over naar het tabblad "Nieuwste telemetrie". Als alles correct is geconfigureerd, zou u de laatste waarden van "temperatuur" en "vochtigheid" moeten kunnen zien.

Open daarna het gedeelte "Dashboards" en zoek en open "magicbit_temperature_humidity_demo_dashboard". Als gevolg hiervan ziet u een tijdreeksgrafiek met temperatuur en vochtigheidsniveau (vergelijkbaar met de dashboardafbeelding in de inleiding).

Aanbevolen: