विषयसूची:

[डॉकर पाई सीरीज] रास्पबेरी पाई पर आईओटी नोड (ए) मॉड्यूल का उपयोग कैसे करें: १८ कदम
[डॉकर पाई सीरीज] रास्पबेरी पाई पर आईओटी नोड (ए) मॉड्यूल का उपयोग कैसे करें: १८ कदम

वीडियो: [डॉकर पाई सीरीज] रास्पबेरी पाई पर आईओटी नोड (ए) मॉड्यूल का उपयोग कैसे करें: १८ कदम

वीडियो: [डॉकर पाई सीरीज] रास्पबेरी पाई पर आईओटी नोड (ए) मॉड्यूल का उपयोग कैसे करें: १८ कदम
वीडियो: IOT M4-R5 MARATHON CLASS 16 SEPTEMBER EXAM MOST IMPORTANT CLASS LIVE FREE 200 + QUESTION 2024, जुलाई
Anonim
[डॉकर पाई सीरीज]रास्पबेरी पाई पर आईओटी नोड (ए) मॉड्यूल का उपयोग कैसे करें
[डॉकर पाई सीरीज]रास्पबेरी पाई पर आईओटी नोड (ए) मॉड्यूल का उपयोग कैसे करें

IoT नोड (A) मॉड्यूल क्या है?

IoT Node(A) Docker Pi सीरीज मॉड्यूल में से एक है।

आईओटी नोड (ए) = जीपीएस/बीडीएस + जीएसएम + लोरा।

I2C सीधे लोरा को नियंत्रित करता है, डेटा भेजता और प्राप्त करता है, SC16IS752 के माध्यम से GSM/GPS/BDS मॉड्यूल को नियंत्रित करता है, मेनबोर्ड को केवल I2C समर्थन की आवश्यकता होती है।

रास्पबेरी पाई और इसी तरह के अन्य उत्पादों का समर्थन करें।

आपूर्ति

1x रास्पबेरी पाई 2B/3B/3B+/4B/3A+/Zero/Zero W

1x डॉकर पीआई श्रृंखला उत्पाद: आईओटी नोड (ए) मॉड्यूल

1x 16GB कक्षा 10 TF कार्ड

1x 5V/2.5A बिजली की आपूर्ति (Pi 4B के लिए 5V@3A)

चरण 1: विशेषताएं

विशेषताएं
विशेषताएं
विशेषताएं
विशेषताएं
विशेषताएं
विशेषताएं
  • डॉकर पाई सीरीज
  • निर्देशयोग्य
  • सीधे नियंत्रण (प्रोग्रामिंग के बिना)
  • GPIO पिन बढ़ाएँ
  • जीपीएस / बीडीएस समर्थन
  • जीएसएम समर्थन
  • लोरा सपोर्ट
  • अन्य स्टैक बोर्ड के साथ ढेर कर सकते हैं
  • मेनबोर्ड हार्डवेयर से स्वतंत्र (I2C समर्थन की आवश्यकता है)

चरण 2: चरण 1: IoT (A) बोर्ड के बारे में जानें

Step1: IoT (A) बोर्ड के बारे में जानें
Step1: IoT (A) बोर्ड के बारे में जानें
Step1: IoT (A) बोर्ड के बारे में जानें
Step1: IoT (A) बोर्ड के बारे में जानें
Step1: IoT (A) बोर्ड के बारे में जानें
Step1: IoT (A) बोर्ड के बारे में जानें

IoT Node(A) Docker Pi सीरीज मॉड्यूल में से एक है।

आईओटी नोड (ए) = जीपीएस/बीडीएस + जीएसएम + लोरा।

I2C सीधे लोरा को नियंत्रित करता है, डेटा भेजता और प्राप्त करता है, SC16IS752 के माध्यम से GSM/GPS/BDS मॉड्यूल को नियंत्रित करता है, मेनबोर्ड को केवल I2C समर्थन की आवश्यकता होती है। रास्पबेरी पाई और अन्य समान उत्पादों का समर्थन करें।

तो आप उनमें से दो का उपयोग करके एक मध्यम श्रेणी का संचार उपकरण बना सकते हैं।

