Turinys:

„ThingSpeak“, ESP32 ir belaidžio ryšio belaidė temperatūra ir drėgmė: 5 žingsniai
„ThingSpeak“, ESP32 ir belaidžio ryšio belaidė temperatūra ir drėgmė: 5 žingsniai

Video: „ThingSpeak“, ESP32 ir belaidžio ryšio belaidė temperatūra ir drėgmė: 5 žingsniai

Video: „ThingSpeak“, ESP32 ir belaidžio ryšio belaidė temperatūra ir drėgmė: 5 žingsniai
Video: sending sensor data using Esp32's Bluetooth #esp32 2024, Liepa
Anonim
„ThingSpeak“, ESP32 ir ilgo nuotolio belaidė temperatūra ir drėgmė
„ThingSpeak“, ESP32 ir ilgo nuotolio belaidė temperatūra ir drėgmė

Šioje pamokoje mes išmatuosime skirtingus temperatūros ir drėgmės duomenis naudodami temperatūros ir drėgmės jutiklį. Taip pat sužinosite, kaip siųsti šiuos duomenis į „ThingSpeak“. Kad galėtumėte ją analizuoti iš bet kurios vietos skirtingoms programoms

1 veiksmas: reikalinga aparatinė ir programinė įranga

Reikalinga aparatinė ir programinė įranga
Reikalinga aparatinė ir programinė įranga
Reikalinga aparatinė ir programinė įranga
Reikalinga aparatinė ir programinė įranga

Techninė įranga:

  • ESP-32: ESP32 palengvina „Arduino IDE“ir „Arduino Wire Language“naudojimą daiktų interneto programoms. Šis „ESp32 IoT“modulis sujungia „Wi-Fi“, „Bluetooth“ir „Bluetooth BLE“įvairioms programoms. Šis modulis yra visiškai aprūpintas 2 procesoriaus branduoliais, kuriuos galima valdyti ir maitinti atskirai, ir reguliuojamu laikrodžio dažniu nuo 80 MHz iki 240 MHz. Šis „ESP32 IoT WiFi BLE“modulis su integruotu USB yra pritaikytas visiems „ncd.io IoT“produktams. Stebėkite jutiklius ir valdymo reles, FET, PWM valdiklius, solenoidus, vožtuvus, variklius ir daug daugiau iš bet kurios pasaulio vietos naudodami tinklalapį ar tam skirtą serverį. Mes sukūrėme savo ESP32 versiją, kad tilptų į NCD IoT įrenginius, siūlant daugiau išplėtimo galimybių nei bet kuris kitas įrenginys pasaulyje! Integruotas USB prievadas leidžia lengvai programuoti ESP32. „ESP32 IoT WiFi BLE“modulis yra neįtikėtina platforma, skirta interneto programų kūrimui. Šį „ESP32 IoT WiFi BLE“modulį galima užprogramuoti naudojant „Arduino IDE“.
  • „IoT“belaidis belaidis temperatūros ir drėgmės jutiklis: pramoninis didelio nuotolio belaidis temperatūros drėgmės jutiklis. Įvertinimas, kurio jutiklio skiriamoji geba yra ± 1,7%RH ± 0,5 ° C. Iki 500 000 transmisijų iš 2 AA baterijų. Matuoja nuo -40 ° C iki 125 ° C su baterijomis, kurios išgyvena šiuos įvertinimus. Aukštesnis 2 mylių LOS diapazonas ir 28 mylios su didelio stiprumo antenomis. Sąsaja su „Raspberry Pi“, „Microsoft Azure“, „Arduino“ir kt.
  • Didelio nuotolio belaidis tinklo modemas su USB sąsaja

Naudota programinė įranga

  • „Arduino IDE“
  • „ThingSpeak“

Naudota biblioteka

  • PubSubClient biblioteka
  • Viela.h

„Arduino“klientas MQTT

Ši biblioteka suteikia klientą paprastam pranešimų/prenumeratos pranešimų siuntimui serveryje, palaikančiame MQTT

Norėdami gauti daugiau informacijos apie MQTT, apsilankykite mqtt.org.

parsisiųsti

Naujausią bibliotekos versiją galima atsisiųsti iš „GitHub“

Dokumentacija

Bibliotekoje pateikiami keli eskizų pavyzdžiai. „Arduino“programoje žr. Failas> Pavyzdžiai> PubSubClient. Visa API dokumentacija.

Suderinama aparatinė įranga

Biblioteka naudoja „Arduino Ethernet“kliento API sąveikai su pagrindine tinklo įranga. Tai reiškia, kad jis tiesiog veikia su vis daugiau plokščių ir skydų, įskaitant:

  • „Arduino Ethernet“
  • „Arduino Ethernet“skydas
  • „Arduino YUN“- vietoj „EthernetClient“naudokite įtrauktą „YunClient“ir būtinai atlikite „Bridge.begin“)
  • „Arduino WiFi Shield“- jei norite su šiuo skydu siųsti paketus, didesnius nei 90 baitų, įjunkite „PubSubClient.h“parinktį MQTT_MAX_TRANSFER_SIZE.
  • „SparkFun WiFly Shield“- kai naudojama su šia biblioteka
  • „Intel Galileo“/„Edison“
  • ESP8266
  • Biblioteka šiuo metu negali būti naudojama su aparatūra, pagrįsta ENC28J60 lustu, pvz., „Nanode“arba „Nuelectronics Ethernet Shield“. Tiems yra alternatyvi biblioteka.

Vielos biblioteka

„Wire“biblioteka leidžia bendrauti su „I2C“įrenginiais, dažnai dar vadinamais „2 laidais“arba „TWI“(dviejų laidų sąsaja), galite atsisiųsti iš „Wire.h“

Pagrindinis naudojimas

  • Wire.begin () Pradėkite naudoti „Wire“pagrindiniame režime, kur inicijuosite ir valdysite duomenų perdavimą. Tai yra dažniausiai naudojamas sąveikaujant su dauguma I2C periferinių lustų.
  • Wire.begin (adresas) Pradėkite naudoti „Wire“vergo režimu, kur atsakysite „adresu“, kai kiti I2C valdytojų lustai pradės ryšį. Perduoda
  • Wire.beginTransmission (adresas) Pradėkite naują perdavimą į įrenginį „adresu“. Naudojamas pagrindinis režimas.
  • Wire.write (duomenys) Siųsti duomenis. Pagrindiniame režime pirmiausia reikia iškviesti „startTransmission“.
  • Wire.endTransmission () Pagrindiniu režimu perdavimas baigiamas ir visi buferiniai duomenys siunčiami.

Priėmimas

  • Wire.requestFrom (adresas, skaičius) Skaitykite „count“baitus iš įrenginio adresu „address“. Naudojamas pagrindinis režimas.
  • Wire.available () Grąžina baitų skaičių, pasiekiamą skambinant gauti.
  • Wire.read () Gaukite 1 baitą.

2 veiksmas: įkelkite kodą į ESP32 naudodami „Arduino IDE“

  • Prieš įkeliant kodą, galite peržiūrėti šio jutiklio veikimą naudodami nurodytą nuorodą.
  • Atsisiųskite ir įtraukite „PubSubClient“biblioteką ir „Wire.h“biblioteką.
  • Turite priskirti turimą tinklo API raktą, SSID („WiFi“pavadinimą) ir slaptažodį.
  • Sudarykite ir įkelkite „Temp-ThinSpeak.ino“kodą.
  • Norėdami patikrinti įrenginio ryšį ir siunčiamus duomenis, atidarykite nuoseklųjį monitorių. Jei atsakymo nematote, pabandykite atjungti ESP32 ir vėl prijungti. Įsitikinkite, kad serijinio monitoriaus duomenų perdavimo sparta yra tokia pati, kaip nurodyta jūsų kode 115200.

3 žingsnis: serijinio monitoriaus išvestis

Serijinio monitoriaus išvestis
Serijinio monitoriaus išvestis

4 žingsnis: „ThingSpeak“darbas

„ThingSpeak“darbas
„ThingSpeak“darbas
„ThingSpeak“darbas
„ThingSpeak“darbas
„ThingSpeak“darbas
„ThingSpeak“darbas
  • Sukurkite paskyrą „ThnigSpeak“.
  • Sukurkite naują kanalą, spustelėdami Kanalai.
  • Spustelėkite Mano kanalai.
  • Spustelėkite Naujas kanalas.
  • Naujo kanalo viduje pavadinkite kanalą.
  • Pavadinkite lauką kanalo viduje, laukas yra kintamasis, kuriame skelbiami duomenys.
  • Dabar išsaugokite kanalą.
  • Dabar API raktus galite rasti prietaisų skydelyje. Eikite į pagrindinio puslapio bakstelėjimą ir raskite savo „Write Api Key“, kurį reikia atnaujinti prieš įkeliant kodą į ESP32.
  • Sukūrę kanalą, galėsite peržiūrėti savo temperatūrą ir drėgmės duomenis privačiame rodinyje naudodami kanalo viduje sukurtus laukus.
  • Norėdami sudaryti grafiką tarp temperatūros ir drėgmės duomenų, galite naudoti MATLAB vizualizaciją.
  • Norėdami tai padaryti, eikite į programą, spustelėkite MATLAB vizualizacija.
  • Viduje jis pasirenka pasirinktinį, čia kaip pavyzdį pasirinkome grafiko temperatūrą ir vėjo greitį dviejose skirtingose ašyse 8. Dabar spustelėkite sukurti.
  • Kuriant vizualizaciją MATLAB kodas bus automatiškai sugeneruotas, tačiau turėsite redaguoti lauko ID, perskaityti kanalo ID, galite patikrinti šį paveikslėlį.
  • Tada išsaugokite ir paleiskite kodą.
  • Pamatytumėte siužetą.

Rekomenduojamas: