Tartalomjegyzék:
- 1. lépés: Szükséges összetevők
- 2. lépés: A szükséges könyvtárak telepítése
- 3. lépés: ESP32 LoRa Thingspeak Gateway
- 4. lépés: ESP32 LoRa érzékelő csomópont
- 5. lépés: A Thingspeak beállítása
- 6. lépés: Átjárókód
- 7. lépés: Érzékelő csomópont kódja
- 8. lépés: Az adatok figyelése a Thingspeak szerveren
- 9. lépés: Hivatkozások
Videó: ESP32 Lora Thingspeak Gateway érzékelő csomóponttal: 9 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Ebben az IoT projektben az ESP32 LoRa Gateway -t és az ESP32 LoRa érzékelőcsomópontot is megterveztem, hogy néhány kilométeres távolságból vezeték nélkül figyeljék az érzékelő leolvasását. A küldő a DHT11 érzékelő segítségével leolvassa a páratartalom és a hőmérséklet adatait. Ezután továbbítja az adatokat a LoRa rádión keresztül. Az adatokat a vevő modul fogadja. A vevő ezután egy bizonyos idő elteltével elküldi az adatokat a Thingspeak szervernek.
1. lépés: Szükséges összetevők
1. ESP32 tábla - 2
2. Lora SX1278/SX1276 modul
3. DHT11 páratartalom hőmérséklet érzékelő
4. Kenyeretábla
5. Jumper vezetékek csatlakoztatása
2. lépés: A szükséges könyvtárak telepítése
Először különböző könyvtárakat kell telepítenünk:
1. DHT11 Könyvtár
2. LoRa Könyvtár
3. lépés: ESP32 LoRa Thingspeak Gateway
Most nézzük meg a küldő és a vevő áramkört az ESP32 LoRa átjáró és érzékelő csomópont építéséhez. Mindkét áramkört kenyérsütő táblára szereltem össze. Ha akarod, PCB -n is elkészítheted.
Itt van egy ESP32 LoRa SX1278 átjáró áramkör. Ez a rész vevőként működik. A páratartalomra és a hőmérsékletre vonatkozó adatok a LoRa rádió használatával érkeznek, és feltölthetők a Thingspeak Serverre.
4. lépés: ESP32 LoRa érzékelő csomópont
Itt egy ESP32 LoRa érzékelő csomópont áramkör DHT11 érzékelővel. Ez a rész adóként működik. A páratartalom és a hőmérséklet adatait a DHT11 páratartalom -hőmérséklet -érzékelő olvassa le, és a LoRa rádió segítségével továbbítja.
5. lépés: A Thingspeak beállítása
Ahhoz, hogy figyelhesse a szenzoradatokat a Thingspeak szerveren, először be kell állítania a Thingspeak -et. A Thingspeak szerver beállításához látogasson el a https://thingspeak.com/ oldalra. Hozzon létre egy fiókot, vagy egyszerűen jelentkezzen be, ha korábban hozta létre. Ezután hozzon létre egy új csatornát a következő részletekkel.
6. lépés: Átjárókód
#befoglalni
// Libraries for LoRa #include #include // definiálja a LoRa adó -vevő modul által használt csapokat #define ss 5 #define rst 14 #define dio0 2 #define BAND 433E6 // 433E6 Ázsia, 866E6 Európa, 915E6 Észak -Amerika // Csere hálózati hitelesítő adatokkal String apiKey = "14K8UL2QEK8BTHN6"; // Írja be írási API -kulcsát a ThingSpeak -ből const char *ssid = "Wifi SSID"; // helyettesítse a wifi -ssiddel és a wpa2 kulccsal const char *password = "Jelszó"; const char* szerver = "api.thingspeak.com"; WiFiClient kliens; // Változók inicializálása LoRa adatok beszerzésére és mentésére int rssi; String loRaMessage; String hőmérséklet; String páratartalom; Karakterlánc olvasásID; // A helyőrzőt DHT értékekkel helyettesíti String processzor (const String & var) {//Serial.println(var); if (var == "TEMPERATURE") {visszatérő hőmérséklet; } else if (var == "HUMIDITY") {visszatérő páratartalom; } else if (var == "RRSI") {return String (rssi); } return String (); } void setup () {Serial.begin (115200); int számláló; // LoRa adó -vevő modul beállítása LoRa.setPins (ss, rst, dio0); // a LoRa adó -vevő modul beállítása while (! LoRa.begin (BAND) && counter <10) {Serial.print ("."); számláló ++; késleltetés (2000); } if (számláló == 10) {// Olvasási azonosító növelése minden új olvasáskor Serial.println ("A LoRa indítása sikertelen!"); } Serial.println ("LoRa inicializálás OK!"); késleltetés (2000); // Csatlakozás Wi-Fi hálózathoz SSID-vel és jelszóval Serial.print ("Csatlakozás"); Soros.println (ssid); WiFi.begin (ssid, jelszó); while (WiFi.status ()! = WL_CONNECTED) {delay (2000); Soros.nyomtatás ("."); } // Nyomtassa ki a helyi IP -címet és indítsa el a webszervert Serial.println (""); Serial.println ("WiFi csatlakoztatva."); Serial.println ("IP -cím:"); Serial.println (WiFi.localIP ()); } // Olvassa el a LoRa csomagot, és szerezze be az érzékelő leolvasási void loop () {int packetSize = LoRa.parsePacket (); if (packetSize) {Serial.print ("Lora csomag érkezett:"); while (LoRa.available ()) // csomag olvasása {String LoRaData = LoRa.readString (); Serial.print (LoRaData); int pos1 = LoRaData.indexOf ('/'); int pos2 = LoRaData.indexOf ('&'); olvasási azonosító = LoRaData.substring (0, pos1); // Olvasás leolvasásaID hőmérséklet = LoRaData.substring (pos1 +1, pos2); // Hőmérséklet páratartalom lekérése = LoRaData.substring (pos2+1, LoRaData.length ()); // Páratartalom lekérése} rssi = LoRa.packetRssi (); // RSSI Serial.print lekérése ("RSSI -vel"); Soros.println (rssi); } if (client.connect (szerver, 80)) // "184.106.153.149" vagy api.thingspeak.com {String postStr = apiKey; postStr += "& mező1 ="; postStr += Karakterlánc (olvasási azonosító); postStr += "& field2 ="; postStr += Karakterlánc (hőmérséklet); postStr += "& field3 ="; postStr += String (páratartalom); postStr += "& field4 ="; postStr += Karakterlánc (rssi); postStr += "\ r / n / r / n / r / n / r / n"; client.print ("POST /frissítés HTTP /1.1 / n"); client.print ("Gazdagép: api.thingspeak.com / n"); client.print ("Kapcsolat: bezár / 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); } // delay (30000); }
7. lépés: Érzékelő csomópont kódja
#befoglalni
#include // Libraries for LoRa #include "DHT.h" #define DHTPIN 4 // pin, ahol a dht11 csatlakozik DHT dht (DHTPIN, DHT11); // definiálja a LoRa adó -vevő modul által használt csapokat #define ss 5 #define rst 14 #define dio0 2 #define BAND 433E6 // 433E6 Ázsia, 866E6 Európa, 915E6 Észak -Amerika // csomagszámláló int readingID = 0; int számláló = 0; Karakterlánc LoRaMessage = ""; úszóhőmérséklet = 0; úszó páratartalom = 0; // A LoRa modul inicializálása void startLoRA () {LoRa.setPins (ss, rst, dio0); // a LoRa adó -vevő modul beállítása while (! LoRa.begin (BAND) && counter <10) {Serial.print ("."); számláló ++; késleltetés (500); } if (számláló == 10) {// Olvasási azonosító növelése minden új olvasási értéknél ++; Serial.println ("A LoRa indítása sikertelen!"); } Serial.println ("LoRa inicializálás OK!"); késleltetés (2000); } void startDHT () {if (isnan (páratartalom) || isnan (hőmérséklet)) {Serial.println ("Nem sikerült leolvasni a DHT érzékelőből!"); Visszatérés; }} void getReadings () {páratartalom = dht.readHumidity (); hőmérséklet = dht.readTemperature (); Soros.nyomat (F ("Páratartalom:")); Soros.nyomtatás (páratartalom); Soros.nyomat (F ("% hőmérséklet:")); Soros.nyomtatás (hőmérséklet); Soros.println (F ("° C")); } void sendReadings () {LoRaMessage = String (olvasási azonosító) + "/" + String (hőmérséklet) + "&" + String (páratartalom); // LoRa csomag küldése a vevőnek LoRa.beginPacket (); LoRa.print (LoRaMessage); LoRa.endPacket (); Serial.print ("Csomag küldése:"); Soros.println (olvasási azonosító); olvasási azonosító ++; Serial.println (LoRaMessage); } void setup () {// inicializálja a Serial Monitor Serial.begin (115200); dht.begin (); startDHT (); startLoRA (); } void loop () {getReadings (); sendReadings (); késleltetés (500); }
8. lépés: Az adatok figyelése a Thingspeak szerveren
A kód feltöltése után megnyithatja a soros monitort mind az átjáró, mind az érzékelő csomópont áramkörén. Ha a kód helyes, akkor elküldi és fogadja az adatokat. Most meglátogathatja a Thingspeak Private View -t. Itt láthatja a csomagszám, a hőmérséklet, a páratartalom és az átjáró adatait 15 másodperc elteltével.
9. lépés: Hivatkozások
1.
2.
Ajánlott:
Plug & Play CO2 -érzékelő kijelző csomóponttal MCU/ESP8266 iskoláknak, óvodáknak vagy otthonának: 7 lépés
Plug & Play CO2 -érzékelő kijelző NodeMCU/ESP8266 -mal iskoláknak, óvodáknak vagy otthonának: Megmutatom, hogyan lehet gyorsan kiépíteni a dugót & játssza le a CO2 -érzékelőt, ahol a projekt minden eleme DuPont vezetékekkel lesz csatlakoztatva. Csak 5 pontot kell forrasztani, mert egyáltalán nem forrasztottam a projekt előtt
IOT kezdőknek-csomóponttal Mcu: 7 lépés
IOT kezdőknek-csomóponttal Mcu: Szia, Sam Sam, ebben az oktatóanyagban megtanítom, hogyan hozhat létre saját IOT-projekteket a NODE MCU wifi modul és a Blynk alkalmazás segítségével
Talajnedvesítés csomóponttal: 7 lépés
Talajnedvesítő csomóponttal: Ebben a kézikönyvben megmutatom, hogyan készítsen házi talajérzékelőt a kertészségügyi rendszerhez. Megmutatom, mire van szüksége, adok néhány példát a kódra, és hogyan kell végrehajtani a kódot. Az utasítások végén tudni fogja, hogyan kell megváltoztatni a led szalagot
UCL-IIOT-Riasztórendszer adatbázissal és piros csomóponttal: 7 lépés
UCL-IIOT-Riasztórendszer adatbázissal és csomópont-vörös: Ennek az összeállításnak az a célja, hogy megtanítsa az Arduino és a Node-red és egy adatbázis összekapcsolását, így naplózhatja az adatokat, és összegyűjtheti azokat későbbi használatra. Egy egyszerű arduino riasztórendszer, amely 5 adatszámot ad ki, mindegyiket egy
IOT nagy hatótávolságú vezeték nélküli hőmérséklet- és páratartalom-érzékelő piros csomóponttal: 27 lépés
IOT nagy hatótávolságú vezeték nélküli hőmérséklet- és páratartalom-érzékelő csomóponttal-piros: Bemutatjuk az NCD nagy hatótávolságú vezeték nélküli hőmérséklet-páratartalom-érzékelőjét, amely akár 28 mérföldes hatótávolsággal büszkélkedhet vezeték nélküli hálózattal. A Honeywell HIH9130 hőmérséklet-páratartalom érzékelő rendkívül pontos hőmérsékletet és