विषयसूची:
- चरण 1: आवश्यक घटक
- चरण 2: आवश्यक पुस्तकालय स्थापित करना
- चरण 3: ESP32 लोरा थिंग्सपीक गेटवे
- चरण 4: ESP32 लोरा सेंसर नोड
- चरण 5: थिंग्सपीक सेट करना
- चरण 6: गेटवे कोड
- चरण 7: सेंसर नोड कोड
- चरण 8: थिंग्सपीक सर्वर पर डेटा की निगरानी करें
- चरण 9: संदर्भ
वीडियो: सेंसर नोड के साथ ESP32 लोरा थिंग्सपीक गेटवे: 9 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:20
इस IoT प्रोजेक्ट में, मैंने ESP32 लोरा गेटवे और ESP32 लोरा सेंसर नोड को कुछ किलोमीटर की दूरी से वायरलेस तरीके से पढ़ने वाले सेंसर की निगरानी के लिए डिज़ाइन किया है। प्रेषक DHT11 सेंसर का उपयोग करके आर्द्रता और तापमान डेटा पढ़ेगा। फिर यह लोरा रेडियो के माध्यम से डेटा प्रसारित करता है। डेटा रिसीवर मॉड्यूल द्वारा प्राप्त किया जाता है। इसके बाद रिसीवर एक निश्चित अंतराल के बाद थिंग्सपीक सर्वर को डेटा भेजेगा।
चरण 1: आवश्यक घटक
1. ESP32 बोर्ड - 2
2. लोरा मॉड्यूल SX1278/SX1276
3. DHT11 आर्द्रता तापमान सेंसर
4. ब्रेडबोर्ड
5. जम्पर तारों को जोड़ना
चरण 2: आवश्यक पुस्तकालय स्थापित करना
हमें पहले विभिन्न पुस्तकालयों को स्थापित करने की आवश्यकता है:
1. DHT11 लाइब्रेरी
2. लोरा पुस्तकालय
चरण 3: ESP32 लोरा थिंग्सपीक गेटवे
अब हम ESP32 लोरा गेटवे और सेंसर नोड के निर्माण के लिए प्रेषक और रिसीवर सर्किट को देखते हैं। मैंने दोनों सर्किट को एक ब्रेडबोर्ड पर इकट्ठा किया। आप चाहें तो इसे PCB पर बना सकते हैं।
यहाँ एक ESP32 लोरा मॉड्यूल SX1278 गेटवे सर्किट है। यह भाग एक रिसीवर के रूप में काम करता है। लोरा रेडियो का उपयोग करके आर्द्रता और तापमान डेटा प्राप्त किया जाता है और थिंग्सपीक सर्वर पर अपलोड किया जाता है।
चरण 4: ESP32 लोरा सेंसर नोड
यहाँ DHT11 सेंसर के साथ ESP32 लोरा सेंसर नोड सर्किट है। यह हिस्सा ट्रांसमीटर का काम करता है। आर्द्रता और तापमान डेटा DHT11 आर्द्रता तापमान सेंसर द्वारा पढ़ा जाता है और लोरा रेडियो का उपयोग करके प्रसारित किया जाता है।
चरण 5: थिंग्सपीक सेट करना
थिंग्सपीक सर्वर पर सेंसर डेटा की निगरानी करने के लिए, आपको सबसे पहले थिंग्सपीक को सेटअप करना होगा। थिंग्सपीक सर्वर सेट करने के लिए, https://thingspeak.com/ पर जाएं। एक खाता बनाएं या यदि आपने पहले खाता बनाया है तो बस साइन इन करें। फिर निम्नलिखित विवरण के साथ एक नया चैनल बनाएं।
चरण 6: गेटवे कोड
#शामिल
// लोरा के लिए पुस्तकालय #include #include // लोरा ट्रांसीवर मॉड्यूल द्वारा उपयोग किए जाने वाले पिन को परिभाषित करें #define ss 5 #define rst 14 #define dio0 2 #define BAND 433E6 // 433E6 एशिया के लिए, 866E6 यूरोप के लिए, 915E6 उत्तरी अमेरिका के लिए // अपने नेटवर्क क्रेडेंशियल्स से बदलें स्ट्रिंग apiKey = "14K8UL2QEK8BTHN6"; // ThingSpeak const char *ssid = "Wifi SSID" से अपनी लिखें API कुंजी दर्ज करें; // अपने वाईफाई ssid और wpa2 key const char *password = "Password" से बदलें; const char* सर्वर = "api.thingspeak.com"; वाईफाई क्लाइंट क्लाइंट; // लोरा डेटा int rssi प्राप्त करने और सहेजने के लिए चर प्रारंभ करें; स्ट्रिंग लोरामैसेज; स्ट्रिंग तापमान; स्ट्रिंग आर्द्रता; स्ट्रिंग रीडिंग आईडी; // प्लेसहोल्डर को DHT मानों से बदल देता है स्ट्रिंग प्रोसेसर (कॉन्स्ट स्ट्रिंग और var) {//Serial.println (var); अगर (var == "तापमान") {वापसी तापमान; } और अगर (var == "आर्द्रता") {वापसी आर्द्रता; } और अगर (var == "RRSI") {रिटर्न स्ट्रिंग (rssi); } वापसी स्ट्रिंग (); } शून्य सेटअप () {Serial.begin(११५२००); इंट काउंटर; // सेटअप लोरा ट्रांसीवर मॉड्यूल LoRa.setPins(ss, rst, dio0); // सेटअप लोरा ट्रांसीवर मॉड्यूल जबकि (!LoRa.begin(BAND) && काउंटर <10) {Serial.print("."); काउंटर++; देरी (2000); } अगर (काउंटर == 10) {// हर नए रीडिंग सीरियल पर इंक्रीमेंट रीडिंग आईडी। } Serial.println ("लोरा इनिशियलाइज़ेशन ओके!"); देरी (2000); // एसएसआईडी और पासवर्ड सीरियल के साथ वाई-फाई नेटवर्क से कनेक्ट करें। प्रिंट ("कनेक्टिंग"); सीरियल.प्रिंट्लन (एसएसआईडी); वाईफाई.बेगिन (एसएसआईडी, पासवर्ड); जबकि (WiFi.status() != WL_CONNECTED) {देरी (2000); सीरियल.प्रिंट ("।"); } // स्थानीय आईपी पता प्रिंट करें और वेब सर्वर शुरू करें Serial.println (""); Serial.println ("वाईफाई कनेक्टेड।"); Serial.println ("आईपी पता:"); Serial.println (वाईफाई.लोकलआईपी ()); } // लोरा पैकेट पढ़ें और सेंसर रीडिंग प्राप्त करें शून्य लूप () {इंट पैकेटसाइज = लोरा.पार्सपैकेट (); अगर (पैकेटसाइज) { सीरियल.प्रिंट ("लोरा पैकेट प्राप्त हुआ:"); जबकि (लोरा.उपलब्ध ()) // पैकेट पढ़ें {स्ट्रिंग लोराडाटा = लोरा.रीडस्ट्रिंग (); सीरियल.प्रिंट (लोराडाटा); int pos1 = LoRaData.indexOf ('/'); int pos2 = LoRaData.indexOf ('&'); readID = LoRaData.substring(0, pos1); // रीडिंग आईडी तापमान प्राप्त करें = LoRaData.substring(pos1 +1, pos2); // तापमान आर्द्रता प्राप्त करें = LoRaData.substring(pos2+1, LoRaData.length ()); // नमी प्राप्त करें} rssi = LoRa.packetRssi (); // आरएसएसआई सीरियल प्राप्त करें। प्रिंट ("आरएसआई के साथ"); सीरियल.प्रिंट्लन (आरएसआई); } if (client.connect(server, 80)) // "184.106.153.149" या api.thingspeak.com { String postStr = apiKey; पोस्टस्ट्र + = "& फ़ील्ड 1 ="; पोस्टस्ट्र + = स्ट्रिंग (रीडिंग आईडी); पोस्टस्ट्र + = "& फ़ील्ड २ ="; पोस्टस्ट्र + = स्ट्रिंग (तापमान); पोस्टस्ट्र + = "& फ़ील्ड ३ ="; पोस्टस्ट्र + = स्ट्रिंग (आर्द्रता); पोस्टस्ट्र + = "& फ़ील्ड ४ ="; पोस्टस्ट्र + = स्ट्रिंग (आरएसआई); पोस्टस्ट्र + = "\r\n\r\n\r\n\r\n"; क्लाइंट.प्रिंट ("पोस्ट / अपडेट HTTP / 1.1 / n"); क्लाइंट.प्रिंट ("होस्ट: api.thingspeak.com\n"); क्लाइंट.प्रिंट ("कनेक्शन: बंद करें / n"); client.print ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); client.print ("सामग्री-प्रकार: एप्लिकेशन / x-www-form-urlencoded / n"); क्लाइंट.प्रिंट ("सामग्री-लंबाई:"); क्लाइंट.प्रिंट (postStr.length ()); क्लाइंट.प्रिंट ("\ n / n"); क्लाइंट.प्रिंट (पोस्टस्ट्र); }//देरी(३००००); }
चरण 7: सेंसर नोड कोड
#शामिल
#include // LoRa के लिए लाइब्रेरी #include "DHT.h" #define DHTPIN 4 //pin जहां dht11 जुड़ा है DHT dht(DHTPIN, DHT11); // लोरा ट्रांसीवर मॉड्यूल द्वारा उपयोग किए जाने वाले पिन को परिभाषित करें #define ss 5 #define rst 14 #define dio0 2 #define BAND 433E6 // 433E6 एशिया के लिए, यूरोप के लिए 866E6, उत्तरी अमेरिका के लिए 915E6 // पैकेट काउंटर इंट रीडिंगआईडी = 0; इंट काउंटर = 0; स्ट्रिंग लोरामैसेज = ""; फ्लोट तापमान = 0; फ्लोट आर्द्रता = 0; // लोरा मॉड्यूल शून्य startLoRA () {LoRa.setPins (ss, rst, dio0) शुरू करें; // सेटअप लोरा ट्रांसीवर मॉड्यूल जबकि (!LoRa.begin(BAND) && काउंटर <10) {Serial.print("."); काउंटर++; देरी (500); } अगर (काउंटर == 10) {// हर नए रीडिंग रीडिंग पर रीडिंग आईडी ++; Serial.println ("लोरा शुरू करना विफल!"); } Serial.println ("लोरा इनिशियलाइज़ेशन ओके!"); देरी (2000); } शून्य startDHT () { if (isnan (आर्द्रता) || isnan (तापमान)) { Serial.println ("DHT सेंसर से पढ़ने में विफल!"); वापसी; } } शून्य getReadings () {आर्द्रता = dht.readHumidity (); तापमान = dht.readTemperature (); सीरियल.प्रिंट (एफ ("आर्द्रता:")); सीरियल.प्रिंट (आर्द्रता); सीरियल.प्रिंट (एफ ("% तापमान:")); सीरियल.प्रिंट (तापमान); सीरियल.प्रिंट्लन (एफ ("डिग्री सेल्सियस")); } शून्य प्रेषण () {LoRaMessage = स्ट्रिंग (रीडिंग आईडी) + "/" + स्ट्रिंग (तापमान) + "&" + स्ट्रिंग (आर्द्रता); // लोरा पैकेट को रिसीवर को भेजें LoRa.beginPacket (); लोरा.प्रिंट (लोरामैसेज); लोरा.एंडपैकेट (); Serial.print ("पैकेट भेजना:"); Serial.println (रीडिंगआईडी); रीडिंगआईडी++; Serial.println (लोरामैसेज); } शून्य सेटअप () {// सीरियल मॉनिटर सीरियल शुरू करें। शुरू करें (115200); dht.begin (); स्टार्टडीएचटी (); स्टार्टलोरा (); } शून्य लूप () {getReadings (); भेजें रीडिंग (); देरी (500); }
चरण 8: थिंग्सपीक सर्वर पर डेटा की निगरानी करें
एक बार कोड अपलोड हो जाने के बाद, आप गेटवे और सेंसर नोड सर्किट दोनों पर सीरियल मॉनिटर खोल सकते हैं। यदि कोड सही है तो आप डेटा भेजेंगे और प्राप्त करेंगे। अब आप थिंग्सपीक प्राइवेट व्यू पर जा सकते हैं। वहां आप देख सकते हैं कि पैकेट नंबर, तापमान, आर्द्रता और गेटवे के लिए डेटा 15 सेकंड के अंतराल के बाद अपलोड किया गया है।
चरण 9: संदर्भ
1.
2.
सिफारिश की:
मुमो - लोरा गेटवे: 25 कदम (चित्रों के साथ)
मुमो - लोरा गेटवे: ### अद्यतन 10-03-2021 // नवीनतम जानकारी / अपडेट जीथब पेज पर उपलब्ध होंगे:https://github.com/MoMu-Antwerp/MuMo MuMo क्या है? MuMo के बीच एक सहयोग है उत्पाद विकास (एंटवर्प विश्वविद्यालय का एक विभाग) के तहत
माइक्रोपायथन ESP32 पर आधारित लोरा गेटवे: 10 कदम (चित्रों के साथ)
लोरा गेटवे MicroPython ESP32 पर आधारित: लोरा हाल के वर्षों में बहुत लोकप्रिय रहा है। इस तकनीक का उपयोग करने वाला वायरलेस संचार मॉड्यूल आमतौर पर सस्ता (मुक्त स्पेक्ट्रम का उपयोग करके), आकार में छोटा, ऊर्जा-कुशल और लंबी संचार दूरी है, और मुख्य रूप से आपसी संचार के लिए उपयोग किया जाता है
E32-433T लोरा मॉड्यूल ट्यूटोरियल के साथ ESP32 - लोरा अरुडिनो इंटरफेसिंग: 8 कदम
E32-433T लोरा मॉड्यूल ट्यूटोरियल के साथ ESP32 | लोरा अरुडिनो इंटरफेसिंग: अरे, क्या चल रहा है, दोस्तों! यहाँ CETech से आकर्ष। मेरा यह प्रोजेक्ट eByte से E32 LoRa मॉड्यूल को इंटरफेस कर रहा है जो Arduino IDE का उपयोग करते हुए ESP32 के साथ एक उच्च शक्ति वाला 1-वाट ट्रांसीवर मॉड्यूल है। हमने अपने पिछले ट्यूटोरियल में E32 के काम को समझा
लोरा पर घरेलू उपकरणों को नियंत्रित करें - होम ऑटोमेशन में लोरा - लोरा रिमोट कंट्रोल: 8 कदम
लोरा पर घरेलू उपकरणों को नियंत्रित करें | होम ऑटोमेशन में लोरा | लोरा रिमोट कंट्रोल: इंटरनेट की मौजूदगी के बिना लंबी दूरी (किलोमीटर) से अपने बिजली के उपकरणों को नियंत्रित और स्वचालित करें। लोरा के माध्यम से यह संभव है! अरे, क्या चल रहा है दोस्तों? यहाँ CETech से आकर्ष। इस PCB में OLED डिस्प्ले और 3 रिले भी हैं जो एक
15$ लोरा गेटवे/नोड ESP8266 पीसीबी 3cmX8cm बनाएँ आकार: 6 कदम
15$ लोरा गेटवे/नोड ESP8266 पीसीबी 3cmX8cm आकार: अरे, क्या चल रहा है, दोस्तों? आकर्ष यहाँ CETech से। आज हम एक प्रोजेक्ट बनाने जा रहे हैं जो एक साधारण लोरा नोड है और आप इसे सिंगल चैनल गेटवे के रूप में भी इस्तेमाल कर सकते हैं। यहाँ मैंने जिस माइक्रोकंट्रोलर का उपयोग किया है वह ESP8266 है, जो लोरा बोर्ड से जुड़ा है