Cuprins:
- Pasul 1: hardware și software necesare
- Pasul 2: Încărcarea codului în ESP32 folosind Arduino IDE
- Pasul 3: ieșire monitor serial
- Pasul 4: ieșire
- Pasul 5: Creați un applet IFTTT
- Pasul 6: Creați o analiză MATLAB
- Pasul 7: Creați un control de timp pentru a rula analiza
Video: ThingSpeak, IFTTT, senzor de temperatură și umiditate și foaie Google: 8 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
În acest proiect, vom măsura temperatura și umiditatea folosind senzorul de temperatură și umiditate NCD, ESP32 și ThingSpeak. De asemenea, vom trimite diferite valori ale temperaturii și umidității pe Google Sheet folosind ThingSpeak și IFTTT pentru analiza datelor senzorului
Pasul 1: hardware și software necesare
Hardware:
- ESP-32: ESP32 facilitează utilizarea Arduino IDE și Arduino Wire Language pentru aplicații IoT. Acest modul ESp32 IoT combină Wi-Fi, Bluetooth și Bluetooth BLE pentru o varietate de aplicații diverse. Acest modul este complet echipat cu 2 nuclee CPU care pot fi controlate și alimentate individual și cu o frecvență de ceas reglabilă de la 80 MHz la 240 MHz. Acest modul ESP32 IoT WiFi BLE cu USB integrat este conceput pentru a se potrivi tuturor produselor IoT ncd.io. Monitorizați senzorii și releele de control, FET-urile, controlerele PWM, solenoizii, supapele, motoarele și multe altele de oriunde din lume utilizând o pagină web sau un server dedicat. Am fabricat propria noastră versiune a ESP32 pentru a se potrivi dispozitivelor NCD IoT, oferind mai multe opțiuni de extindere decât orice alt dispozitiv din lume! Un port USB integrat permite programarea ușoară a ESP32. Modulul ESP32 IoT WiFi BLE este o platformă incredibilă pentru dezvoltarea aplicațiilor IoT. Acest modul ESP32 IoT WiFi BLE poate fi programat utilizând Arduino IDE.
- Senzor de temperatură și umiditate fără fir cu rază lungă de acțiune IoT: senzor de umiditate fără fir industrial cu rază lungă de acțiune. Grad cu o rezoluție a senzorului de ± 1,7% RH ± 0,5 ° C. Până la 500.000 de transmisii de la 2 baterii AA. Măsurează -40 ° C până la 125 ° C cu baterii care supraviețuiesc acestor evaluări. Gama LOS superioară de 2 mile și 28 de mile cu antene cu câștig ridicat. Interfață cu Raspberry Pi, Microsoft Azure, Arduino și multe altele.
- Modem wireless cu plasă lungă cu interfață USB
Software folosit
- IDE Arduino
- ThingSpeak
- IFTTT
Biblioteca folosită
- Biblioteca PubSubClient
- Sârmă.h
Client Arduino pentru MQTT
Această bibliotecă oferă un client pentru mesaje de publicare / abonare simple cu un server care acceptă MQTT. Pentru mai multe informații despre MQTT, vizitați mqtt.org.
Descarca
Cea mai recentă versiune a bibliotecii poate fi descărcată de pe GitHub
Documentație
Biblioteca vine cu o serie de schițe de exemplu. Consultați Fișier> Exemple> PubSubClient din aplicația Arduino. Documentație API completă
Hardware compatibil
Biblioteca utilizează API-ul Arduino Ethernet Client pentru interacțiunea cu hardware-ul de rețea subiacent. Aceasta înseamnă că funcționează doar cu un număr tot mai mare de scânduri și scuturi, inclusiv:
- Arduino Ethernet
- Shield Ethernet Arduino
- Arduino YUN - utilizați YunClient inclus în locul EthernetClient și asigurați-vă că faceți primul Bridge.begin () primul Arduino WiFi Shield - dacă doriți să trimiteți pachete mai mari de 90 de octeți cu acest ecran, activați opțiunea MQTT_MAX_TRANSFER_SIZE în PubSubClient.h.
- SparkFun WiFly Shield - atunci când este utilizat cu această bibliotecă
- Intel Galileo / Edison
- ESP8266
- ESP32 Biblioteca nu poate fi utilizată în prezent cu hardware bazat pe cipul ENC28J60 - cum ar fi Nanode sau Nuelectronics Ethernet Shield. Pentru aceștia, există o bibliotecă alternativă disponibilă.
Biblioteca de sârmă
Biblioteca Wire vă permite să comunicați cu dispozitivele I2C, adesea numite și „2 fire” sau „TWI” (interfață cu două fire), care pot fi descărcate de pe Wire.h
Utilizare de bază
- Wire.begin () Începeți să utilizați Wire în modul master, unde veți iniția și controla transferurile de date. Aceasta este cea mai obișnuită utilizare la interfața cu majoritatea cipurilor periferice I2C.
- Wire.begin (adresa) Începeți să utilizați Wire în modul slave, unde veți răspunde la „adresă” atunci când alte cipuri master I2C inițiază comunicarea. Transmiterea firului.beginTransmisia (adresa) Porniți o nouă transmisie către un dispozitiv la „adresă”. Este utilizat modul Master.
- Wire.write (date) Trimite date. În modul master, beginTransmission trebuie apelat mai întâi.
- Wire.endTransmission () În modul master, aceasta oprește transmisia și determină trimiterea tuturor datelor tamponate.
Primind
- Wire.requestFrom (address, count) Citiți „conta” octeți de pe un dispozitiv la „adresă”. Este utilizat modul Master.
- Wire.available () Returnează numărul de octeți disponibili apelând primire.
- Wire.read () Primiți 1 octet.
Pasul 2: Încărcarea codului în ESP32 folosind Arduino IDE
- Înainte de a încărca codul, puteți vizualiza funcționarea acestui senzor la un anumit link.
- Descărcați și includeți Biblioteca PubSubClient și Biblioteca Wire.h.
- Trebuie să atribuiți cheia API, SSID (numele WiFi) și parola rețelei disponibile.
- Compilați și încărcați codul Temp-ThinSpeak.ino.
- Pentru a verifica conectivitatea dispozitivului și datele trimise, deschideți monitorul serial. Dacă nu se vede niciun răspuns, încercați să deconectați ESP32 și apoi să îl conectați din nou. Asigurați-vă că rata de transmisie a monitorului serial este setată la aceeași specificație în codul dvs. 115200.
Pasul 3: ieșire monitor serial
Pasul 4: ieșire
Pasul 5: Creați un applet IFTTT
- Pentru a trimite date către ThingSpeak le puteți vizualiza la acest link.
- IFTTT este un serviciu web care vă permite să creați applet-uri care acționează ca răspuns la o altă acțiune. Puteți utiliza serviciul IFTTT Webhooks pentru a crea cereri web pentru a declanșa o acțiune. Acțiunea de intrare este o solicitare HTTP către serverul web, iar acțiunea de ieșire este un mesaj de e-mail.
- Mai întâi, creați un cont IFTTT.
- Creați un applet. Selectați Appletele mele.
- Faceți clic pe butonul Applet nou.
- Selectați acțiunea de introducere. Faceți clic pe cuvântul asta.
- Faceți clic pe serviciul Webhooks. Introduceți Webhooks în câmpul de căutare. Selectați Webhooks.
- Alegeți un declanșator.
- Completați câmpurile de declanșare. După ce selectați Webhooks ca declanșator, faceți clic pe caseta Receive a web request pentru a continua. Introduceți un nume de eveniment.
- Creați un declanșator.
- Acum este creat declanșatorul, pentru acțiunea rezultată, faceți clic pe Acea.
- Introduceți „Foi de calcul Google” în bara de căutare și selectați caseta „Foi de calcul Google”.
- Dacă nu v-ați conectat la Google Sheet, conectați-l mai întâi. Acum alegeți acțiunea. Selectați Adăugați un rând la o foaie de calcul.
- Apoi, completați câmpurile de acțiune.
- Aplicația dvs. ar trebui să fie creată după ce apăsați Finish.
- Recuperați informațiile de declanșare Webhooks. Selectați Aplicațiile mele, Servicii și căutați Webhooks. Faceți clic pe butonul Webhooks and Documentation. Vedeți cheia dvs. și formatul pentru trimiterea unei cereri. Introduceți numele evenimentului. Numele evenimentului pentru acest exemplu este VibrationAndTempData. Puteți testa serviciul folosind butonul de testare sau lipind adresa URL în browserul dvs.
Pasul 6: Creați o analiză MATLAB
Puteți utiliza rezultatul analizei dvs. pentru a declanșa cereri web, cum ar fi scrierea unui declanșator în IFTTT.
- Faceți clic pe Aplicații, Analiza MATLAB și selectați Nou.
- Selectați Trigger Email din IFTTT în secțiunea Exemple. Codul de mai jos este prepopulat în fereastra de analiză MATLAB.
- Denumiți analiza și modificați codul.
- Salvați analiza MATLAB.
Pasul 7: Creați un control de timp pentru a rula analiza
Evaluează-ți datele canalului ThingSpeak și declanșează alte evenimente.
- Faceți clic pe Aplicații, TimeControl, apoi pe New TimeControl.
- Salvați TimeControl.
Recomandat:
Automatizarea unei sere cu LoRa! (Partea 1) -- Senzori (temperatură, umiditate, umiditate a solului): 5 pași
Automatizarea unei sere cu LoRa! (Partea 1) || Senzori (temperatură, umiditate, umiditate a solului): În acest proiect vă voi arăta cum am automatizat o seră. Asta înseamnă că vă voi arăta cum am construit sera și cum am conectat electronica de putere și automatizare. De asemenea, vă voi arăta cum să programați o placă Arduino care utilizează L
Senzor de temperatură și umiditate alimentat cu energie solară Arduino Ca senzor Oregon de 433 MHz: 6 pași
Senzor de temperatură și umiditate alimentat cu energie solară Arduino, ca senzor Oregon de 433 MHz: acesta este construirea unui senzor de temperatură și umiditate alimentat cu energie solară. Senzorul emulează un senzor Oregon de 433 MHz și este vizibil în gateway-ul Telldus Net. Senzor de mișcare a energiei solare " din Ebay. Asigurați-vă că scrie 3.7v aluat
Punct de acces (AP) NodeMCU ESP8266 pentru server web cu senzor de temperatură DT11 și temperatură și umiditate de imprimare în browser: 5 pași
Punct de acces (AP) ESP8266 NodeMCU pentru server web cu senzor de temperatură DT11 și temperatură și umiditate de imprimare în browser: Bună băieți în majoritatea proiectelor folosim ESP8266 și în majoritatea proiectelor folosim ESP8266 ca server web, astfel încât datele să poată fi accesate pe orice dispozitiv prin Wi-Fi accesând Webserver-ul găzduit de ESP8266, dar singura problemă este că avem nevoie de un router funcțional pentru
Portofel IoT (portofel inteligent cu Firebeetle ESP32, Arduino IDE și foaie de calcul Google): 13 pași (cu imagini)
Portofel IoT (portofel inteligent cu Firebeetle ESP32, Arduino IDE și foaie de calcul Google): Premiul I în Concurs Instructables Pocket-Sized! Se schimbă peste noapte și nu știi niciodată acum mulți bani „reali” pe care îi mai ai în buzunar
Monitor de umiditate fără fir (ESP8266 + senzor de umiditate): 5 pași
Monitor de umiditate fără fir (ESP8266 + senzor de umiditate): Cumpăr pătrunjel în oală, iar cea mai mare parte a zilei, solul era uscat. Deci, decid să fac acest proiect, despre detectarea umezelii solului în oală cu pătrunjel, pentru a verifica, când am nevoie să turn sol cu apă. Cred că acest senzor (senzor capacitiv de umiditate v1.2) este bun pentru că