और आप ऑनबोर्ड जीपीएस मॉड्यूल का उपयोग करके अपने डिवाइस के स्थान का पता लगा सकते हैं।

एक सिम कार्ड डालें, यह एसएमएस संदेश के माध्यम से ट्रांसमीटर स्टेशन बन जाएगा।

चरण 3: चरण 2: इसे कैसे इकट्ठा करें

Step2: इसे कैसे असेंबल करें
Step2: इसे कैसे असेंबल करें
Step2: इसे कैसे असेंबल करें
Step2: इसे कैसे असेंबल करें

इसके "हैट" डिज़ाइन के कारण इसे इकट्ठा करना बहुत आसान है, आप बस इसे अपने रास्पबेरी पाई पर रखें और इसे GPIO पिन के माध्यम से कनेक्ट करें, यह रास्पबेरी पाई पर "टोपी" की तरह है, ताकि आपको द्रव्यमान जोड़ना न पड़े तार

चरण 4: चरण 3: एंटीना को हुक करें

Step3: हुक अप एंटीना
Step3: हुक अप एंटीना
Step3: हुक अप एंटीना
Step3: हुक अप एंटीना
Step3: हुक अप एंटीना
Step3: हुक अप एंटीना

इस आईओटी (ए) मॉड्यूल के लिए 3 टुकड़े एंटीना हैं, उनमें से एक लोर मॉड्यूल के लिए है, यह एक एसएमए प्रकार का एंटीना है, और उनमें से एक आपके लिए जीपीएस है, यह एक स्क्वायर बॉक्स एंटीना है जिसमें आईपीएक्स पोर्ट है। और आखिरी वाला सिम मॉड्यूल (A9G) के लिए है, यह एक छोटा एंटीना है जिसमें IPX पोर्ट है। एंटीना कनेक्ट करें और टोपी को अपने रास्पबेरी पाई पर माउंट करें।

रास्पबेरी पाई पर आईओटी नोड (ए) बोर्ड को कैसे इकट्ठा करें?

आईपीएक्स पोर्ट के लिए जीपीएस एंटाना और लोरा एंटाना को हुकअप करें।

  • E1:जीपीएस-एंटाना-आईपीएक्स
  • E3:लोरा-एंटाना-आईपीएक्स

SMA पोर्ट पर GPRS एंटाना को स्क्रू करता है।

चरण 5: चरण 4: ओएस पर्यावरण और सॉफ्टवेयर कॉन्फ़िगरेशन

इस स्टेप में आपको ये काम करने होंगे:

1. नवीनतम छवि फ़ाइल यहां से डाउनलोड करें: www.raspberrypi.org/downloads

2. इसे अनज़िप करें।

3. एचर टूल के माध्यम से अपने टीएफ कार्ड को नवीनतम छवि के साथ फ्लैश करें

4. /boot/config.txt फ़ाइल को संशोधित करें और इस अनुच्छेद को जोड़ें।

dtoverlay=sc16is752-i2c

5. /boot/overlay/sc16is752-i2c.dtbo फ़ाइल को इस फ़ाइल से बदलें:

wiki.52pi.com/index.php/File:Sc16is752-i2c…

पुनश्च: याद रखें इसे अनज़िप करें और इसे अपने /boot/overlay/ फ़ोल्डर पर रखें और पुराने को बदल दें।

6. अपने रास्पबेरी पाई को रिबूट करें।

चरण 6: चरण 5: I2C (रास्पबेरी पाई) को कॉन्फ़िगर करना

Step5: I2C (रास्पबेरी पाई) को कॉन्फ़िगर करना
Step5: I2C (रास्पबेरी पाई) को कॉन्फ़िगर करना
Step5: I2C (रास्पबेरी पाई) को कॉन्फ़िगर करना
Step5: I2C (रास्पबेरी पाई) को कॉन्फ़िगर करना
Step5: I2C (रास्पबेरी पाई) को कॉन्फ़िगर करना
Step5: I2C (रास्पबेरी पाई) को कॉन्फ़िगर करना
Step5: I2C (रास्पबेरी पाई) को कॉन्फ़िगर करना
Step5: I2C (रास्पबेरी पाई) को कॉन्फ़िगर करना

sudo raspi-config चलाएँ और ARM कोर और linux कर्नेल के लिए i2c समर्थन स्थापित करने के लिए संकेतों का पालन करें इंटरफेसिंग विकल्पों पर जाएँ

चरण 7: चरण 6: रजिस्टर जानकारी के बारे में जानें

जीपीआरएस अनुभाग

कम बिजली की खपत, स्टैंडबाय स्लीप करंट <1mA2।

850, 900, 1800, 1900MHZ सहित GSM/GPRS चार फ़्रीक्वेंसी बैंड का समर्थन करें

जीपीआरएस कक्षा 10

समर्थन जीपीआरएस डेटा सेवा, अधिकतम डेटा दर, 85.6 केबीपीएस डाउनलोड करें, 42.8 केबीपीएस अपलोड करें

मानक GSM07.07, 07.05 AT कमांड का समर्थन करें, और I2C इंटरफ़ेस रूपांतरण के माध्यम से सीरियल पोर्ट तक पहुंचें

एटी कमांड मानक एटी और टीसीपी/आईपी कमांड पोर्ट का समर्थन करते हैं

जीपीएस अनुभाग समर्थन बीडीएस/जीपीएस संयुक्त स्थिति

समर्थन ए-जीपीएस, ए-बीडीएस

मानक सिम कार्ड का समर्थन करें

लोरा सेक्शन ट्रांसमिशन दूरी: 500 मीटर (आरएफ पैरामीटर: 0x50 @ चाइना सिटी)

समर्थन FSK, GFSK, MSK, GMSK, LoRaTM और OOK मॉडुलन विधियों

अल्ट्रा-उच्च रिसीवर संवेदनशीलता -141 डीबीएम. जितनी कम

प्रस्तावना का पता लगाने का समर्थन करें

सीआरसी के साथ पैकेट इंजन, 256 बाइट्स तक

लोरा ट्रांसीवर संकेतक

Docker Pi. द्वारा आसान TX/RX

चरण 8:

A9G मॉड्यूल

A9G मॉड्यूल दो सीरियल पोर्ट प्रदान करता है।

संचार के लिए I2C UART ब्रिज का उपयोग करें।

सीरियल पोर्ट मॉड्यूल का नाम

  • /dev/ttySC0 जीएसएम
  • /dev/ttySC1 जीपीएस/बीडीएस

रजिस्टर मैप

  • रजिस्टर एड्रेस फंक्शन वैल्यू
  • 0x01 LORA_TX1 लोरा TX बफर 1 - उपयोगकर्ता डेटा
  • 0x02 LORA_TX2 लोरा TX बफर 2 - उपयोगकर्ता डेटा
  • 0x03 LORA_TX3 लोरा TX बफर 3 - उपयोगकर्ता डेटा
  • 0x04 LORA_TX4 लोरा TX बफर 4 - उपयोगकर्ता डेटा
  • 0x05 LORA_TX5 लोरा TX बफर 5 - उपयोगकर्ता डेटा
  • 0x06 LORA_TX6 लोरा TX बफर 6 - उपयोगकर्ता डेटा
  • 0x07 LORA_TX7 लोरा TX बफर 7 - उपयोगकर्ता डेटा
  • 0x08 LORA_TX8 लोरा TX बफर 8 - उपयोगकर्ता डेटा
  • 0x09 LORA_TX9 लोरा TX बफर 9 - उपयोगकर्ता डेटा
  • 0x0a LORA_TX10 लोरा TX बफर 10 - उपयोगकर्ता डेटा
  • 0x0b LORA_TX11 लोरा TX बफर 11 - उपयोगकर्ता डेटा
  • 0x0c LORA_TX12 लोरा TX बफर 12 - उपयोगकर्ता डेटा
  • 0x0d LORA_TX13 लोरा TX बफर 13 - उपयोगकर्ता डेटा
  • 0x0e LORA_TX14 लोरा TX बफर 14 - उपयोगकर्ता डेटा
  • 0x0f LORA_TX15 लोरा TX बफर 15 - उपयोगकर्ता डेटा
  • 0x10 LORA_TX16 लोरा TX बफर 16 - उपयोगकर्ता डेटा
  • 0x11 LORA_RX1 लोरा RX बफर 1 - उपयोगकर्ता डेटा
  • 0x12 LORA_RX2 लोरा RX बफर 2 - उपयोगकर्ता डेटा
  • 0x13 LORA_RX3 लोरा RX बफर 3 - उपयोगकर्ता डेटा
  • 0x14 LORA_RX4 लोरा RX बफर 4 - उपयोगकर्ता डेटा
  • 0x15 LORA_RX5 लोरा RX बफर 5 - उपयोगकर्ता डेटा
  • 0x16 LORA_RX6 लोरा RX बफर 6 - उपयोगकर्ता डेटा
  • 0x17 LORA_RX7 लोरा RX बफर 7 - उपयोगकर्ता डेटा
  • 0x18 LORA_RX8 लोरा RX बफर 8 - उपयोगकर्ता डेटा
  • 0x19 LORA_RX9 लोरा RX बफर 9 - उपयोगकर्ता डेटा
  • 0x1a LORA_RX10 लोरा RX बफर 10 - उपयोगकर्ता डेटा
  • 0x1b LORA_RX11 लोरा RX बफर 11 - उपयोगकर्ता डेटा
  • 0x1c LORA_RX12 लोरा RX बफर 12 - उपयोगकर्ता डेटा
  • 0x1d LORA_RX13 लोरा RX बफर 13 - उपयोगकर्ता डेटा
  • 0x1e LORA_RX14 लोरा RX बफर 14 - उपयोगकर्ता डेटा
  • 0x1f LORA_RX15 लोरा RX बफर 15 - उपयोगकर्ता डेटा
  • 0x20 LORA_RX16 लोरा RX बफर 16 - उपयोगकर्ता डेटा
  • 0x01 - 0x10 केवल लिखें।
  • 0x11 - 0x20 केवल पढ़ने के लिए।

चरण 9: निर्देश:

निर्देश
निर्देश

L_SET (केवल लिखें)

  • 0x22 से LORA मॉड्यूल में पैरामीटर सेट करने के लिए 1 लिखें।
  • लिखें 0 प्रभाव नहीं

G_RESET (केवल लिखें)

  • A9G मॉड्यूल रीसेट करने के लिए 1 लिखें
  • लिखें 0 प्रभाव नहीं

L_RXNE (पढ़ें और लिखें)

  • 1 कारण त्रुटि लिखें
  • साफ़ करने के लिए 0 लिखें
  • 1 पढ़ें का मतलब है कि डेटा प्राप्त हो गया है, कृपया रजिस्टर 0x11 - 0x20 से डेटा प्राप्त करें।
  • 0 पढ़ें का मतलब है कि अब कोई डेटा उपलब्ध नहीं है।

L_SET (केवल लिखें)

  • डेटा भेजने के लिए 1 लिखें, कृपया भेजने से पहले रजिस्टर 0x01 - 0x10 में डेटा भरें।
  • लिखें 0 प्रभाव नहीं

चरण 10: जीपीएस मॉड्यूल (रास्पबेरी पाई) के साथ जीपीएस मॉड्यूल का उपयोग कैसे करें

जीपीएसडी (रास्पबेरी पाई) के साथ जीपीएस मॉड्यूल का उपयोग कैसे करें
जीपीएसडी (रास्पबेरी पाई) के साथ जीपीएस मॉड्यूल का उपयोग कैसे करें
जीपीएसडी (रास्पबेरी पाई) के साथ जीपीएस मॉड्यूल का उपयोग कैसे करें
जीपीएसडी (रास्पबेरी पाई) के साथ जीपीएस मॉड्यूल का उपयोग कैसे करें
जीपीएसडी (रास्पबेरी पाई) के साथ जीपीएस मॉड्यूल का उपयोग कैसे करें
जीपीएसडी (रास्पबेरी पाई) के साथ जीपीएस मॉड्यूल का उपयोग कैसे करें

जीपीएस मॉड्यूल (रास्पबेरी पाई) के साथ जीपीएस मॉड्यूल का उपयोग कैसे करें

सबसे पहले, /boot/overlays/sc16is752-i2c.dtbo को बदलें और सुनिश्चित करें कि I2C ठीक से काम कर रहा है।

  • sc16is752-i2c.dtbo. बदलें
  • I2C को कॉन्फ़िगर करना
  • जीपीएसडी उपकरण स्थापित करें।

एक टर्मिनल खोलें और यह कमांड टाइप करें:

सुडो एपीटी जीपीएसडी जीपीएसडी-क्लाइंट स्थापित करें

/etc/default/gpsd फ़ाइल को संशोधित करें और निम्नलिखित पैरामीटर जोड़ें:

  • DEVICES="/dev/ttySC1"
  • GPSD_OPTIONS="-F /var/run/gpsd.sock"

जीपीआरएस मॉड्यूल को रीसेट करने के लिए कमांड i2cset -y 1 0x16 0x23 0x40 दर्ज करें।

ओपन जीपीएस के लिए पायथन स्क्रिप्ट:

आयात धारावाहिक आयात ओएस आयात समय # जीपीएसडी सेवा को पुनरारंभ करें। os.system("sudo systemctl पुनरारंभ gpsd.socket") # ओपन सीरियल पोर्ट ser = serial. Serial('/dev/ttySC0', 115200) i = 0 if ser.isOpen == False: ser.open() कोशिश करें: प्रिंट ("जीपीएस चालू करें …") जबकि सच: ser.write(str.encode("AT+GPS=1\r")) size = ser.inWaiting() यदि आकार != 0: ticks = time.time() प्रतिक्रिया = ser.read (आकार) जीपीएस = str (प्रतिक्रिया, एन्कोडिंग = "utf-8") अगर (gps.find ("ठीक")! = -1): os.system ("sudo cgps -s") बाहर निकलें () अन्य: i = i + 1 प्रिंट ("जीपीएस सक्षम होने की प्रतीक्षा कर रहा है, यदि समय बहुत लंबा है, तो कृपया बाहर परीक्षण करें:" + str (i)) ser.flushInput () समय। नींद (1) कीबोर्डइंटरप्ट को छोड़कर: सेर.flushInput () ser.close ()

इसे सहेजें और निष्पादित करें:

python3 GPS.py

चरण 11: सी (रास्पबेरी पाई) के साथ जीपीएस मॉड्यूल का उपयोग कैसे करें

जीपीएसडी उपकरण स्थापित करें।

sudo apt-libgps-dev स्थापित करें

स्रोत कोड बनाएं और इसे "gps.c" नाम दें

#शामिल करें #शामिल करें

#शामिल

#शामिल

मुख्य प्रवेश बिंदु()

{इंट आरसी; संरचना समयबद्ध टीवी; संरचना जीपीएस_डेटा_टी जीपीएस_डेटा; अगर ((आरसी = जीपीएस_ओपन ("लोकलहोस्ट", "2947", और जीपीएस_डेटा)) == -1) {प्रिंटफ ("कोड:% डी, कारण:% s / n", आरसी, जीपीएस_इरस्ट्र (आरसी)); वापसी EXIT_FAILURE; } gps_stream(&gps_data, WATCH_ENABLE | WATCH_JSON, NULL);

जबकि (1)

{/* डेटा प्राप्त करने के लिए 2 सेकंड प्रतीक्षा करें */ अगर (gps_waiting(&gps_data, 2000000)) {/* डेटा पढ़ें */ if ((rc = gps_read(&gps_data)) == -1) { प्रिंटफ ("त्रुटि पढ़ने में हुई जीपीएस डेटा। कोड:%d, कारण:%s\n", rc, gps_errstr(rc)); } और {/* GPS रिसीवर से डेटा प्रदर्शित करें। */ अगर ((gps_data.status == STATUS_FIX) && (gps_data.fix.mode == MODE_2D || gps_data.fix.mode == MODE_3D) && !isnan(gps_data.fix.latitude) && !isnan(gps_data.fix) देशांतर)) {/* gettimeofday(&tv, NULL); संपादित करें: tv.tv_sec वास्तव में टाइमस्टैम्प नहीं है! */

प्रिंटफ ("अक्षांश:% f, देशांतर:% f, गति:% f, टाइमस्टैम्प:% lf / n", gps_data.fix.latitude, gps_data.fix.longitude, gps_data.fix.speed, gps_data.fix.time);

// संपादित करें: tv.tv_sec को gps_data.fix.time से बदल दिया } और { प्रिंटफ ("कोई GPS डेटा उपलब्ध नहीं है / n"); } } } नींद(3); } /* जब आपका काम हो जाए… */gps_stream(&gps_data, WATCH_DISABLE, NULL); जीपीएस_क्लोज़ (और जीपीएस_डेटा); वापसी EXIT_SUCCESS; }

चरण 12: इसे संकलित करें।

इसे संकलित करें।
इसे संकलित करें।

संकलित करें!

जीसीसी जीपीएस.सी-एलएम-एलजीपीएस-ओ जीपीएस

इसे निष्पादित करें!

।/GPS

चरण 13: पायथन (रास्पबेरी पाई) के साथ जीपीएस मॉड्यूल का उपयोग कैसे करें

पायथन के साथ जीपीएस मॉड्यूल का उपयोग कैसे करें (रास्पबेरी पाई)
पायथन के साथ जीपीएस मॉड्यूल का उपयोग कैसे करें (रास्पबेरी पाई)

निम्नलिखित कोड को पायथन 3 का उपयोग करके निष्पादित करने और gpsd-py3 लाइब्रेरी और GPS 2D/3D फिक्स स्थापित करने की अनुशंसा की जाती है:

जीपीएसडी आयात करें

# स्थानीय जीपीएसडी से कनेक्ट करें

जीपीएसडी.कनेक्ट ()

# जीपीएस स्थिति प्राप्त करें

पैकेट = gpsd.get_current ()

# उपलब्ध डेटा के लिए GPSResponse के लिए इनलाइन डॉक्स देखें

प्रिंट (पैकेट। स्थिति ())

चरण 14: पीपीपीडी (रास्पबेरी पाई) के साथ जीएसएम मॉड्यूल का उपयोग कैसे करें

पीपीपीडी (रास्पबेरी पाई) के साथ जीएसएम मॉड्यूल का उपयोग कैसे करें
पीपीपीडी (रास्पबेरी पाई) के साथ जीएसएम मॉड्यूल का उपयोग कैसे करें
पीपीपीडी (रास्पबेरी पाई) के साथ जीएसएम मॉड्यूल का उपयोग कैसे करें
पीपीपीडी (रास्पबेरी पाई) के साथ जीएसएम मॉड्यूल का उपयोग कैसे करें
पीपीपीडी (रास्पबेरी पाई) के साथ जीएसएम मॉड्यूल का उपयोग कैसे करें
पीपीपीडी (रास्पबेरी पाई) के साथ जीएसएम मॉड्यूल का उपयोग कैसे करें

ए) सबसे पहले, /boot/overlays/sc16is752-i2c.dtbo को बदलें और सुनिश्चित करें कि I2C ठीक से काम कर रहा है।

  • sc16is752-i2c.dtbo. बदलें
  • I2C को कॉन्फ़िगर करना

बी) जीपीआरएस मॉड्यूल को रीसेट करने के लिए i2cset -y 1 0x16 0x23 0x40 कमांड दर्ज करें।

कमांड चलाने के बाद, आपको थोड़ा इंतजार करना होगा, लगभग 10 सेकंड

आप रीसेट करने के लिए निम्न विधि का भी उपयोग कर सकते हैं।

सी) कमांड दर्ज करें

सुडो एपीटी पीपीपी स्थापित करें

पीपीपी उपकरण स्थापित करने के लिए।

डी) कॉपी / आदि / पीपीपी / साथियों / प्रदाता को / आदि / पीपीपी / साथियों / जीपीआरएस

ई) संशोधित / आदि / पीपीपी / साथियों / जीपीआरएस

  • लाइन 10: कृपया उपयोगकर्ता के लिए अपने सेवा प्रदाता से परामर्श लें (उदाहरण: सेमीनेट)।
  • लाइन 15: कृपया एपीएन के लिए अपने सेवा प्रदाता से संपर्क करें (उदाहरण: सेमीनेट)।
  • लाइन 18 - लाइन 24: अनुशंसित सेटिंग

एफ) /etc/chatscripts/gprs संशोधित करें (लाइन 34 को लाइन 35 में बदलें, डायलआउट नंबर *99# नहीं हो सकता है)

जी) डायल करने के लिए सुडो पीपीपीडी कॉल जीपीआरएस कमांड दर्ज करें।

एच) अपने आईएसपी से अपना पीपीपी कॉन्फिगरेशन जांचें।

I) कमांड दर्ज करें ping -I ppp0 8.8.8.8 अपने नेटवर्क का परीक्षण करें (यदि इंटरनेट उपलब्ध है और रूट टेबल सही है)

जे) कृपया जीएसएम सिग्नल को अच्छा रखें, अन्यथा निम्नलिखित घटित होंगे।

चरण 15: माई जीएसएम मॉड्यूल (रास्पबेरी पाई) का निदान कैसे करें

माई जीएसएम मॉड्यूल (रास्पबेरी पाई) का निदान कैसे करें
माई जीएसएम मॉड्यूल (रास्पबेरी पाई) का निदान कैसे करें
माई जीएसएम मॉड्यूल (रास्पबेरी पाई) का निदान कैसे करें
माई जीएसएम मॉड्यूल (रास्पबेरी पाई) का निदान कैसे करें
माई जीएसएम मॉड्यूल (रास्पबेरी पाई) का निदान कैसे करें
माई जीएसएम मॉड्यूल (रास्पबेरी पाई) का निदान कैसे करें
माई जीएसएम मॉड्यूल (रास्पबेरी पाई) का निदान कैसे करें
माई जीएसएम मॉड्यूल (रास्पबेरी पाई) का निदान कैसे करें

निम्नलिखित कोड को पायथन 3 का उपयोग करके निष्पादित करने और smbus लाइब्रेरी स्थापित करने की अनुशंसा की जाती है:

आयात धारावाहिकआयात समय आयात smbus आयात ऑपरेटर आयात ओएस

प्रिंट ("प्रारंभ करने के लिए प्रतीक्षा कर रहा है …")

बस = smbus. SMBus(1)

बस.राइट_बाइट_डेटा (0x16, 0x23, 0x40)

सेर = सीरियल। सीरियल ('/ dev/ttySC0', ११५२००)

अगर ser.isOpen == गलत:

ser.open() कोशिश करें: प्रिंट ('-' * 60) प्रिंट ("ए 9 जी जीपीआरएस मॉड्यूल शुरू करना।") प्रिंट ("जीएसएम कनेक्टिंग …") समय। नींद (3) i = 0 जबकि सच: ser.write (str.encode("AT+CCID\r")) size = ser.inWaiting() if size != 0: ticks = time.time() response = ser.read(size) ccid = str(response, एन्कोडिंग = "utf -8") प्रिंट (सीसीआईडी) अन्य: i = i + 1 ser.flushInput () time.sleep(1) कीबोर्डइंटरप्ट को छोड़कर: ser.close ()

परीक्षण स्क्रिप्ट निष्पादित करें, कार्यान्वयन के परिणामों के आधार पर, हम जीएसएम मॉड्यूल का निदान कर सकते हैं। उदाहरण के लिए, निम्नलिखित वापसी, सीएमई त्रुटि 53 त्रुटि हमें बताती है कि पावर अच्छा नहीं है। सीएमई कोड = जीएसएम उपकरण संबंधित त्रुटियां

बेशक, स्क्रिप्ट में एक रीसेट फ़ंक्शन भी होता है। यदि आप CCID को सही ढंग से प्रदर्शित कर सकते हैं, तो रीसेट पूरा हो गया है।

चरण 16: सी (रास्पबेरी पाई) के साथ लोरा TX और RX का उपयोग कैसे करें

निम्नलिखित कोड को पायथन 3 का उपयोग करके निष्पादित करने और smbus लाइब्रेरी स्थापित करने की अनुशंसा की जाती है।

इसे दो आईओटी नोड (ए) के बीच स्थानांतरित किया जाना चाहिए। स्वयं द्वारा भेजी गई सामग्री स्वयं द्वारा प्राप्त नहीं की जा सकती है। निष्पादन के लिए कृपया इसे एक py स्क्रिप्ट के रूप में सहेजें।

कैसे भेजें: रजिस्टर 0x01 - 0x10 में डेटा भरने के बाद, डेटा भेजना शुरू करने के लिए L_TX बिट सेट करें।

आयात समयआयात smbus आयात ओएस आयात sys

बस = smbus. SMBus(1)

प्रयत्न:

data_list = [१७०, ८५, १६५, ९०] # रजिस्टर करने के लिए डेटा लिखें और फिर डेटा भेज दिया जाएगा। श्रेणी में अनुक्रमणिका के लिए(1, लेन(डेटा_सूची) + 1): बस.राइट_बाइट_डेटा (0x16, अनुक्रमणिका, डेटा_सूची [अनुक्रमणिका - 1]) प्रिंट ("LORA %d रजिस्टर %d डेटा को डेटा भेजें" %(सूचकांक, data_list[index - 1])) bus.write_byte_data(0x16, 0x23, 0x01) KeyboardInterrupt को छोड़कर: sys.exit()

रिसीव कैसे भेजें: L_RXNE बिट की जांच करें, यदि सेट किया गया है, तो नया डेटा आ गया है, यह ध्वज मैन्युअल रूप से स्पष्ट होना चाहिए।

आयात समयआयात smbus आयात ओएस आयात sys

बस = smbus. SMBus(1)

recv_data =

प्रयत्न:

अगर bus.read_byte_data(0x16, 0x23) & 0x02: # मैन्युअल रूप से L_RXNE bus.write_byte_data(0x16, 0x23, 0x00) register_list = [0x11, 0x12, 0x13, 0x14] को साफ़ करें। register_list) + 0x11): recv_data.append(bus.read_byte_data(0x16, register_list[index - 0x11]))

प्रिंट ("प्राप्त डेटा:")

प्रिंट (recv_data) अन्य: प्रिंट ("अभी तक कोई डेटा प्राप्त नहीं हुआ ~") कीबोर्ड इंटरप्ट को छोड़कर: sys.exit ()

चरण 17: I2C बैंडविड्थ का विशेष विवरण

I2C प्रोटोकॉल के कारण I2C गति की सीमा 400kHz है, इसलिए एकल डिवाइस प्रभावी बैंडविड्थ 320kbps से कम है, मल्टी डिवाइस प्रभावी बैंडविड्थ 160kbps से कम है। I2C UART ब्रिज गति की सीमा 115200bps है। जब GPS और GSM एक ही समय में काम करते हैं, I2C बैंडविड्थ अपर्याप्त है, क्योंकि 115.2kbps * 2 = 230.4kbps, इसलिए कुछ डेटा अतिप्रवाह होगा। GPS और GSM संचार की बॉड दर को कम करने से संचार बैंडविड्थ की कमी में सुधार हो सकता है। अन्य DockerPi मॉड्यूल को ढेर करने में लग सकता है अतिरिक्त I2C बैंडविड्थ। आमतौर पर, नेटवर्क डेटा की गति धीमी होती है, इसलिए GSM बैंडविड्थ पूर्ण नहीं है, इसलिए कोई अतिप्रवाह समस्या नहीं है।

चरण 18: समाप्त

आशा है आप लोग इसे पसंद करेंगे और बनायेंगे।

आप इसे यहां देख सकते हैं:

वीरांगना

नाइटलाइट: https://www.amazon.com/GeeekPi-Night-Light-WS2812-Raspberry/dp/B07LCG2S5S 4चैनल रिले बोर्ड: https://www.amazon.co.uk/dp/B07MV1TJGR?ref=myi_title_dp पावर बोर्ड https://www.amazon.co.uk/dp/B07TD595VS?ref=myi_title_dp IoT Node(A):https://www.amazon.co.uk/dp/B07TY15M1C सेंसर हब: https://www। amazon.co.uk/dp/B07TZD8B61 आइस टॉवर:

सिफारिश की: