ዝርዝር ሁኔታ:

ESP32 ሎራ Thingspeak Gateway ከአነፍናፊ መስቀለኛ መንገድ ጋር: 9 ደረጃዎች
ESP32 ሎራ Thingspeak Gateway ከአነፍናፊ መስቀለኛ መንገድ ጋር: 9 ደረጃዎች

ቪዲዮ: ESP32 ሎራ Thingspeak Gateway ከአነፍናፊ መስቀለኛ መንገድ ጋር: 9 ደረጃዎች

ቪዲዮ: ESP32 ሎራ Thingspeak Gateway ከአነፍናፊ መስቀለኛ መንገድ ጋር: 9 ደረጃዎች
ቪዲዮ: ESP32, более мощная чем любая другая Ардуино 2024, ህዳር
Anonim
ESP32 ሎራ Thingspeak Gateway ከአነፍናፊ መስቀለኛ መንገድ ጋር
ESP32 ሎራ Thingspeak Gateway ከአነፍናፊ መስቀለኛ መንገድ ጋር

በዚህ የ IoT ፕሮጀክት ውስጥ ፣ ከጥቂት ኪሎ ሜትሮች ርቆ ያለውን ገመድ አልባ ንባብ ለመቆጣጠር ESP32 LoRa Gateway & ESP32 LoRa Sensor Node ን ዲዛይን አድርጌያለሁ። ላኪው DHT11 ዳሳሽን በመጠቀም የእርጥበት እና የሙቀት መጠን መረጃን ያነባል። ከዚያ መረጃውን በሎራ ራዲዮ በኩል ያስተላልፋል። ውሂቡ በተቀባዩ ሞጁል ይቀበላል። ከዚያ ተቀባዩ ከተወሰነ ጊዜ በኋላ ውሂቡን ለ Thingspeak አገልጋይ ይልካል።

ደረጃ 1: ክፍሎች ያስፈልጋሉ

1. ESP32 ቦርድ - 2

2. ሎራ ሞዱል SX1278/SX1276

3. DHT11 የእርጥበት ሙቀት ዳሳሽ

4. የዳቦ ሰሌዳ

5. የጁምፐር ሽቦዎችን ማገናኘት

ደረጃ 2 - አስፈላጊ ቤተ -ፍርግሞችን መጫን

መጀመሪያ የተለያዩ ቤተ -መጻህፍት መጫን አለብን -

1. DHT11 ቤተመፃህፍት

2. ሎራ ቤተ -መጽሐፍት

ደረጃ 3: ESP32 LoRa Thingspeak Gateway

ESP32 LoRa Thingspeak ጌትዌይ
ESP32 LoRa Thingspeak ጌትዌይ
ESP32 LoRa Thingspeak ጌትዌይ
ESP32 LoRa Thingspeak ጌትዌይ

አሁን ESP32 LoRa Gateway & Sensor Node ን ለመገንባት ላኪውን እና ተቀባዩን ወረዳ እንይ። ሁለቱንም ወረዳዎች በዳቦ ሰሌዳ ላይ ሰብስቤአለሁ። ከፈለጉ በ PCB ላይ ማድረግ ይችላሉ።

የ ESP32 LoRa ሞዱል SX1278 ጌትዌይ ወረዳ እዚህ አለ። ይህ ክፍል እንደ ተቀባዩ ይሠራል። የእርጥበት እና የሙቀት መጠን ውሂቡ LoRa ሬዲዮን በመጠቀም ወደ ነገሮችpeak አገልጋይ ተሰቅሏል።

ደረጃ 4 ESP32 LoRa ዳሳሽ መስቀለኛ መንገድ

ESP32 LoRa ዳሳሽ መስቀለኛ መንገድ
ESP32 LoRa ዳሳሽ መስቀለኛ መንገድ
ESP32 LoRa ዳሳሽ መስቀለኛ መንገድ
ESP32 LoRa ዳሳሽ መስቀለኛ መንገድ

ከ DHT11 ዳሳሽ ጋር የ ESP32 LoRa Sensor Node Circuit እዚህ አለ። ይህ ክፍል እንደ አስተላላፊ ይሠራል። የእርጥበት እና የሙቀት መጠን መረጃ በ DHT11 የእርጥበት ሙቀት ዳሳሽ ተነብቦ LoRa ሬዲዮን በመጠቀም ይተላለፋል።

ደረጃ 5 - የነገሮችን ንግግር ማቀናበር

የነገሮችን ንግግር ማቀናበር
የነገሮችን ንግግር ማቀናበር

በ ‹Spepe› አገልጋይ ላይ የአነፍናፊ ውሂብን ለመቆጣጠር በመጀመሪያ ‹‹Spepe›› ን ማዋቀር ያስፈልግዎታል። የ ‹ነገሮችpeak› አገልጋይ ለማዋቀር https://thingspeak.com/ ን ይጎብኙ። መለያውን ቀደም ብለው ከፈጠሩ መለያ ይፍጠሩ ወይም በቀላሉ ይግቡ። ከዚያ በሚከተሉት ዝርዝሮች አዲስ ሰርጥ ይፍጠሩ።

ደረጃ 6 - የጌትዌይ ኮድ

#ያካትቱ

// ቤተመጻሕፍት ለሎራ #ያካተተ #ያካትታል/በሎራ አስተላላፊ ሞጁል የሚጠቀሙባቸውን ፒኖች ይግለጹ #define ss 5 #define rst 14 #define dio0 2 #define BAND 433E6 // 433E6 ለእስያ ፣ 866E6 ለአውሮፓ ፣ 915E6 ለሰሜን አሜሪካ // በአውታረ መረብ ምስክርነቶችዎ ይተኩ String apiKey = "14K8UL2QEK8BTHN6"; // ከ ThingSpeak const char *ssid = "Wifi SSID" የእርስዎን የጽሑፍ ኤፒአይ ቁልፍ ያስገቡ። // በ wifi ssid እና wpa2 key const char *password = “Password” ይተኩ። const char* አገልጋይ = "api.thingspeak.com"; የ WiFi ደንበኛ ደንበኛ; // LoRa ውሂብ int rssi ን ለማግኘት እና ለማዳን ተለዋዋጮችን ያስጀምሩ። ሕብረቁምፊ loRaMessage; የገመድ ሙቀት; ሕብረቁምፊ እርጥበት; የገመድ ንባብ ID; // ቦታን ያዥ በ DHT እሴቶች String processor (const String & var) {//Serial.println(var) ይተካል ፤ ከሆነ (var == "TEMPERATURE") {የመመለሻ ሙቀት; } ሌላ ከሆነ (var == "HUMIDITY") {እርጥበት መመለስ ፤ } ሌላ ከሆነ (var == "RRSI") {መመለስ ሕብረቁምፊ (rssi); } መመለስ ሕብረቁምፊ (); } ባዶነት ማዋቀር () {Serial.begin (115200); int ቆጣሪ; // ማዋቀር LoRa transceiver ሞዱል LoRa.setPins (ኤስ.ኤስ. ፣ መጀመሪያ ፣ dio0); // ማዋቀር LoRa transceiver ሞዱል ሳለ (! LoRa.begin (BAND) && counter <10) {Serial.print (".")); ቆጣሪ ++; መዘግየት (2000); } ከሆነ (ቆጣሪ == 10) {// በእያንዳንዱ አዲስ ንባብ Serial.println ላይ የመጨመር ንባብ ID (“LoRa ን ማስጀመር አልተሳካም!”) ፤ } Serial.println ("LoRa Initialization OK!"); መዘግየት (2000); // በ SSID እና የይለፍ ቃል Serial.print («ወደ መገናኘት»)) ከ Wi-Fi አውታረ መረብ ጋር ይገናኙ; Serial.println (ssid); WiFi.begin (ssid ፣ የይለፍ ቃል); ሳለ (WiFi.status ()! = WL_CONNECTED) {መዘግየት (2000); Serial.print ("."); } // የአከባቢውን አይፒ አድራሻ ያትሙ እና የድር አገልጋይ Serial.println ("") ን ያስጀምሩ; Serial.println ("WiFi ተገናኝቷል"); Serial.println ("IP አድራሻ:"); Serial.println (WiFi.localIP ()); } // LoRa ጥቅልን ያንብቡ እና የአነፍናፊ ንባቦችን ባዶነት loop () {int packetSize = LoRa.parsePacket (); ከሆነ (packetSize) {Serial.print (“ሎራ ፓኬት ደርሷል”); ሳለ (LoRa.available ()) // ጥቅሉን ያንብቡ {String LoRaData = LoRa.readString (); Serial.print (LoRaData); int pos1 = LoRaData.indexOf ('/'); int pos2 = LoRaData.indexOf ('&'); readingID = LoRaData.substring (0 ፣ pos1) ፤ // የንባብ መታወቂያ የሙቀት መጠንን ያግኙ = LoRaData.substring (pos1 +1 ፣ pos2); // የሙቀት እርጥበት ያግኙ = LoRaData.substring (pos2+1, LoRaData.length ()); // እርጥበት ያግኙ} rssi = LoRa.packetRssi (); // RSSI Serial.print ን ያግኙ (“ከ RSSI ጋር”); Serial.println (rssi); } ከሆነ (client.connect (አገልጋይ ፣ 80)) // "184.106.153.149" ወይም api.thingspeak.com {String postStr = apiKey; postStr += "& field1 ="; postStr += String (readingID); postStr += "& field2 ="; postStr += ሕብረቁምፊ (ሙቀት); postStr += "& field3 ="; postStr += ሕብረቁምፊ (እርጥበት); postStr += "& field4 ="; postStr += ሕብረቁምፊ (rssi); postStr += "\ r / n / r / n / r / n / r / n"; client.print ("POST /update HTTP /1.1 / n"); client.print ("አስተናጋጅ: api.thingspeak.com / n"); client.print ("ግንኙነት ፦ close / n"); client.print ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n")); client.print ("የይዘት-አይነት: ማመልከቻ/x-www-form-urlencoded / n"); client.print ("ይዘት-ርዝመት:"); client.print (postStr.length ()); client.print ("\ n / n"); client.print (postStr); } // መዘግየት (30000); }

ደረጃ 7 የአነፍናፊ መስቀለኛ ኮድ

#ያካትቱ

#አካትት /ቤተ -መጻህፍት ለሎአራ #DHT.h ን #ያካተተ #DHT11 4 /ሚስማር DHT11 የተገናኘበት DHT dht (DHTPIN ፣ DHT11); // በሎአራ አስተላላፊ ሞዱል #define ss 5 #define rst 14 #define dio0 2 #define BAND 433E6 // 433E6 ለእስያ ፣ 866E6 ለአውሮፓ ፣ 915E6 ለሰሜን አሜሪካ // packet counter int readingID = 0; int ቆጣሪ = 0; ሕብረቁምፊ LoRaMessage = ""; ተንሳፋፊ ሙቀት = 0; ተንሳፋፊ እርጥበት = 0; // የ LoRa ሞዱሉን ባዶ startLoRA () {LoRa.setPins (ss ፣ rst ፣ dio0) ያስጀምሩት ፤ // ማዋቀር LoRa transceiver ሞዱል ሳለ (! LoRa.begin (BAND) && counter <10) {Serial.print (".")); ቆጣሪ ++; መዘግየት (500); } ከሆነ (ቆጣሪ == 10) {// በእያንዳንዱ አዲስ የንባብ ንባብ ID ++ ላይ የንባብ መታወቂያ ጨምር ፤ Serial.println ("LoRa መጀመር አልተሳካም!"); } Serial.println ("LoRa Initialization OK!"); መዘግየት (2000); } ባዶነት startDHT () {ከሆነ (እስናን (እርጥበት) || ኢስናን (የሙቀት መጠን)) {Serial.println («ከ DHT ዳሳሽ ማንበብ አልተሳካም!») ፤ መመለስ; }} ባዶነት getReadings () {እርጥበት = dht.readHumidity (); ሙቀት = dht.readTemperature (); Serial.print (ኤፍ ("እርጥበት:")); Serial.print (እርጥበት); Serial.print (F ("% ሙቀት:")); Serial.print (ሙቀት); Serial.println (F ("° C")); } ባዶ ባዶ sendReadings () {LoRaMessage = String (readingID) + "/" + String (ሙቀት) + "&" + String (እርጥበት); // LoRa ፓኬትን ወደ ተቀባዩ LoRa.beginPacket () ይላኩ ፤ LoRa.print (LoRaMessage); LoRa.endPacket (); Serial.print ("ፓኬት መላክ:"); Serial.println (readingID); ንባብ ID ++; Serial.println (LoRaMessage); } ባዶነት ማቀናበር () {// የመጀመሪያ አስጀማሪ ሞኒተር Serial.begin (115200); dht.begin (); startDHT (); startLoRA (); } ባዶነት loop () {getReadings (); sendReadings (); መዘግየት (500); }

ደረጃ 8 በ ‹ነገሮችpeak› አገልጋይ ላይ መረጃን ይከታተሉ

በ ‹ነገሮችpeak› አገልጋይ ላይ መረጃን ይከታተሉ
በ ‹ነገሮችpeak› አገልጋይ ላይ መረጃን ይከታተሉ
በ ‹ነገሮችpeak› አገልጋይ ላይ መረጃን ይከታተሉ
በ ‹ነገሮችpeak› አገልጋይ ላይ መረጃን ይከታተሉ

ኮዱ አንዴ ከተሰቀለ በሁለቱም በ Gateway & Sensor Node Circuit ላይ Serial Monitor ን መክፈት ይችላሉ። ኮዱ ትክክል ከሆነ ውሂብ ይልካሉ እና ይቀበላሉ። አሁን Thingspeak የግል እይታን መጎብኘት ይችላሉ። እዚያ ለፓኬት ቁጥር ፣ ለሙቀት ፣ ለእርጥበት እና ለጌትዌይ ከ 15 ሰከንዶች በኋላ የተሰቀለውን መረጃ ማየት ይችላሉ።

ደረጃ 9 ማጣቀሻዎች

1.

2. https://how2electronics.com/esp32-lora-sx1278-76- አስተላላፊ-ተቀባይ/

የሚመከር: