विषयसूची:

माइक्रोपायथन ESP32 पर आधारित लोरा गेटवे: 10 कदम (चित्रों के साथ)
माइक्रोपायथन ESP32 पर आधारित लोरा गेटवे: 10 कदम (चित्रों के साथ)

वीडियो: माइक्रोपायथन ESP32 पर आधारित लोरा गेटवे: 10 कदम (चित्रों के साथ)

वीडियो: माइक्रोपायथन ESP32 पर आधारित लोरा गेटवे: 10 कदम (चित्रों के साथ)
वीडियो: ESP32 MicroPython Tutorial with Raspberry Pi 2024, जुलाई
Anonim
लोरा गेटवे MicroPython ESP32. पर आधारित है
लोरा गेटवे MicroPython ESP32. पर आधारित है
लोरा गेटवे MicroPython ESP32. पर आधारित है
लोरा गेटवे MicroPython ESP32. पर आधारित है

लोरा हाल के वर्षों में बहुत लोकप्रिय रही है। इस तकनीक का उपयोग करने वाला वायरलेस संचार मॉड्यूल आमतौर पर सस्ता (मुक्त स्पेक्ट्रम का उपयोग करके), आकार में छोटा, ऊर्जा-कुशल और लंबी संचार दूरी है, और मुख्य रूप से IoT टर्मिनलों या होस्ट के साथ डेटा एक्सचेंज के बीच पारस्परिक संचार के लिए उपयोग किया जाता है। बाजार में कई लोरा मॉड्यूल हैं, जैसे कि RFM96W, जो SX1278 (संगत) चिप से लैस है, जो बहुत छोटा है। मैं इसे गेटवे के रूप में MakePython ESP32 के साथ उपयोग करता हूं।

इसके बाद, मैं गेटवे पर तापमान और आर्द्रता डेटा भेजने के लिए दो लोरा नोड्स का उपयोग करूंगा, और फिर इसे गेटवे के माध्यम से इंटरनेट पर अपलोड करूंगा। यहां आप सीखेंगे कि गेटवे के माध्यम से कई लोरा नोड्स के दूरस्थ डेटा को क्लाउड पर कैसे अपलोड किया जाए।

चरण 1: आपूर्ति

आपूर्ति
आपूर्ति

1*मेकपायथन ईएसपी32

MakePython ESP32 एक एकीकृत SSD1306 OLED डिस्प्ले वाला ESP32 बोर्ड है।

2*मदुइनो लोरा रेडियो

Maduino Lora Radio एक IoT (इंटरनेट ऑफ थिंग्स) समाधान है जो Atmel के Atmega328P MCU और Lora मॉड्यूल पर आधारित है। यह IoT परियोजनाओं के लिए एक वास्तविक परियोजना हो सकती है (विशेषकर लंबी दूरी की, कम बिजली का अनुप्रयोग)

2*डीएचटी11

1*मेकपायथन लोरा

चरण 2: लोरा नोड

लोरा नोड
लोरा नोड
लोरा नोड
लोरा नोड

यह मैडुइनो लोरा रेडियो की योजना है।

Arduino Lora Radio मॉड्यूल LoRa नोड के रूप में, हम इसका उपयोग गेटवे पर तापमान और आर्द्रता डेटा भेजने के लिए करते हैं।

(यह WiKi मैडुइनो लोरा रेडियो का उपयोग करने और डेटा भेजने और प्राप्त करने का तरीका बताता है)

चरण 3: नोड और सेंसर कनेक्शन

नोड और सेंसर कनेक्शन
नोड और सेंसर कनेक्शन
नोड और सेंसर कनेक्शन
नोड और सेंसर कनेक्शन

DHT11 के VCC और GND, Maduino के 3V3 और GND से जुड़े हैं, और DATA पिन, Maduino के D4 से जुड़े हैं।

नोड 0 पार्क में है, नोड 1 कंपनी के पास कार्यालय भवन में है, वे लगभग 2 किलोमीटर दूर हैं, और फिर मुझे घर पर उनका तापमान और आर्द्रता डेटा मिलता है

चरण 4: गेटवे को डेटा भेजें

TransmitterDHT11.ino डाउनलोड करें, इसे Arduino IDE पर खोलें।

नोड जोड़ते समय, तदनुसार नोड संख्या को संशोधित करें। उदाहरण के लिए, अब 2 नोड्स का उपयोग करें, प्रोग्राम को चलाने के लिए नोडनम = 0 को संशोधित करने के लिए पहला नोड, प्रोग्राम को चलाने के लिए नोडनम = 1 को संशोधित करने के लिए दूसरा नोड, और इसी तरह, आप अधिक नोड जोड़ सकते हैं।

int16_t पैकेटनम = 0; // पैकेट काउंटर, हम प्रति xmission में वृद्धि करते हैं

int16_t नोडनम = 0; // नोड संख्या को संशोधित करें

डेटा एकत्र करें और इसे प्रिंट करें

स्ट्रिंग संदेश = "#" + (स्ट्रिंग) नोडम + "आर्द्रता:" + (स्ट्रिंग) आर्द्रता + "% तापमान:" + (स्ट्रिंग) तापमान + "सी" + "संख्या:" + (स्ट्रिंग) पैकेटनम; सीरियल। प्रिंट्लन (संदेश); पैकेटनम++;

rf95_server पर संदेश भेजें

uint8_t रेडियोपैकेट [message.length()+1];

message.toCharArray(radioPacket, message.length()+1); रेडियोपैकेट [message.length()+1]= '\0'; rf95.send((uint8_t *)radioPacket, message.length()+1);

सीरियल मॉनिटर खोलें, आप एकत्रित तापमान और आर्द्रता डेटा देख सकते हैं, और इसे बाहर भेज सकते हैं।

#0 आर्द्रता:6.00% तापमान:27.00C संख्या:0

संचारण: rf95_server को भेजा जा रहा है भेजा जा रहा है… पैकेट के पूरा होने की प्रतीक्षा कर रहा है… उत्तर की प्रतीक्षा कर रहा है… कोई उत्तर नहीं, क्या आसपास कोई श्रोता है?

इसे एक तरफ रख दें, अब हमें लोरा गेटवे बनाने की जरूरत है।

चरण 5: मेकपाइथन लोरा

मेकपाइथन लोरा
मेकपाइथन लोरा
मेकपाइथन लोरा
मेकपाइथन लोरा
मेकपाइथन लोरा
मेकपाइथन लोरा

यह RFM96W मॉड्यूल और MakePython ESP32 का संगत पिन है। MakePython ESP32 के साथ कनेक्शन की सुविधा के लिए, मैंने RFM96W मॉड्यूल के साथ एक सर्किट बोर्ड बनाया। हां, इस पर दो RFM96W हैं, जो एक ही समय में डेटा भेज और प्राप्त कर सकते हैं, लेकिन अब मुझे केवल एक की आवश्यकता है।

चरण 6: लोरावन गेटवे

लोरावन गेटवे
लोरावन गेटवे

लोरावन लोरा पर आधारित एक लो-पावर वाइड-एरिया नेटवर्क है, जो एक प्रदान कर सकता है: कम बिजली की खपत, मापनीयता, सेवा की उच्च गुणवत्ता और सुरक्षित लंबी दूरी का वायरलेस नेटवर्क।

एक गेटवे बनाने के लिए MakePython Lora और ESP32 को इकट्ठा करें जो दूरस्थ डेटा प्राप्त कर सकता है और इसे इंटरनेट पर अपलोड कर सकता है।

चरण 7: कोड डाउनलोड करें

WiKi से सभी 'xxx.py' फ़ाइलें डाउनलोड करें और उन्हें ESP32 पर अपलोड करें।

LoRaDuplexCallback.py फ़ाइल खोलें, आपको कुछ समायोजन करने की आवश्यकता है ताकि आपका ESP32 नेटवर्क से जुड़ सके और सर्वर पर डेटा अपलोड कर सके।

आपके द्वारा ThingSpeak में प्राप्त API_KEY को संशोधित करें (मैं इसे बाद में प्राप्त करने का तरीका बताऊंगा)

#https://thingspeak.com/channels/1047479

API_KEY='UBHIRHVV9THUJVUI'

वाईफाई कनेक्ट करने के लिए SSID और PSW को संशोधित करें

ssid = "मेकरफैब्स"

पीएसडब्ल्यूडी = "20160704"

चरण 8: डेटा प्राप्त करें

LoRaDuplexCallback.py फ़ाइल में on_receive (लोरा, पेलोड) फ़ंक्शन ढूंढें, जहां आप ESP32 को बता सकते हैं कि डेटा प्राप्त करने के बाद क्या करना है। निम्नलिखित कोड प्राप्त तापमान और आर्द्रता डेटा को पार्स और प्रदर्शित करता है।

def on_receive (लोरा, पेलोड):

lora.blink_led() rssi = lora.packetRssi() कोशिश करें: length=len(payload)-1 myStr=str((payload[4:length]), 'utf-8') length1=myStr.find(':') myNum1=myStr[(length1+1):(length1+6)] myNum2=myStr[(length1+20):(length1+25)] प्रिंट ("*** प्राप्त संदेश ***\n{}"। format(payload)) if config_lora. IS_LORA_OLED: lora.show_packet(("{}.format(payload[4:length])), rssi) if wlan.isconnected(): Global msgCount Print('Sending to network…') नोड = इंट (str (पेलोड [5:6], 'utf-8')) अगर नोड == 0: URL = "https://api.thingspeak.com/update?api_key="+API_KEY+"&field1= "+myNum1+"&field2="+myNum2 res=urequests.get(URL) Print(res.text) elif node == 1: URL="https://api.thingspeak.com/update?api_key="+API_KEY+" &field3="+myNum1+"&field4="+myNum2 res=urequests.get(URL) Print(res.text) अपवाद को छोड़कर जैसे e: Print(e) Print("RSI के साथ {}\n"format(rssi))

नोड्स को अलग करने के लिए संख्या को देखते हुए, और URL के माध्यम से डेटा को इंटरनेट पर अपलोड करके, हम किसी भी समय विभिन्न नोड्स के दूरस्थ डेटा की निगरानी कर सकते हैं। आप अधिक नोड जोड़ सकते हैं और कोड में समान परिवर्तन कर सकते हैं।

अगर नोड == 0:

URL="https://api.thingspeak.com/update?api_key="+API_KEY+"&field1="+myNum1+"&field2="+myNum2 res=urequests.get(URL) print(res.text)

चरण 9: थिंगस्पीक IoT. का उपयोग करें

थिंगस्पीक IoT. का उपयोग करें
थिंगस्पीक IoT. का उपयोग करें
थिंगस्पीक IoT. का उपयोग करें
थिंगस्पीक IoT. का उपयोग करें
थिंगस्पीक IoT. का उपयोग करें
थिंगस्पीक IoT. का उपयोग करें

कदम:

  1. https://thingspeak.com/ में एक खाता साइन अप करें। यदि आपके पास पहले से एक है, तो सीधे साइन इन करें।
  2. नया थिंगस्पीक चैनल बनाने के लिए न्यू चैनल पर क्लिक करें।
  3. इनपुट नाम, विवरण, फ़ील्ड 1 चुनें। फिर नीचे चैनल को सहेजें।
  4. एपीआई कुंजी विकल्प पर क्लिक करें, एपीआई कुंजी की प्रतिलिपि बनाएँ, हम इसे कार्यक्रम में उपयोग करेंगे।

चरण 10: परिणाम

नतीजा
नतीजा
नतीजा
नतीजा
नतीजा
नतीजा

आप स्क्रीन पर नोड 0 और नोड 1 का डेटा देख सकते हैं, हालांकि वे 2 किलोमीटर दूर हैं।

अपने ThingSpeak खाते में लॉग इन करें और आपके द्वारा बनाए गए चैनल पर क्लिक करें, आप अपलोड किए गए तापमान और आर्द्रता डेटा देख सकते हैं।

फ़ील्ड 1 ग्राफ़ और फ़ील्ड 2 ग्राफ़ लोरा नोड 0 की आर्द्रता और तापमान डेटा हैं, और फ़ील्ड 3 ग्राफ़ और फ़ील्ड 4 ग्राफ़ लोरा नोड 1 की आर्द्रता और तापमान डेटा हैं।

सिफारिश की: