विषयसूची:

सरल अरुडिनो लोरा संचार (5 किमी से अधिक): 9 कदम
सरल अरुडिनो लोरा संचार (5 किमी से अधिक): 9 कदम

वीडियो: सरल अरुडिनो लोरा संचार (5 किमी से अधिक): 9 कदम

वीडियो: सरल अरुडिनो लोरा संचार (5 किमी से अधिक): 9 कदम
वीडियो: #Viral #Pune #Mumbai #Chandigarh दोस्त से मिलने गई लड़की से 12 लोगों ने 48 घन्टे तक किया 2024, जुलाई
Anonim
सरल Arduino LoRa संचार (5 किमी से अधिक)
सरल Arduino LoRa संचार (5 किमी से अधिक)

हम अपनी लाइब्रेरी के साथ E32-TTL-100 का परीक्षण करने जा रहे हैं। यह एक वायरलेस ट्रांसीवर मॉड्यूल है, जो SEMTECH से मूल RFIC SX1278 पर आधारित 410 441 MHz (या 868MHz या 915MHz) पर संचालित होता है, पारदर्शी ट्रांसमिशन उपलब्ध है, TTL स्तर। मॉड्यूल LORA स्प्रेड स्पेक्ट्रम तकनीक को अपनाता है।

आपूर्ति

  • अरुडिनो यूएनओ
  • लोरा e32 डिवाइस

ऐच्छिक

  • Mischianti Arduino LoRa शील्ड (ओपन सोर्स)
  • Mischianti WeMos LoRa शील्ड (ओपन सोर्स)

चरण 1: उपकरण चश्मा

मॉड्यूल में FEC फॉरवर्ड एरर करेक्शन एल्गोरिथम है, जो इसकी उच्च कोडिंग दक्षता और अच्छा सुधार प्रदर्शन सुनिश्चित करता है। अचानक हस्तक्षेप के मामले में, यह हस्तक्षेप किए गए डेटा पैकेट को स्वचालित रूप से सही कर सकता है, ताकि विश्वसनीयता और ट्रांसमिशन रेंज में सुधार हो सके। लेकिन FEC के बिना, वे दा ते पैकेट केवल गिराए जा सकते हैं। और कठोर एन्क्रिप्शन और डिक्रिप्शन के साथ, डेटा इंटरसेप्शन व्यर्थ हो जाता है। विश्वसनीयता और संचरण दक्षता में सुधार करते हुए डेटा संपीड़न का कार्य संचरण समय और हस्तक्षेप होने की संभावना को कम कर सकता है।

  • मॉड्यूल का आकार: 21 * 36 मिमी
  • एंटीना प्रकार: एसएमए-के (50Ω प्रतिबाधा)
  • ट्रांसमिशन दूरी: 3000 मीटर (अधिकतम)
  • अधिकतम शक्ति: 2dB (100mW)
  • हवा की दरें: २.४ केबीपीएस (६ वैकल्पिक स्तर (०.३, १.२, २.४, ४.८, ९.६, १९.२ केबीपीएस)
  • उत्सर्जन की लंबाई: 512ByteReceive
  • लंबाई: 512बाइट
  • संचार इंटरफ़ेस: UART - 8N1, 8E1, 8O1,
  • आठ प्रकार की UART बॉड दर, १२०० से ११५२००bps तक (डिफ़ॉल्ट: ९६००)
  • RSSI समर्थन: नहीं (अंतर्निहित बुद्धिमान प्रसंस्करण)

चरण 2: ट्रांसमिशन प्रकार

पारेषण के प्रकार
पारेषण के प्रकार

पारदर्शी संचरणइसे "डेमो मोड" की तरह माना जा सकता है, डिफ़ॉल्ट रूप से आप एक ही कॉन्फ़िगर किए गए पते और चैनल के सभी डिवाइस पर संदेश भेज सकते हैं।

फिक्स्ड ट्रांसमिशन

इस प्रकार का प्रसारण आप एक पता और एक चैनल निर्दिष्ट कर सकते हैं जहां आप संदेश भेजना चाहते हैं। आप एक को संदेश भेज सकते हैं:

  • एक पूर्व निर्धारित पता कम, पता उच्च और चैनल के साथ निर्दिष्ट डिवाइस।
  • चैनल उपकरणों के एक सेट पर संदेश प्रसारित करें सामान्य मोड बस संदेश भेजें।

चरण 3: डिवाइस मोड

सामान्य मोडबस संदेश भेजें।

वेक-अप मोड और पावर सेविंग मोड

जैसा कि आप इरादा कर सकते हैं यदि कोई डिवाइस वेक-अप मोड में है तो एक या एक से अधिक डिवाइस "जागृत" कर सकते हैं जो एक प्रस्तावना संचार के साथ बिजली-बचत मोड में हैं।

कार्यक्रम/नींद मोड

इस कॉन्फ़िगरेशन के साथ आप अपने डिवाइस के कॉन्फ़िगरेशन को बदल सकते हैं।

चरण 4: वायरिंग डिवाइस

वायरिंग डिवाइस
वायरिंग डिवाइस
वायरिंग डिवाइस
वायरिंग डिवाइस

यहां डिवाइस के कनेक्शन की स्कीमा, यह पूरी तरह से जुड़ा हुआ है, एम0 और एम 1 पिन के प्रबंधन के साथ डिवाइस के तौर-तरीकों को बदलने की अनुमति है, इसलिए आप प्रोग्राम के साथ कॉन्फ़िगरेशन या वेक अप मोड पर स्विच कर सकते हैं, लाइब्रेरी इस सब में आपकी मदद करती है कार्यवाही।

चरण 5: विन्यास

विन्यास
विन्यास

कॉन्फ़िगरेशन सेट करने और प्राप्त करने के लिए एक निर्दिष्ट कमांड मौजूद है

शून्य सेटअप () {Serial.begin (९६००); देरी (500); // स्टार्टअप सभी पिन और UART e32ttl100.begin (); ResponseStructContainer c; सी = e32ttl100.getConfiguration (); // अन्य सभी ऑपरेशन से पहले कॉन्फ़िगरेशन पॉइंटर प्राप्त करना महत्वपूर्ण है कॉन्फ़िगरेशन कॉन्फ़िगरेशन = * (कॉन्फ़िगरेशन *) c.data; Serial.println (c.status.getResponseDescription ()); Serial.println (c.status.code); प्रिंट पैरामीटर (कॉन्फ़िगरेशन); ResponseStructContainer cMi; सीएमआई = e32ttl100.getModuleInformation (); // अन्य सभी ऑपरेशन से पहले सूचना सूचक प्राप्त करना महत्वपूर्ण है Serial.println (cMi.status.getResponseDescription ()); Serial.println (cMi.status.code); प्रिंटमॉड्यूल सूचना (मील); }

चरण 6: कॉन्फ़िगरेशन परिणाम

और परिणाम बन जाता है

शुरुआत सफलता 1 ---------------------------------------- हेड बिन: 11000000 192 C0 AddH बिन: 0 अतिरिक्त बिन: 0 चान बिन: 23 -> 433 मेगाहर्ट्ज स्पीडपैरिटी बिट बिन: 0 -> 8N1 (डिफ़ॉल्ट) स्पीडयूएआरटीडेटा दर बिन: 11 -> 9600 बीपीएस (डिफ़ॉल्ट) स्पीडएयरडाटा दर बिन: 10 -> 2.4 केबीपीएस (डिफ़ॉल्ट) विकल्प ट्रांस बिन: 0 - > पारदर्शी संचरण (डिफ़ॉल्ट) विकल्प पुलअप बिन: 1 -> TXD, RXD, AUX पुश-पुल/पुल-अप हैं OptionWakeup BIN: 0 -> 250ms (डिफ़ॉल्ट) OptionFEC BIN: 1 -> फॉरवर्ड त्रुटि सुधार स्विच चालू करें (डिफ़ॉल्ट) विकल्प पावर बिन: 0 -> 20dBm (डिफ़ॉल्ट) ---------------------------------------- सफलता १ ---------------------------------------- हेड बिन: ११००००११ १९५ सी३ मॉडल नं.: ३२ संस्करण: ४४ विशेषताएं: १४ ----------------------------------------

चरण 7: संदेश भेजें

मेसेज भेजें
मेसेज भेजें

चैनल से जुड़े सभी डिवाइस पर संदेश भेजने के लिए यहां एक सरल स्केच है

शून्य लूप () {// यदि कुछ उपलब्ध है अगर (e32ttl100.उपलब्ध ()> 1) {// स्ट्रिंग संदेश पढ़ें ResponseContainer rc = e32ttl100.receiveMessage (); // क्या कुछ गलत हो जाता है प्रिंट त्रुटि अगर (rc.status.code!=1){ rc.status.getResponseDescription(); }else{ // प्राप्त डेटा को प्रिंट करें Serial.println(rc.data); } } अगर (सीरियल.उपलब्ध ()) {स्ट्रिंग इनपुट = सीरियल.रीडस्ट्रिंग (); e32ttl100.sendMessage (इनपुट); } }

चरण 8: Arduino के लिए शील्ड

Arduino के लिए शील्ड
Arduino के लिए शील्ड

मैं Arduino के लिए एक ढाल भी बनाता हूं जो प्रोटोटाइप के लिए बहुत उपयोगी हो जाती है।

और मैं इसे यहां ओपन सोर्स प्रोजेक्ट के रूप में जारी करता हूं

www.pcbway.com/project/shareproject/LoRa_E32_Series_device_Arduino_shield.html

चरण 9: पुस्तकालय

पुस्तकालय
पुस्तकालय

GitHub रिपॉजिटरी

सहयता मंच

अतिरिक्त दस्तावेज

सिफारिश की: