Inhoudsopgave:

ThingSpeak, ESP32 en lange afstand draadloze temperatuur en vochtigheid - Ajarnpa
ThingSpeak, ESP32 en lange afstand draadloze temperatuur en vochtigheid - Ajarnpa

Video: ThingSpeak, ESP32 en lange afstand draadloze temperatuur en vochtigheid - Ajarnpa

Video: ThingSpeak, ESP32 en lange afstand draadloze temperatuur en vochtigheid - Ajarnpa
Video: Connect to ThingSpeak (ESP32 + Arduino series) 2024, November
Anonim
ThingSpeak, ESP32 en lange afstand draadloze temperatuur en vochtigheid
ThingSpeak, ESP32 en lange afstand draadloze temperatuur en vochtigheid

In deze zelfstudie meten we verschillende temperatuur- en vochtigheidsgegevens met behulp van de temperatuur- en vochtigheidssensor. U leert ook hoe u deze gegevens naar ThingSpeak kunt sturen. Zodat u het overal kunt analyseren voor verschillende toepassingen

Stap 1: Vereiste hardware en software

Vereiste hardware en software
Vereiste hardware en software
Vereiste hardware en software
Vereiste hardware en software

Hardware:

  • ESP-32: De ESP32 maakt het gemakkelijk om de Arduino IDE en de Arduino Wire Language te gebruiken voor IoT-toepassingen. Deze ESP32 IoT-module combineert Wi-Fi, Bluetooth en Bluetooth BLE voor een groot aantal uiteenlopende toepassingen. Deze module is volledig uitgerust met 2 CPU-cores die afzonderlijk kunnen worden aangestuurd en gevoed, en met een instelbare klokfrequentie van 80 MHz tot 240 MHz. Deze ESP32 IoT WiFi BLE-module met geïntegreerde USB is ontworpen om in alle ncd.io IoT-producten te passen. Bewaak sensoren en stuurrelais, FET's, PWM-controllers, elektromagneten, kleppen, motoren en nog veel meer van overal ter wereld met behulp van een webpagina of een dedicated server. We hebben onze eigen versie van de ESP32 gefabriceerd om in NCD IoT-apparaten te passen en bieden meer uitbreidingsmogelijkheden dan enig ander apparaat ter wereld! Een geïntegreerde USB-poort maakt een eenvoudige programmering van de ESP32 mogelijk. De ESP32 IoT WiFi BLE-module is een ongelooflijk platform voor de ontwikkeling van IoT-toepassingen. Deze ESP32 IoT WiFi BLE-module kan worden geprogrammeerd met behulp van de Arduino IDE.
  • IoT lange afstand draadloze temperatuur- en vochtigheidssensor: industriële lange afstand draadloze temperatuurvochtigheidssensor. Helling met een sensorresolutie van ±1,7%RH ±0,5°C. Tot 500.000 transmissies van 2 AA-batterijen. Meet -40 ° C tot 125 ° C met batterijen die deze classificaties overleven. Superieur LOS-bereik van 2 mijl en 45 mijl met high-gain antennes. Interface voor Raspberry Pi, Microsoft Azure, Arduino en meer.
  • Langeafstands draadloos mesh-modem met USB-interface

Gebruikte software

  • Arduino IDE
  • ThingSpeak

Bibliotheek gebruikt

  • PubSubClient-bibliotheek
  • Draad.h

Arduino Client voor MQTT

Deze bibliotheek biedt een client voor het doen van eenvoudige berichten voor publiceren/abonneren met een server die MQTT ondersteunt

Ga voor meer informatie over MQTT naar mqtt.org.

Downloaden

De nieuwste versie van de bibliotheek kan worden gedownload van GitHub

Documentatie

De bibliotheek wordt geleverd met een aantal voorbeeldschetsen. Zie Bestand > Voorbeelden > PubSubClient in de Arduino-toepassing. Volledige API-documentatie.

Compatibele hardware

De bibliotheek gebruikt de Arduino Ethernet Client API voor interactie met de onderliggende netwerkhardware. Dit betekent dat het gewoon werkt met een groeiend aantal boards en schilden, waaronder:

  • Arduino Ethernet
  • Arduino Ethernet-schild
  • Arduino YUN – gebruik de meegeleverde YunClient in plaats van EthernetClient, en zorg ervoor dat u eerst een Bridge.begin() doet
  • Arduino WiFi Shield - als u pakketten van meer dan 90 bytes met dit schild wilt verzenden, schakelt u de optie MQTT_MAX_TRANSFER_SIZE in PubSubClient.h in.
  • SparkFun WiFly Shield – bij gebruik met deze bibliotheek
  • Intel Galileo/Edison
  • ESP8266
  • ESP32De bibliotheek kan momenteel niet worden gebruikt met hardware op basis van de ENC28J60-chip, zoals de Nanode of het Nuelectronics Ethernet Shield. Voor hen is er een alternatieve bibliotheek beschikbaar.

Draadbibliotheek

Met de Wire-bibliotheek kunt u communiceren met I2C-apparaten, vaak ook "2 wire" of "TWI" (Two Wire Interface) genoemd, die u kunt downloaden van Wire.h

Basisgebruik

  • Wire.begin()Begin met het gebruik van Wire in de mastermodus, waar u gegevensoverdrachten initieert en controleert. Dit is het meest voorkomende gebruik bij interfaces met de meeste I2C-randapparatuurchips.
  • Wire.begin(address)Begin met het gebruik van Wire in slave-modus, waar u op "adres" reageert wanneer andere I2C-masterchips de communicatie starten. zenden
  • Wire.beginTransmission(address)Start een nieuwe verzending naar een apparaat op "adres". Master-modus wordt gebruikt.
  • Wire.write(data)Gegevens verzenden. In de mastermodus moet beginTransmission eerst worden aangeroepen.
  • Wire.endTransmission()In de mastermodus beëindigt dit de verzending en worden alle gebufferde gegevens verzonden.

ontvangen

  • Wire.requestFrom(address, count)Lees "count" bytes van een apparaat op "address". Master-modus wordt gebruikt.
  • Wire.available()Retourneert het aantal beschikbare bytes door ontvangen aan te roepen.
  • Wire.read()Ontvang 1 byte.

Stap 2: De code uploaden naar ESP32 met behulp van Arduino IDE

  • Voordat u de code uploadt, kunt u via een bepaalde link de werking van deze sensor bekijken.
  • Download en voeg de PubSubClient-bibliotheek en de Wire.h-bibliotheek toe.
  • U moet uw API-sleutel, SSID (WiFi-naam) en wachtwoord van het beschikbare netwerk toewijzen.
  • Compileer en upload de Temp-ThinSpeak.ino-code.
  • Open de seriële monitor om de connectiviteit van het apparaat en de verzonden gegevens te controleren. Als er geen reactie wordt gezien, probeert u uw ESP32 los te koppelen en vervolgens weer aan te sluiten. Zorg ervoor dat de baudrate van de seriële monitor is ingesteld op dezelfde als gespecificeerd in uw code 115200.

Stap 3: Seriële monitoruitgang

Seriële monitoruitgang
Seriële monitoruitgang

Stap 4: ThingSpeak laten werken

ThingSpeak laten werken
ThingSpeak laten werken
ThingSpeak laten werken
ThingSpeak laten werken
ThingSpeak laten werken
ThingSpeak laten werken
  • Maak het account aan op ThnigSpeak.
  • Maak een nieuw kanaal aan door op Kanalen te klikken.
  • Klik op Mijn kanalen.
  • Klik op Nieuw kanaal.
  • Geef het kanaal een naam in Nieuw kanaal.
  • Geef het veld een naam binnen het kanaal. Veld is de variabele waarin de gegevens worden gepubliceerd.
  • Sla nu het kanaal op.
  • Nu kunt u uw API-sleutels vinden op het dashboard. Ga naar de tap op de startpagina en zoek uw 'Write Api Key' die moet worden bijgewerkt voordat u de code uploadt naar ESP32.
  • Nadat het kanaal is gemaakt, kunt u uw temperatuur- en vochtigheidsgegevens in privéweergave bekijken met velden die u in het kanaal hebt gemaakt.
  • Om een grafiek te plotten tussen Temp- en Vochtigheidsgegevens, kunt u MATLAB-visualisatie gebruiken.
  • Ga hiervoor naar App, klik op MATLAB Visualization.
  • Binnenin selecteert het Custom, hierin hebben we als voorbeeld de plottemperatuur en windsnelheid op twee verschillende y-assen 8 geselecteerd. Klik nu op maken.
  • MATLAB-code wordt automatisch gegenereerd terwijl u visualisatie maakt, maar u moet de veld-ID bewerken, kanaal-ID lezen, en de volgende afbeelding controleren.
  • Sla de code vervolgens op en voer deze uit.
  • Je zou de plot zien.

Aanbevolen: