Inhoudsopgave:

Alert-gebruikende-ThingSpeak+ESP32-Wireless-Temp- Vochtigheidssensor - Ajarnpa
Alert-gebruikende-ThingSpeak+ESP32-Wireless-Temp- Vochtigheidssensor - Ajarnpa

Video: Alert-gebruikende-ThingSpeak+ESP32-Wireless-Temp- Vochtigheidssensor - Ajarnpa

Video: Alert-gebruikende-ThingSpeak+ESP32-Wireless-Temp- Vochtigheidssensor - Ajarnpa
Video: Introduction to Heltec LoRa CubeCell Development Board HTCC-AB01 2024, November
Anonim
Waarschuwing-met-ThingSpeak+ESP32-Wireless-Temp- Vochtigheidssensor
Waarschuwing-met-ThingSpeak+ESP32-Wireless-Temp- Vochtigheidssensor

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 je op een bepaalde waarde een tijdelijke alert in je mail kunt aanmaken

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
  • IFTTT

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 Wire te gebruiken 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. Transmitting 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: UITGANG

UITGANG
UITGANG

Stap 5: Maak een IFTTT-applet

Een IFTTT-applet maken
Een IFTTT-applet maken
Een IFTTT-applet maken
Een IFTTT-applet maken
Een IFTTT-applet maken
Een IFTTT-applet maken
  • Om gegevens naar ThingSpeak te sturen, kunt u deze bekijken via deze link.
  • IFTTT is een webservice waarmee u applets kunt maken die reageren op een andere actie. U kunt de IFTTT Webhooks-service gebruiken om webverzoeken te maken om een actie te activeren. De inkomende actie is een HTTP-verzoek aan de webserver en de uitgaande actie is een e-mailbericht.
  • Maak eerst een IFTTT-account aan.
  • Maak een applet. Selecteer Mijn applets.
  • Klik op de knop Nieuwe applet.
  • Selecteer de invoeractie. Klik op het woord dit.
  • Klik op de Webhooks-service. Typ Webhooks in het zoekveld. Selecteer de webhooks.
  • Kies een trigger.
  • Vul de triggervelden in. Nadat u Webhooks als trigger hebt geselecteerd, klikt u op het vak Een webverzoek ontvangen om door te gaan. Voer een gebeurtenisnaam in.
  • Maak een trigger.
  • Nu is de trigger gemaakt, voor de resulterende actie klikt u op Dat.
  • Voer e-mail in de zoekbalk in en selecteer het vak E-mail.
  • Kies nu voor actie. Selecteer het vak Stuur mij een e-mail en voer vervolgens de berichtinformatie in.
  • Haal uw Webhooks-triggerinformatie op. Selecteer Mijn applets, services en zoek naar webhooks. Klik op de knop Webhooks en documentatie. U ziet uw sleutel en het formaat voor het verzenden van een verzoek. Voer de gebeurtenisnaam in. De gebeurtenisnaam voor dit voorbeeld is Vibration And TempData. U kunt de service testen met behulp van de testknop of door de URL in uw browser te plakken.

Stap 6: Maak een tijdcontrole om uw analyse uit te voeren

Maak een tijdcontrole om uw analyse uit te voeren
Maak een tijdcontrole om uw analyse uit te voeren
Maak een tijdcontrole om uw analyse uit te voeren
Maak een tijdcontrole om uw analyse uit te voeren
Maak een tijdcontrole om uw analyse uit te voeren
Maak een tijdcontrole om uw analyse uit te voeren

Evalueer uw ThingSpeak-kanaalgegevens en activeer andere gebeurtenissen.

  • Klik op Apps, TimeControl en klik vervolgens op Nieuwe TimeControl.
  • Bewaar je TimeControl.

Aanbevolen: