INHOUDSOPGAWE:

ThingSpeak, ESP32 en langafstand draadlose temperatuur en humiditeit: 5 stappe
ThingSpeak, ESP32 en langafstand draadlose temperatuur en humiditeit: 5 stappe

Video: ThingSpeak, ESP32 en langafstand draadlose temperatuur en humiditeit: 5 stappe

Video: ThingSpeak, ESP32 en langafstand draadlose temperatuur en humiditeit: 5 stappe
Video: Знакомство с платой разработки Heltec LoRa CubeCell HTCC-AB01 2024, Julie
Anonim
ThingSpeak, ESP32 en langafstand draadlose temperatuur en humiditeit
ThingSpeak, ESP32 en langafstand draadlose temperatuur en humiditeit

In hierdie tutoriaal meet ons verskillende temperatuur- en humiditeitsdata met behulp van temperatuur- en humiditeitsensor. U sal ook leer hoe om hierdie data na ThingSpeak te stuur. Sodat u dit van oral vir verskillende toepassings kan ontleed

Stap 1: hardeware en sagteware word benodig

Hardeware en sagteware word benodig
Hardeware en sagteware word benodig
Hardeware en sagteware word benodig
Hardeware en sagteware word benodig

Hardeware:

  • ESP-32: Die ESP32 maak dit maklik om die Arduino IDE en die Arduino Wire Language vir IoT-toepassings te gebruik. Hierdie ESp32 IoT-module kombineer Wi-Fi, Bluetooth en Bluetooth BLE vir 'n verskeidenheid uiteenlopende toepassings. Hierdie module is volledig toegerus met 2 CPU-kerns wat individueel beheer en aangedryf kan word, en met 'n verstelbare klokfrekwensie van 80 MHz tot 240 MHz. Hierdie ESP32 IoT WiFi BLE -module met geïntegreerde USB is ontwerp om in alle ncd.io IoT -produkte te pas. Monitor sensors en bedieningsrelais, VOO's, PWM -beheerders, solenoïdes, kleppe, motors en nog baie meer vanaf enige plek ter wêreld met behulp van 'n webwerf of 'n toegewyde bediener. Ons het ons eie weergawe van die ESP32 vervaardig om in te pas by NCD IoT -toestelle, met meer uitbreidingsopsies as enige ander toestel ter wêreld! Met 'n geïntegreerde USB -poort kan u die ESP32 maklik programmeer. Die ESP32 IoT WiFi BLE -module is 'n ongelooflike platform vir die ontwikkeling van IoT -toepassings. Hierdie ESP32 IoT WiFi BLE -module kan met die Arduino IDE geprogrammeer word.
  • IoT draadlose temperatuur- en humiditeitsensor vir langafstand: industriële langafstand -draadlose temperatuurvochtigheidsensor vir langafstand. Gradeer met 'n sensorresolusie van ± 1.7%RH ± 0.5 ° C. Tot 500 000 transmissies vanaf 2 AA -batterye. Meet -40 ° C tot 125 ° C met batterye wat hierdie graderings oorleef. Superieure 2-myl LOS-reeks en 28 myl met hoë-wins antennes. Interface vir Raspberry Pi, Microsoft Azure, Arduino en meer.
  • Langafstand draadlose gaasmodem met USB-koppelvlak

Sagteware gebruik

  • Arduino IDE
  • DingPraat

Biblioteek gebruik

  • PubSubClient -biblioteek
  • Draad.h

Arduino -kliënt vir MQTT

Hierdie biblioteek bied 'n kliënt om eenvoudige boodskappe vir publiseer/inteken te doen met 'n bediener wat MQTT ondersteun

Besoek mqtt.org vir meer inligting oor MQTT.

Aflaai

Die nuutste weergawe van die biblioteek kan van GitHub afgelaai word

Dokumentasie

Die biblioteek bevat 'n aantal voorbeeldsketse. Sien File> Voorbeelde> PubSubClient binne die Arduino -toepassing. Volledige API -dokumentasie.

Versoenbare hardeware

Die biblioteek gebruik die Arduino Ethernet Client API vir interaksie met die onderliggende netwerkhardeware. Dit beteken dat dit net werk met 'n groeiende aantal borde en skilde, insluitend:

  • Arduino Ethernet
  • Arduino Ethernet -skild
  • Arduino YUN - gebruik die meegeleverde YunClient in die plek van EthernetClient, en maak eers 'n Bridge.begin () eers
  • Arduino WiFi Shield - as u pakkies groter as 90 grepe met hierdie skild wil stuur, aktiveer die opsie MQTT_MAX_TRANSFER_SIZE in PubSubClient.h.
  • SparkFun WiFly Shield - wanneer dit saam met hierdie biblioteek gebruik word
  • Intel Galileo/Edison
  • ESP8266
  • ESP32 Die biblioteek kan tans nie gebruik word met hardeware wat gebaseer is op die ENC28J60 -chip nie - soos die Nanode of die Nuelectronics Ethernet Shield. Vir diegene is daar 'n alternatiewe biblioteek beskikbaar.

Draadbiblioteek

Met die Wire -biblioteek kan u met I2C -toestelle kommunikeer, wat ook dikwels '2 -draad' of 'TWI' (tweedraad -koppelvlak) genoem word, wat van Wire.h afgelaai kan word

Basiese gebruik

  • Wire.begin () Begin met die gebruik van Wire in die hoofmodus, waar u die oordrag van data sal begin en beheer. Dit is die algemeenste gebruik wanneer dit met die meeste I2C -skyfies verbind word.
  • Wire.begin (adres) Begin met die gebruik van Wire in die slawemodus, waar u op 'adres' sal reageer wanneer ander I2C -meesterskyfies kommunikasie begin. Versend
  • Wire.beginTransmission (adres) Begin 'n nuwe oordrag na 'n toestel by 'adres'. Hoofmodus word gebruik.
  • Wire.write (data) Stuur data. In die hoofmodus moet beginTransmission eers gebel word.
  • Wire.endTransmission () In die hoofmodus beëindig dit die oordrag en veroorsaak dat alle gebufferde data gestuur word.

Ontvangs

  • Wire.requestFrom (adres, telling) Lees 'tel' grepe van 'n toestel by 'adres'. Hoofmodus word gebruik.
  • Wire.available () Wys die aantal grepe wat beskikbaar is deur ontvangs te bel.
  • Wire.read () Ontvang 1 greep.

Stap 2: Laai die kode op na ESP32 met behulp van Arduino IDE

  • Voordat u die kode oplaai, kan u die werking van hierdie sensor op 'n gegewe skakel sien.
  • Laai die PubSubClient -biblioteek en Wire.h -biblioteek af en sluit dit in.
  • U moet u API -sleutel, SSID (WiFi -naam) en wagwoord van die beskikbare netwerk toewys.
  • Stel die Temp-ThinSpeak.ino-kode op en laai dit op.
  • Maak die seriële monitor oop om die verbinding van die toestel en die gestuurde data te verifieer. As daar geen reaksie gesien word nie, probeer om u ESP32 uit te skakel en dan weer aan te sluit. Maak seker dat die baud -tempo van die seriële monitor dieselfde is as wat in u kode 115200 gespesifiseer is.

Stap 3: Seriële monitoruitvoer

Seriële monitoruitvoer
Seriële monitoruitvoer

Stap 4: Laat ThingSpeak werk

Laat ThingSpeak werk
Laat ThingSpeak werk
Laat ThingSpeak werk
Laat ThingSpeak werk
Laat ThingSpeak werk
Laat ThingSpeak werk
  • Skep die rekening op ThnigSpeak.
  • Skep 'n nuwe kanaal deur op Kanale te klik.
  • Klik op My kanale.
  • Klik op Nuwe kanaal.
  • Benoem die kanaal binne New Channel.
  • Noem die veld in die kanaal, veld is die veranderlike waarin die data gepubliseer word.
  • Stoor nou die kanaal.
  • Nou kan u u API -sleutels op die paneelbord vind. Gaan na die tik op die tuisblad en vind u 'Write Api Key', wat bygewerk moet word voordat u die kode na ESP32 kan oplaai.
  • Sodra kanaal geskep is, kan u u temperatuur- en humiditeitsdata privaat sien met die velde wat u binne die kanaal geskep het.
  • Om 'n grafiek tussen temp- en humiditeitsdata te teken, kan u MATLAB -visualisering gebruik.
  • Klik hier op die app op MATLAB -visualisering.
  • Binne kies dit Custom, hierin het ons 'n voorbeeld van die plot temperatuur en windsnelheid op twee verskillende y-as 8. Klik nou op skep.
  • MATLAB -kode word outomaties gegenereer namate u visualisering skep, maar u moet veld -ID wysig, kanaal -ID lees, en die volgende figuur kan nagaan.
  • Stoor en voer dan die kode uit.
  • U sou die plot sien.

Aanbeveel: