Sadržaj:
- Korak 1: Potrebne komponente
- Korak 2: Instaliranje potrebnih knjižnica
- Korak 3: ESP32 LoRa Thingspeak pristupnik
- Korak 4: ESP32 LoRa senzorski čvor
- Korak 5: Postavljanje Thingspeak -a
- Korak 6: Kôd pristupnika
- Korak 7: Kod čvora senzora
- Korak 8: Nadgledajte podatke na serveru Thingspeak
- Korak 9: Reference
Video: ESP32 Lora Thingspeak pristupnik s čvorom senzora: 9 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
u ovom IoT projektu dizajnirao sam ESP32 LoRa Gateway i također ESP32 LoRa senzorski čvor za bežično praćenje očitavanja senzora s udaljenosti od nekoliko kilometara. Pošiljatelj će očitati podatke o vlažnosti i temperaturi pomoću senzora DHT11. Zatim prenosi podatke putem LoRa radija. Prijemni modul prima podatke. Primatelj će nakon određenog intervala poslati podatke na Thingspeak poslužitelj.
Korak 1: Potrebne komponente
1. ESP32 ploča - 2
2. Lora modul SX1278/SX1276
3. DHT11 Senzor temperature vlage
4. Oglasna ploča
5. Spajanje žica kratkospojnika
Korak 2: Instaliranje potrebnih knjižnica
Prvo moramo instalirati različite knjižnice:
1. Knjižnica DHT11
2. Knjižnica LoRa
Korak 3: ESP32 LoRa Thingspeak pristupnik
Pogledajmo sada krug pošiljatelja i prijamnika za izgradnju ESP32 LoRa pristupnika i čvora senzora. Sastavio sam oba kruga na ploči. Možete ga napraviti na PCB -u ako želite.
Ovdje je krug pristupnika ESP32 LoRa modula SX1278. Ovaj dio radi kao prijemnik. Podaci o vlažnosti i temperaturi primaju se pomoću LoRa radija i učitavaju se na Thingspeak poslužitelj.
Korak 4: ESP32 LoRa senzorski čvor
Ovdje je krug čvora osjetnika ESP32 LoRa sa senzorom DHT11. Ovaj dio radi kao odašiljač. Podaci o vlažnosti i temperaturi očitavaju se pomoću DHT11 osjetnika temperature vlažnosti i prenose se pomoću LoRa radija.
Korak 5: Postavljanje Thingspeak -a
Kako biste pratili podatke senzora na poslužitelju Thingspeak, prvo morate postaviti Thingspeak. Za postavljanje Thingspeak poslužitelja posjetite https://thingspeak.com/. Izradite račun ili se jednostavno prijavite ako ste račun stvorili ranije. Zatim stvorite novi kanal sa sljedećim pojedinostima.
Korak 6: Kôd pristupnika
#uključi
// Knjižnice za LoRa #include #include // definirajte pinove koje koristi modul primopredajnika LoRa #define ss 5 #define rst 14 #define dio0 2 #define BAND 433E6 // 433E6 za Aziju, 866E6 za Europu, 915E6 za Sjevernu Ameriku // Zamijenite svojim mrežnim vjerodajnicama String apiKey = "14K8UL2QEK8BTHN6"; // Unesite svoj API API ključ iz ThingSpeak const char *ssid = "Wifi SSID"; // zamijenite svojim wifi ssid i wpa2 ključem const char *password = "Lozinka"; const char* server = "api.thingspeak.com"; WiFiClient klijent; // Pokretanje varijabli za dobivanje i spremanje LoRa podataka int rssi; Niz loRaMessage; Temperatura žice; Vlažnost žica; Niz čitanjaID; // Zamjenjuje rezervirano mjesto DHT vrijednostima String procesor (const String & var) {//Serial.println(var); if (var == "TEMPERATURE") {temperatura povrata; } else if (var == "HUMIDITY") {povratna vlaga; } else if (var == "RRSI") {return String (rssi); } return String (); } void setup () {Serial.begin (115200); int brojač; // postavljanje LoRa primopredajnika LoRa.setPins (ss, rst, dio0); // postavljanje LoRa primopredajnika dok (! LoRa.begin (BAND) && counter <10) {Serial.print ("."); brojač ++; odgoda (2000); } if (counter == 10) {// Povećati ID čitanja pri svakom novom čitanju Serial.println ("Pokretanje LoRa nije uspjelo!"); } Serial.println ("LoRa inicijalizacija u redu!"); odgoda (2000); // Spajanje na Wi-Fi mrežu sa SSID-om i lozinkom Serial.print ("Povezivanje na"); Serijski.println (ssid); WiFi.započni (ssid, lozinka); while (WiFi.status ()! = WL_CONNECTED) {odgoda (2000); Serial.print ("."); } // Ispis lokalne IP adrese i pokretanje web poslužitelja Serial.println (""); Serial.println ("WiFi povezan."); Serial.println ("IP adresa:"); Serial.println (WiFi.localIP ()); } // Pročitajte LoRa paket i dobijte očitanja senzora void loop () {int packetSize = LoRa.parsePacket (); if (packetSize) {Serial.print ("Lora paket primljen:"); while (LoRa.available ()) // Pročitajte paket {String LoRaData = LoRa.readString (); Serijski.ispis (LoRaData); int pos1 = LoRaData.indexOf ('/'); int pos2 = LoRaData.indexOf ('&'); čitanjeID = LoRaData.substring (0, pos1); // Dobivanje temperature očitanja ID -a = LoRaData.substring (pos1 +1, pos2); // Dobivanje temperaturne vlažnosti = LoRaData.substring (pos2+1, LoRaData.length ()); // Dobivanje vlažnosti} rssi = LoRa.packetRssi (); // Nabavite RSSI Serial.print ("sa RSSI"); Serial.println (rssi); } if (client.connect (server, 80)) // "184.106.153.149" ili api.thingspeak.com {String postStr = apiKey; postStr += "& polje1 ="; postStr += String (očitanje ID); postStr += "& polje2 ="; postStr += String (temperatura); postStr += "& polje3 ="; postStr += String (vlažnost); postStr += "& polje4 ="; postStr += String (rssi); postStr += "\ r / n / r / n / r / n / r / n"; client.print ("POST /ažuriraj HTTP /1.1 / n"); client.print ("Domaćin: api.thingspeak.com / n"); client.print ("Veza: zatvori / n"); client.print ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); client.print ("Content-Type: application/x-www-form-urlencoded / n"); client.print ("Content-Length:"); client.print (postStr.length ()); client.print ("\ n / n"); client.print (postStr); } // kašnjenje (30000); }
Korak 7: Kod čvora senzora
#uključi
#include // Knjižnice za LoRa #include "DHT.h" #define DHTPIN 4 // pin gdje je dht11 spojen DHT dht (DHTPIN, DHT11); // definiramo pinove koje koristi modul primopredajnika LoRa #define ss 5 #define rst 14 #define dio0 2 #define BAND 433E6 // 433E6 za Aziju, 866E6 za Europu, 915E6 za Sjevernu Ameriku // brojač paketa int očitanjeID = 0; int brojač = 0; String LoRaMessage = ""; temperatura plovka = 0; vlažnost plovka = 0; // Inicijalizacija LoRa modula void startLoRA () {LoRa.setPins (ss, rst, dio0); // postavljanje LoRa primopredajnika dok (! LoRa.begin (BAND) && counter <10) {Serial.print ("."); brojač ++; kašnjenje (500); } if (counter == 10) {// Povećati readID pri svakom novom očitanju readID ++; Serial.println ("Pokretanje LoRa nije uspjelo!"); } Serial.println ("LoRa inicijalizacija u redu!"); odgoda (2000); } void startDHT () {if (isnan (vlaga) || isnan (temperatura)) {Serial.println ("Očitavanje nije uspjelo s DHT senzora!"); povratak; }} void getReadings () {vlažnost = dht.readHumidity (); temperatura = dht.readTemperature (); Serial.print (F ("Vlažnost:")); Serijski.tisak (vlažnost); Serial.print (F ("% Temperatura:")); Serijski.tisak (temperatura); Serial.println (F ("° C")); } void sendReadings () {LoRaMessage = String (readingID) + "/" + String (temperatura) + "&" + String (vlažnost); // Slanje LoRa paketa primatelju LoRa.beginPacket (); LoRa.print (LoRaMessage); LoRa.endPacket (); Serial.print ("Slanje paketa:"); Serial.println (ID čitanja); čitanjeID ++; Serial.println (LoRaMessage); } void setup () {// inicijalizirati Serial Monitor Serial.begin (115200); dht.begin (); startDHT (); startLoRA (); } void loop () {getReadings (); sendReadings (); kašnjenje (500); }
Korak 8: Nadgledajte podatke na serveru Thingspeak
Nakon što se kôd učita, možete otvoriti serijski monitor na krugu pristupnika i čvora senzora. Podatke ćete slati i primati ako je kôd točan. Sada možete posjetiti Thingspeak Private View. Tamo možete vidjeti podatke za broj paketa, temperaturu, vlažnost i pristupnik koji su preneseni nakon intervala od 15 sekundi.
Korak 9: Reference
1.
2.
Preporučeni:
IOT za početnike-s čvorom Mcu: 7 koraka
IOT za početnike-s Node Mcu: Bok, ja sam Samarth u ovom vodiču, naučit ću vas kako stvoriti vlastite IOT projekte pomoću NODE MCU wifi modula i aplikacije Blynk
Vlaga tla s čvorom: 7 koraka
Vlaga tla s čvorom: U ovom priručniku pokazat ću vam kako izraditi vlastiti senzor tla za sustav vrtnog zdravlja. Pokazat ću vam što vam je potrebno, dat ću neke primjere koda i kako ih implementirati. Na kraju uputa znat ćete kako promijeniti LED traku
UCL-IIOT-alarmni sustav s bazom podataka i crvenim čvorom: 7 koraka
UCL-IIOT-Alarmni sustav s bazom podataka i Node-red: Svrha ove gradnje je poučiti o povezivanju Arduina s Node-redom i bazom podataka, tako da možete bilježiti podatke i prikupljati ih za kasniju upotrebu. Za ovu gradnju koristim jednostavan arduino alarmni sustav koji emitira 5 podatkovnih brojeva, svaki odvojen s
IOT bežični osjetnik temperature i vlažnosti na daljinu s crvenim čvorom: 27 koraka
IOT bežični osjetnik temperature i vlažnosti na daljinu IOT s Node-Red: Predstavlja NCD-ov bežični senzor temperature i vlažnosti na daljinu, koji se može pohvaliti do 28 milja koristeći bežičnu mrežnu arhitekturu. Uključujući Honeywell HIH9130 osjetnik temperature i vlažnosti odašilje vrlo točnu temperaturu i
15 $ LoRa pristupnik/čvor ESP8266 PCB za izradu 3 cm x 8 cm Veličina: 6 koraka
15 $ LoRa pristupnik/čvor ESP8266 Izrada PCB -a 3cmX8cm Veličina: Hej, što ima, dečki? Akarsh ovdje iz CETech -a. Danas ćemo napraviti projekt koji je jednostavan LoRa čvor, a možete ga čak koristiti i kao jednokanalni pristupnik. Ovdje je mikrokontroler koji sam koristio ESP8266, koji je spojen na LoRa ploče