ዝርዝር ሁኔታ:
- ደረጃ 1: ክፍሎች ያስፈልጋሉ
- ደረጃ 2 - አስፈላጊ ቤተ -ፍርግሞችን መጫን
- ደረጃ 3: ESP32 LoRa Thingspeak Gateway
- ደረጃ 4 ESP32 LoRa ዳሳሽ መስቀለኛ መንገድ
- ደረጃ 5 - የነገሮችን ንግግር ማቀናበር
- ደረጃ 6 - የጌትዌይ ኮድ
- ደረጃ 7 የአነፍናፊ መስቀለኛ ኮድ
- ደረጃ 8 በ ‹ነገሮችpeak› አገልጋይ ላይ መረጃን ይከታተሉ
- ደረጃ 9 ማጣቀሻዎች
ቪዲዮ: ESP32 ሎራ Thingspeak Gateway ከአነፍናፊ መስቀለኛ መንገድ ጋር: 9 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:30
በዚህ የ 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 Gateway & Sensor Node ን ለመገንባት ላኪውን እና ተቀባዩን ወረዳ እንይ። ሁለቱንም ወረዳዎች በዳቦ ሰሌዳ ላይ ሰብስቤአለሁ። ከፈለጉ በ PCB ላይ ማድረግ ይችላሉ።
የ ESP32 LoRa ሞዱል SX1278 ጌትዌይ ወረዳ እዚህ አለ። ይህ ክፍል እንደ ተቀባዩ ይሠራል። የእርጥበት እና የሙቀት መጠን ውሂቡ LoRa ሬዲዮን በመጠቀም ወደ ነገሮችpeak አገልጋይ ተሰቅሏል።
ደረጃ 4 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› አገልጋይ ላይ መረጃን ይከታተሉ
ኮዱ አንዴ ከተሰቀለ በሁለቱም በ Gateway & Sensor Node Circuit ላይ Serial Monitor ን መክፈት ይችላሉ። ኮዱ ትክክል ከሆነ ውሂብ ይልካሉ እና ይቀበላሉ። አሁን Thingspeak የግል እይታን መጎብኘት ይችላሉ። እዚያ ለፓኬት ቁጥር ፣ ለሙቀት ፣ ለእርጥበት እና ለጌትዌይ ከ 15 ሰከንዶች በኋላ የተሰቀለውን መረጃ ማየት ይችላሉ።
ደረጃ 9 ማጣቀሻዎች
1.
2. https://how2electronics.com/esp32-lora-sx1278-76- አስተላላፊ-ተቀባይ/
የሚመከር:
መስቀለኛ መንገድ Mcu የህንድ መኪና ማዕከላዊ መቆለፊያ ከ Rfid እና Blynk Timer መክፈቻ ጋር: 9 ደረጃዎች
የመስቀለኛ መንገድ Mcu የህንድ መኪና ማዕከላዊ መቆለፊያ ከ Rfid እና Blynk Timer Unlock ጋር ዛሬ እኔ የማሳይዎት የህንድ ዘይቤ መኪና ሙሉ በሙሉ አውቶማቲክ ማዕከላዊ መቆለፊያ በ rfid tag blynk wifi ቁጥጥር እና ጊዜ መክፈቻ ነው። እሱ እንዲሁ ሁሉም የመደበኛ ማዕከላዊ መቆለፊያ ባህሪዎች አሉት። ይህ መኪና ማዕከላዊ መቆለፊያ ከመስመር ውጭ እንቅስቃሴ ይሠራል የኔትወርክ መቆለፊያዎችን ይፈልጋል
RaspberryPi WSPR መስቀለኛ መንገድ: 7 ደረጃዎች
RaspberryPi WSPR Node: WSPRnet (ደካማ የምልክት ፕሮፓጋንዳ ሪፖርተር) በ WSPRnet ጨዋታ ውስጥ እግሮቼን እርጥብ ለማድረግ እና ምን ያህል ርቆ መብራትን ማስተላለፍ እንደምችል ማስተላለፍ ፈልጌ ነበር። አንዳንድ መሣሪያዎች በዚህ ዙሪያ ተዘርግተው ነበር ፣ እና ፈጣን ፕሮፌሰርን ለመጣል ወሰንኩ
መስቀለኛ መንገድ MCU እና የጉግል ረዳትን በመጠቀም የቤት መገልገያዎችን ይቆጣጠሩ - IOT - ብሊንክ - IFTTT: 8 ደረጃዎች
መስቀለኛ መንገድ MCU እና የጉግል ረዳትን በመጠቀም የቤት መገልገያዎችን ይቆጣጠሩ | IOT | ብሊንክ | IFTTT - የጉግል ረዳትን በመጠቀም መገልገያዎችን ለመቆጣጠር ቀላል ፕሮጀክት - ማስጠንቀቂያ ዋና የኤሌክትሪክ ኃይል አያያዝ አደገኛ ሊሆን ይችላል። በከፍተኛ ጥንቃቄ ይያዙ። ከተከፈቱ ወረዳዎች ጋር በሚሰሩበት ጊዜ ባለሙያ ኤሌክትሪክ ባለሙያ ይቅጠሩ። እኔ ለኃላፊነት አልወስድም
የአፈር አፈር መስቀለኛ መንገድ - 7 ደረጃዎች
የአፈር መጥረጊያ ከኖድ ጋር - በዚህ ማኑዋል ውስጥ ለጓሮ -ጤና ስርዓት የሆምዳድ አፈር ዳሳሽ እንዴት እንደሚሠሩ እነግርዎታለሁ። ምን እንደሚፈልጉ አሳያችኋለሁ ፣ አንዳንድ የኮድ ምሳሌዎችን እና ኮዱን እንዴት እንደሚተገብሩ። በመመሪያዎቹ መጨረሻ ላይ የመሪ ስትሪፕን እንዴት እንደሚቀይሩ ያውቃሉ
ESP8266 DS18B20 የሙቀት መስቀለኛ-መስቀለኛ-ቀይ MQTT: 5 ደረጃዎች
ESP8266 DS18B20 የሙቀት መስቀለኛ መንገድ-RED MQTT-በዚህ ጊዜ የ ESP8266 እና የመስቀለኛ-ሬድ መድረክ ውህደት አንድ ዳሳሽ DS18B20 ን የሙቀት Onewire ን ማዋሃድ ተገንዝቧል። ከኤችኤምአይ ወይም ከ SCADA የድር ፈጣሪ በመስቀለኛ-ቀይ-ዳሽቦርድ ላይ MQTT ን መሠረት በማድረግ ፕሮቶኮል እና የ pubsubclient libra