Inhoudsopgave:
Video: Verbind je Magicbit met Thingsboard: 3 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
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
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
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:
Verbind en pas uw verbonden oplossingen aan met Hologram Nova en Ubidots: 9 stappen
Verbind en pas uw verbonden oplossingen aan met Hologram Nova en Ubidots: gebruik uw Hologram Nova om uw infrastructuur achteraf aan te passen. Stel de Hologram Nova in met een Raspberry Pi om (temperatuur)gegevens naar Ubidots te sturen. In de volgende gids zal Ubidots demonstreren hoe je een Hologram Nova instelt met behulp van een Raspberry Pi en een te
Verbind uw RevPi Core + RevPi DIO met Ubidots: 8 stappen
Verbind uw RevPi Core + RevPi DIO met Ubidots: Revolution Pi is een open, modulaire en duurzame industriële pc gebaseerd op de gevestigde Raspberry Pi en voldoet aan de EN61131-2-standaard. Uitgerust met de Raspberry Pi Compute Module kan de RevPi Core Base naadloos worden uitgebreid met de juiste
Verbind uw installatie met de cloud: 10 stappen
Connect Your Plant to the Cloud: In ons kantoor staat een cactus die niet de aandacht kreeg die hij verdiende. Omdat ik bij een IT-bedrijf werk en wilde experimenteren met LoRa, serverloze oplossingen en AWS, noemde ik onze cactus Steeve en verbond hem met de cloud. U kunt nu mon
Verbind de HM-10 met Micro:bit via Bluetooth: 5 stappen
Verbind HM-10 met Micro:bit via Bluetooth: Het begon allemaal toen ik werd gevraagd om een automatisch irrigatiesysteem te maken. Om de gebruiker te informeren moest de microbit verbonden zijn met de HM-10. Er was geen andere tutorial over hoe het te doen, dus ik bestudeerde de Bluetooth-connectiviteit en maakte een voorbeeld
Monitorjurk - Verbind hartsignalen met het IoT: 18 stappen (met afbeeldingen)
Monitorjurk - Verbind hartsignalen met het IoT: de monitorjurk is een experiment in het onderzoeken van verschillende manieren om de hartactiviteit van de drager te digitaliseren en om de gegevens te verwerken. Drie elektroden in de jurk meten de elektrische signalen die door de drager lopen lijf