लोरावन गेटवे को कॉन्फ़िगर करना


10

मैं Arduino और ड्रैगिनो लोरा शील्ड के साथ प्रोग्राम करने योग्य सेंसर का उपयोग करके LoRaWan नेटवर्क बनाने की कोशिश कर रहा हूं ।

मैं एक प्रवेश द्वार बनाने, एक रास्पबेरी Pi एक और Dragino Lora शील्ड के साथ या के साथ जुड़े हुए शामिल करने के लिए कई समाधान पाया है iC880A , और डेटा मैं प्राप्त भेजा जाएगा बादल में एक सर्वर है। मैं प्रवेश द्वार की प्रोग्रामिंग के बारे में बहुत उलझन में हूं।

  • क्या मुझे इसे नोड और सर्वर से कनेक्ट करने के लिए बताने की आवश्यकता है? या यह स्वचालित रूप से डेटा प्राप्त करता है?
  • और क्या मैं सर्वर को गेटवे या सीधे नोड्स से कनेक्ट करने के लिए प्रोग्राम करता हूं?

2
साइट पर आपका स्वागत है। क्या आप कुछ जानकारी जोड़ सकते हैं कि आप किन मॉडलों का उपयोग कर रहे हैं और अपने उपयोग के मामले में कुछ और जानकारी जोड़ सकते हैं? इससे हमें आपको बेहतर उत्तर देने में मदद मिलेगी।
Helmar

हाय और धन्यवाद! मैं IOT नेटवर्क में एक शुरुआतकर्ता हूं, इसलिए मैंने एक arduino uno, एक तापमान संवेदक और एक Dragino Lora Shield का उपयोग करके एक नोड बनाया, मैं एक सर्वर को तारीख भेजने की कोशिश कर रहा हूं, इसलिए मैंने एक रास्पबेरी पाई का उपयोग करके LoraWan गेटवे बनाने की कोशिश की, मैंने बनाया। इसे लोरावन गेटवे में बदलने के बारे में कुछ शोध और मुझे पता चला कि मैं किसी अन्य ड्रैगिनो लोरा शील्ड का उपयोग कर सकता हूं या एक iC880A मॉड्यूल के साथ, और मुझे ऐसा करने के लिए स्रोत कोड मिला, लेकिन मैं अभी भी भ्रमित हूं कि कैसे कनेक्ट करें नोड के लिए प्रवेश द्वार, और डेटा को नोड से गेटवे सर्वर पर कैसे भेजा जाए ?? अग्रिम में धन्यवाद !!
मोहम्मद अचरी द्रिदी

जवाबों:


11

एक सामान्य लोरावन नेटवर्क में, गेटवे गूंगा डिवाइस हैं, जैसा कि लोरा एलायंस द्वारा समझाया गया है :

LoRaWAN नेटवर्क आर्किटेक्चर को आमतौर पर एक स्टार-ऑफ-स्टार्स टोपोलॉजी में रखा जाता है, जिसमें गेटवे एंड-डिवाइसेस और बैकएंड में एक सेंट्रल नेटवर्क सर्वर के बीच संदेशों को रिलेट करने वाला एक पारदर्शी ब्रिज होता है।

तो, एक गेटवे को केवल कुछ नेटवर्क सर्वर से कनेक्ट करने के लिए कॉन्फ़िगर करने की आवश्यकता है, जैसे कि ओपन द थिंग्स नेटवर्क । बस इतना ही।

गेटवे को अक्सर "पैकेट फारवर्डर्स" के रूप में जाना जाता है। जैसे कि, गेटवे बस यही करते हैं: वे सभी को कुछ नेटवर्क सर्वर को LoRaWAN पैकेट मिले (भले ही नोड ने इसे भेजा हो), और वे नेटवर्क सर्वर द्वारा जो कुछ भी कमांड करते हैं उसे प्रसारित करते हैं। इसलिए, नोड्स (अंत-उपकरण) कुछ प्रवेश द्वार से कनेक्ट नहीं होते हैं ; इसके बजाय वे सिर्फ संचारित करते हैं और आशा करते हैं कि एक या एक से अधिक गेटवे उनके ट्रांसमिशन को प्राप्त करेंगे और उस नेटवर्क सर्वर को अग्रेषित करेंगे जो नोड को जानता है। (गेटवे उस एन्क्रिप्ट किए गए डेटा को नहीं पढ़ सकते हैं जिसे वे अग्रेषित कर रहे हैं।)

नेटवर्क से नोड्स कनेक्ट करने के लिए, वे दो विकल्पों में से किसी एक का उपयोग करके "सक्रिय" होते हैं :

  • ओवर-द-एयर एक्टिवेशन (OTAA)

    सबसे पहले, कुछ वेब साइट या एपीआई का उपयोग करते हुए, प्रत्येक नए नोड को अपने अद्वितीय डिवाइस EUI ( DevEUI) का उपयोग करके नेटवर्क सर्वर में पंजीकृत किया जाता है । इसके बाद एक सार्वजनिक एप्लिकेशन आईडी ( AppEUI) और एक गुप्त एप्लिकेशन कुंजी ( AppKey) प्राप्त होती है। इन तीन मूल्यों को नोड में क्रमादेशित किया जाता है।

    अगला, जब पहली बार भेजने के लिए तैयार है, तो मान लोरावन जॉइन रिक्वेस्ट को बनाने और प्रसारित करने के लिए नोड द्वारा उपयोग किया जाता है। यदि इस तरह का अनुरोध एक या अधिक गेटवे द्वारा प्राप्त किया जाता है, तो इसे नेटवर्क सर्वर को भेज दिया जाता है, जिसे यदि अनुमोदित किया जाता है, तो एक स्वीकार स्वीकार को संचारित करने के लिए एक गेटवे बताएगा। यदि नोड द्वारा प्राप्त किया जाता है, तो यह नोड को एक सार्वजनिक डिवाइस पता ( DevAddr), एक गुप्त नेटवर्क सत्र कुंजी ( NwkSKey) और एक गुप्त एप्लिकेशन सत्र कुंजी ( AppSKey) देता है।

    जब भी नोड को कुछ वास्तविक डेटा प्रसारित करने की आवश्यकता होती है (एक सुरक्षा काउंटर के साथ जो शून्य में शामिल होने पर शुरू होता है) से जुड़े मूल्यों को निर्धारित किया जाता है। सक्रियण तब तक मान्य है जब तक नोड इसे मेमोरी में रखता है (और सुरक्षा काउंटर समाप्त नहीं हुए हैं), आमतौर पर कई महीनों या वर्षों तक। जब भी खो जाए, एक नोड एक नया जॉइन रिक्वेस्ट भेज सकता है और नए रहस्य प्राप्त कर सकता है।

  • निजीकरण द्वारा सक्रियकरण (ABP)

    यहां, कुछ वेब साइट या एपीआई का उपयोग करके पंजीकरण करते समय, नोड को डिवाइस पता ( DevAddr), गुप्त नेटवर्क सत्र कुंजी ( NwkSKey) और गुप्त एप्लिकेशन सत्र कुंजी ( AppSKey) को तुरंत दूर दिया जाता है, जो नोड में प्रोग्राम किए जाते हैं और कभी नहीं बदलते हैं। नोड को पहले किसी भी डेटा भेजने की शुरुआत करने से पहले एक जॉइन रिक्वेस्ट भेजने की आवश्यकता नहीं है, लेकिन इस बात का ध्यान रखा जाना चाहिए कि सुरक्षा काउंटर खो न जाएं। इसके अलावा, चाबियाँ किसी दिए गए नेटवर्क के लिए विशिष्ट हैं; एपीबी एक अलग नेटवर्क प्रदाता के लिए नोड्स को स्थानांतरित करने के लिए कठिन (यदि असंभव नहीं है) बनाता है।


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

0

अर्जन का जवाब अच्छा है। तकनीकी। मैं उन लोगों की मदद करने के लिए एक अलग स्वाद उत्तर प्रदान करना चाहता था जो नए हैं और गेटवे के संबंध में तस्वीर को एक साथ रखने के लिए संघर्ष कर रहे हैं और पैकेट कैसे आगे और पीछे चलते हैं।

सादृश्य ...

You > Letter > Mailbox > Mailman > Post Office Dist > Recipient

|----------------- TX -------------------|

Node > Packet > Transmission > Gateway > Network Server > Application

|----------------- RX -------------------|

Node < Packet < Transmission < Gateway < Network Server < Application

पत्र / पैकेट का एक पता है। मेलमैन / गेटवे आपके मेलबॉक्स से पत्र उठाता है या आपने जिस भी मेलबॉक्स में अपना पत्र गिराया है। वह प्राप्तकर्ता को सभी तरह से नियंत्रित करता है। यदि पता गलत है, तो यह नहीं आएगा और आपको इसकी सूचना मिलनी चाहिए। प्राप्तकर्ता आपको उसी सिस्टम के माध्यम से एक पत्र वापस भेज सकता है।

चाहे आप द थिंग्स नेटवर्क का उपयोग करने जा रहे हों या LoRaServer जैसी किसी चीज़ का उपयोग करके अपना निजी सर्वर बनाने का प्रयास करें, आपको संदेशों को आगे-पीछे करने के लिए अपने नोड / वोट / एंड-डिवाइस की पहुंच के भीतर एक प्रवेश द्वार की आवश्यकता होगी। नोड के कोड में विभिन्न कुंजियों के बारे में सोचें, जो कि सादृश्य में पत्र पर पतों के रूप में हैं।

आप यह निर्धारित कर सकते हैं कि उनके मानचित्र पृष्ठ पर आपके क्षेत्र में पहले से ही एक TTN प्रवेश द्वार मौजूद है और यदि आपके नोड तक पहुँचने में कोई है, तो आपके संदेश आपके TTN तक पहुँच जाएँगे (यह मानते हुए कि आपने पंजीकृत और अपने नोड पर कुंजियाँ लागू कर दी हैं)। यदि पहुंच के भीतर कोई प्रवेश द्वार नहीं है, तो आप अपना खुद का निर्माण कर सकते हैं। ऐसा करने के लिए कई विकल्प हैं।

गेटवे को कॉन्फ़िगर करने के संबंध में, आपके द्वारा चुनी गई लाइब्रेरी के आधार पर, आपको आमतौर पर स्रोत कोड में या Global_conf.json या local_conf.json फ़ाइल में कुछ मापदंडों को कॉन्फ़िगर करने की आवश्यकता होती है।

यहां RFM9X (SX1276 पर आधारित) और RPI3 B + के साथ एकल_चान_पॉट_फीड का उपयोग करने से एक उदाहरण हैजो btw प्रतिक्रियाएँ प्रदान नहीं करेगा ... ध्यान रखें कि यह केवल टिंकरिंग / परीक्षण के लिए है। दोनों फारवर्डर और नीचे Global_conf.json उदाहरण प्लग-एन-प्ले नहीं हैं और उचित LoRaWan नेटवर्किंग के लिए इस पर भरोसा नहीं किया जाना चाहिए। एक आज्ञाकारी प्रवेश द्वार में 3 रेडियो हैं और एक ही समय में कई चैनल और भेज / प्राप्त कर सकते हैं। यह उदाहरण केवल एकल चैनल पर नोड से प्राप्त होता है और बहुत विश्वसनीय नहीं है, लेकिन वर्तमान कॉन्फ़िगरेशन है। प्रत्येक मान उस हार्डवेयर पर निर्भर करता है जिसका आप उपयोग कर रहे हैं और आप कहां स्थित हैं ... या जहां प्रवेश द्वार यूएस, ईयू, आदि जैसे स्थित है ... यह भी ध्यान देने योग्य है कि इस तरह के global_conf.json एक आकार नहीं है सबके नाप का। विभिन्न पुस्तकालयों में आमतौर पर कई रेडियो, चैनल, आदि के लिए अधिक विन्यास विकल्प होते हैं ... सिर्फ FYI करें।

{
  "SX127x_conf": // depending on your hardware/radio this could be something like sx1301..., sx127x...., etc.. 
  {
    "freq": 903000000, // depending on whether US (900 range), EU (800 range) or other...
    "spread_factor": 7, // look this up
    "pin_nss": 10, // wiringpi value = physical pin #24
    "pin_dio0": 5, // wiringpi value = physical pin #18
    "pin_rst": 21 // wiringpi value = physical pin #29
  },
  "gateway_conf":
  {
    "ref_latitude": 0.0, 
    "ref_longitude": 0.0,
    "ref_altitude": 2,

    "name": "WHATEVER NAME",
    "email": "WHATEVER@EMAIL.TLD",
    "desc": "WHATEVER DESC",

    "servers":
    [
      {
        "address": "localhost", // this one is private so localhost, but TTN lookup address
        "port": 1700, // this one is private so localhost, but TTN lookup port
        "enabled": true
      } // you could add more... say you have a private one and TTN 
    ]
  }
}

मान लीजिए कि आप Arduino डिवाइस और कोड के साथ एक नोड बना रहे हैं। और आप LMIC-Arduino लाइब्रेरी और उदाहरण स्केच जैसी किसी चीज़ का उपयोग करते हैं। आपको पहले डिवाइस हार्डवेयर के आधार पर यह निर्धारित करना होगा कि डिवाइस के लिए पिनमैप को कैसे भी कॉन्फ़िगर किया जाए। फिर यदि आप TTN का उपयोग करने जा रहे हैं, तो आप स्केच कोड में डालने वाली आवश्यक कुंजियों को पंजीकृत करने और प्राप्त करने के लिए कई गाइडों का पालन करते हैं। आपको यह भी सुनिश्चित करना होगा कि आप उपयुक्त आवृत्ति पर संचार कर रहे हैं और इस तरह ... अपने क्षेत्र में प्रवेश द्वार के साथ लाइन अप करने के लिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.