विषयसूची:

Arduino के लिए Botletics LTE CAT-M/NB-IoT + GPS शील्ड: 10 कदम (चित्रों के साथ)
Arduino के लिए Botletics LTE CAT-M/NB-IoT + GPS शील्ड: 10 कदम (चित्रों के साथ)

वीडियो: Arduino के लिए Botletics LTE CAT-M/NB-IoT + GPS शील्ड: 10 कदम (चित्रों के साथ)

वीडियो: Arduino के लिए Botletics LTE CAT-M/NB-IoT + GPS शील्ड: 10 कदम (चित्रों के साथ)
वीडियो: #9 SIM7000 LTE CAT-M/NB-IoT Shield Demo 2024, जुलाई
Anonim
Image
Image
Arduino के लिए बॉटलेटिक्स LTE CAT-M/NB-IoT + GPS शील्ड
Arduino के लिए बॉटलेटिक्स LTE CAT-M/NB-IoT + GPS शील्ड

अवलोकन

Bolettics SIM7000 LTE CAT-M/NB-IoT शील्ड नई LTE CAT-M और NB-IoT तकनीक का उपयोग करती है और इसमें लोकेशन ट्रैकिंग के लिए GNSS (GPS, GLONASS और BeiDou/Compass, Galileo, QZSS मानक) को भी एकीकृत किया गया है। कई SIM7000-श्रृंखला मॉड्यूल हैं जो दुनिया भर के विभिन्न क्षेत्रों को पूरा करते हैं, और सौभाग्य से SIMCOM ने इसे पहचानना वास्तव में आसान बना दिया है: SIM7000A (अमेरिकी), SIM7000E (यूरोपीय), SIM7000C (चीनी), और SIM7000G (वैश्विक)। वर्तमान में NB-IoT दुनिया भर के कई देशों में समर्थित है, लेकिन दुर्भाग्य से अमेरिका में नहीं है, हालांकि यह निकट भविष्य (2019) में व्यावसायिक रूप से उपलब्ध होने के लिए निर्धारित है और इसकी परवाह किए बिना, हम अभी भी LTE CAT-M कार्यात्मकताओं का उपयोग कर सकते हैं!

ढाल का उपयोग करने के लिए, बस ढाल को एक Arduino में प्लग करें, एक संगत सिम कार्ड डालें, LTE/GPS एंटीना संलग्न करें, और आप जाने के लिए अच्छे हैं!

परिचय

सेलुलर कनेक्टिविटी के साथ कम-शक्ति वाले IoT उपकरणों के उद्भव और 2G के चरण-आउट (2020 तक केवल T-mobile 2G/GSM का समर्थन करने के साथ) के साथ, सब कुछ LTE की ओर बढ़ रहा है और इसने कई लोगों को बेहतर समाधान खोजने के लिए हाथ-पांव मार दिया है। हालाँकि, इसने कई शौक़ीन लोगों को SIMCOM से SIM800-श्रृंखला मॉड्यूल जैसी विरासत 2G तकनीक का सामना करना पड़ा है। हालांकि ये 2जी और 3जी मॉड्यूल एक बेहतरीन शुरुआती बिंदु हैं, यह आगे बढ़ने का समय है और सिमकॉम ने हाल ही में एक डेवलपर सम्मेलन में अपने नए सिम 7000 ए एलटीई कैट-एम मॉड्यूल की घोषणा की। कितना रोमांचक है!:)

इन सबका आश्चर्यजनक हिस्सा यह है कि सिमकॉम ने अपने 2जी और 3जी मॉड्यूल से इस नए मॉड्यूल में माइग्रेट करना बेहद आसान बना दिया है! सिम७०००-श्रृंखला एक ही एटी कमांडों में से कई का उपयोग करती है जो मीलों तक सॉफ्टवेयर विकास को कम करती है! इसके अलावा, Adafruit के पास पहले से ही Github पर एक अद्भुत FONA लाइब्रेरी है जिसका उपयोग इस नए SIM7000 को पार्टी में पेश करने के लिए किया जा सकता है!

एलटीई कैट-एम क्या है?

LTE CAT-M1 को दूसरी पीढ़ी की LTE तकनीक माना जाता है और यह कम-शक्ति वाली और IoT उपकरणों के लिए अधिक उपयुक्त है। नैरोबैंड IoT (NB-IoT) या "CAT-M2" तकनीक एक लो-पावर वाइड एरिया नेटवर्क (LPWAN) तकनीक है जिसे विशेष रूप से कम-शक्ति वाले IoT उपकरणों के लिए डिज़ाइन किया गया है। यह एक अपेक्षाकृत नई तकनीक है जो दुर्भाग्य से अभी तक अमेरिका में उपलब्ध नहीं है, हालांकि कंपनियां बुनियादी ढांचे के परीक्षण और निर्माण पर काम कर रही हैं। रेडियो तकनीक (आरएफ) का उपयोग करने वाले IoT उपकरणों के लिए कई बातों का ध्यान रखना चाहिए: बिजली की खपतबैंडविड्थरेंजपैकेट आकार (बहुत सारे डेटा भेजें, इनमें से प्रत्येक में ट्रेडऑफ़ हैं (और मैं वास्तव में उन सभी की व्याख्या नहीं करूंगा); उदाहरण के लिए, बड़ी बैंडविड्थ उपकरणों को बहुत सारा डेटा भेजें (जैसे आपका फ़ोन, जो YouTube स्ट्रीम कर सकता है!) लेकिन इसका मतलब यह भी है कि यह बहुत शक्ति-भूख है। सीमा बढ़ाने (नेटवर्क का "क्षेत्र") भी बिजली की खपत को बढ़ाता है। NB-IoT के मामले में, बैंडविड्थ को कम करने का मतलब है कि आप अधिक डेटा नहीं भेज पाएंगे, लेकिन IoT उपकरणों के लिए क्लाउड पर डेटा के निवाले शूटिंग के लिए यह एकदम सही है! इसलिए, "संकीर्ण" -बैंड तकनीक, कम मात्रा में कम-शक्ति वाले उपकरणों के लिए आदर्श डेटा की लेकिन अभी भी लंबी दूरी (विस्तृत क्षेत्र) के साथ!

Arduino के लिए बॉटलेटिक्स SIM7000 शील्ड

मैंने जिस शील्ड को डिज़ाइन किया है, वह SIM7000-श्रृंखला का उपयोग करती है ताकि उपयोगकर्ताओं को उनकी उंगलियों की नोक पर अत्यंत कम-शक्ति LTE CAT-M तकनीक और GPS प्राप्त करने में सक्षम बनाया जा सके! शील्ड एक MCP9808 I2C तापमान सेंसर को भी स्पोर्ट करती है, जो कम से कम किसी चीज़ को मापने और सेलुलर कनेक्शन के माध्यम से भेजने के लिए बढ़िया है।

  • ढाल खुला स्रोत है! वाह!
  • सभी दस्तावेज (EAGLE PCB फाइलें, Arduino कोड और विस्तृत विकी) यहां Github पर पाए जा सकते हैं।
  • यह देखने के लिए कि आपके लिए कौन सा SIM7000 संस्करण सबसे उपयुक्त है, कृपया यह विकी पृष्ठ देखें।
  • Bolettics SIM7000 शील्ड किट यहाँ Amazon.com पर खरीदी जा सकती है

चरण 1: भागों को इकट्ठा करें

भागों को इकट्ठा करो
भागों को इकट्ठा करो
भागों को इकट्ठा करो
भागों को इकट्ठा करो
भागों को इकट्ठा करो
भागों को इकट्ठा करो
भागों को इकट्ठा करो
भागों को इकट्ठा करो

नीचे उन सभी भागों की सूची दी गई है जिनकी आपको आवश्यकता होगी:

  • Arduino या Arduino- संगत बोर्ड - Arduino Uno इसके लिए सबसे आम पसंद है! यदि आप LTE शील्ड को वास्तव में "शील्ड" के रूप में उपयोग करना चाहते हैं, तो आपको Arduino फॉर्म फैक्टर वाले Arduino बोर्ड का उपयोग करना चाहिए। स्पष्ट बताते हुए, आपको बोर्ड पर Arduino स्केच अपलोड करने के लिए एक प्रोग्रामिंग केबल की भी आवश्यकता होगी! यदि आप Arduino-form-factor बोर्ड का उपयोग नहीं कर रहे हैं तो यह भी ठीक है! इस विकी पेज में क्या कनेक्शन बनाना है, इस बारे में जानकारी है और विभिन्न माइक्रोकंट्रोलर का परीक्षण किया गया है, जिसमें ESP8266, ESP32, ATmega32u4, ATmega2560 और ATSAMD21 शामिल हैं।
  • बॉटलेटिक्स सिम७००० शील्ड किट - यह शील्ड दोहरी एलटीई/जीपीएस यूएफएल एंटेना और स्टैकिंग फीमेल हेडर्स के साथ आती है! बोर्ड तीन अलग-अलग संस्करणों (SIM7000A/C/E/G) में आता है और आप किस देश में रहते हैं, इसके आधार पर आपको सही संस्करण का चयन करना होगा। मैंने इस पेज को जीथब विकी पर बनाया है जो आपको दिखाता है कि कैसे पता लगाया जाए कि कौन सा संस्करण आपके लिए सबसे अच्छा है!
  • LTE CAT-M या NB-IoT सिम कार्ड - हालांकि किट में अब एक मुफ्त सिम कार्ड शामिल नहीं है, आप एक होलोग्राम सिम कार्ड ले सकते हैं जो आपको प्रति माह 1MB मुफ्त देता है और व्यावहारिक रूप से दुनिया में कहीं भी काम करता है क्योंकि होलोग्राम ने भागीदारी की है 500 से अधिक वाहकों के साथ! उनके पास पे-एज़-यू-गो और मासिक योजनाएं भी हैं और सिम कार्ड सक्रियण, होलोग्राम एपीआई, और बहुत कुछ पर तकनीकी सहायता के लिए एक महान सामुदायिक मंच है! यह संयुक्त राज्य अमेरिका में एटी एंड टी और वेरिज़ोन के एलटीई सीएटी-एम 1 नेटवर्क के लिए राष्ट्रव्यापी इस ढाल के साथ बहुत अच्छा काम करता है लेकिन ध्यान दें कि अन्य देशों में आपको स्थानीय प्रदाता से अपना सिम कार्ड प्राप्त करना पड़ सकता है क्योंकि होलोग्राम वाहक और सीएटी-एम के साथ साझेदारी करता है और NB-IoT अपेक्षाकृत नया है।
  • 3.7V LiPo बैटरी (1000mAH+): नेटवर्क की खोज करते समय या डेटा संचारित करते समय शील्ड महत्वपूर्ण मात्रा में करंट खींच सकती है और आप Arduino 5V रेल से सीधी शक्ति पर भरोसा नहीं कर सकते। बोर्ड पर JST कनेक्टर में 3.7V LiPo बैटरी प्लग करें और सुनिश्चित करें कि बैटरी बाईं ओर सकारात्मक तार से जुड़ी है (जैसे कि स्पार्कफुन या एडफ्रूट में पाए जाने वाले)। इसके अलावा, यह सुनिश्चित करना महत्वपूर्ण है कि बैटरी में कम से कम 500mAH क्षमता (न्यूनतम) होनी चाहिए ताकि पर्याप्त करंट की आपूर्ति हो सके और वर्तमान स्पाइक्स के दौरान मॉड्यूल को रिबूट होने से रोका जा सके। स्थिरता के लिए 1000mAH या इससे अधिक की अनुशंसा की जाती है। इस न्यूनतम क्षमता का कारण यह है कि LiPo बैटरी चार्जिंग सर्किटरी 500mA पर सेट है, इसलिए आपको यह सुनिश्चित करना चाहिए कि बैटरी को नुकसान से बचाने के लिए बैटरी कम से कम 500mAH क्षमता की हो।

चरण 2: शील्ड को इकट्ठा करें

शील्ड को इकट्ठा करें
शील्ड को इकट्ठा करें
शील्ड को इकट्ठा करें
शील्ड को इकट्ठा करें
शील्ड को इकट्ठा करें
शील्ड को इकट्ठा करें

ढाल का उपयोग करने के लिए आपको उस पर हेडर मिलाप करने की आवश्यकता होगी जब तक कि आप इस बोर्ड को "शील्ड" के रूप में उपयोग करने की योजना नहीं बनाते हैं और इसके बजाय एक स्टैंडअलोन मॉड्यूल का अधिक उपयोग करते हैं, जो कि पूरी तरह से ठीक भी है! ऐसा करने का एक उदाहरण एक Arduino Micro को नियंत्रक के रूप में उपयोग कर रहा है और इसे अलग से ढाल तक तार कर रहा है।

Arduino शील्ड के रूप में बोर्ड का उपयोग करने के लिए सबसे आम विकल्प महिला हेडर को स्टैक करना है, जो शील्ड के साथ शामिल हैं। हेडर को टांका लगाने के बाद, आगे बढ़ें और शील्ड को Arduino बोर्ड के ऊपर रखें (जब तक कि आप इसे स्टैंडअलोन बोर्ड के रूप में उपयोग नहीं कर रहे हों) और आप अगले चरण के लिए तैयार हैं!

नोट: पिनों को कैसे मिलाप करने के सुझावों के लिए आप जीथब विकी के इस पृष्ठ पर जा सकते हैं।

चरण 3: शील्ड पिनआउट

शील्ड पिनआउट
शील्ड पिनआउट
शील्ड पिनआउट
शील्ड पिनआउट
शील्ड पिनआउट
शील्ड पिनआउट

ढाल केवल Arduino के पिनआउट का उपयोग करती है, लेकिन विशिष्ट उद्देश्यों के लिए कुछ पिनों को जोड़ती है। इन पिनों को नीचे संक्षेप में प्रस्तुत किया जा सकता है:

पावर पिन

  • GND - सभी तर्क और शक्ति के लिए सामान्य आधार
  • 3.3V - 3.3V Arduino के नियामक से। इसका उपयोग वैसे ही करें जैसे आप Arduino पर करते हैं!
  • 5V / LOGIC - Arduino की यह 5V रेल LiPo बैटरी को चार्ज करती है जो SIM7000 को पावर देती है और I2C और लेवल शिफ्टिंग के लिए लॉजिक वोल्टेज भी सेट करती है। यदि आप 3.3V माइक्रोकंट्रोलर का उपयोग कर रहे हैं, तो 3.3V को शील्ड के "5V" पिन से कनेक्ट करें (कृपया नीचे दिया गया अनुभाग देखें)।
  • वीबीएटी - यह लीपो बैटरी वोल्टेज तक पहुंच प्रदान करता है और आम तौर पर Arduino पर किसी भी चीज़ से जुड़ा नहीं होता है, इसलिए आप इसे अपनी इच्छानुसार उपयोग करने के लिए स्वतंत्र हैं! यह SIM7000 मॉड्यूल के इनपुट वोल्टेज के समान ही है। यदि आप इस वोल्टेज को मापने और निगरानी करने के बारे में सोच रहे हैं, तो डेमो ट्यूटोरियल में "बी" कमांड देखें जो वोल्टेज को मापता है और बैटरी प्रतिशत प्रदर्शित करता है! याद रखें, लीपो बैटरी की आवश्यकता है!
  • VIN - यह पिन केवल Arduino पर VIN पिन से जुड़ा होता है। आप Arduino को पावर कर सकते हैं जैसा कि आप सामान्य रूप से इस पिन पर 7-12V के साथ करते हैं।

अन्य पिन

  • D6 - SIM7000 के PWRKEY पिन से कनेक्टेड
  • D7 - SIM7000 का रीसेट पिन (केवल आपातकालीन रीसेट के मामले में इसका उपयोग करें!)
  • D8 - UART डेटा टर्मिनल रेडी (DTR) पिन। इसका उपयोग "एटी + सीएससीएलके" कमांड का उपयोग करते समय मॉड्यूल को नींद से जगाने के लिए किया जा सकता है
  • D9 - रिंग इंडिकेटर (RI) पिन
  • D10 - SIM7000 का UART ट्रांसमिट (TX) पिन (इसका मतलब है कि आपको Arduino के TX को इससे कनेक्ट करना चाहिए!)
  • D11 - SIM7000 का UART रिसीव (RX) पिन (Arduino के TX पिन से कनेक्ट करें)
  • D12 - Arduino पर अच्छा 'ole D12, लेकिन आप इसे जम्पर को सोल्डर करके तापमान सेंसर के ALERT इंटरप्ट पिन से जोड़ सकते हैं
  • एसडीए/एससीएल - तापमान संवेदक I2C. के माध्यम से ढाल से जुड़ा है

यदि आप बोर्ड का उपयोग स्टैंडअलोन मॉड्यूल के रूप में कर रहे हैं, न कि "शील्ड" के रूप में, या यदि आप 5V के बजाय 3.3V तर्क का उपयोग कर रहे हैं, तो आपको "बाहरी होस्ट बोर्ड वायरिंग" अनुभाग में विस्तृत रूप से आवश्यक कनेक्शन बनाने की आवश्यकता होगी। यह जीथब विकी पेज।

हालांकि, अगर आपको केवल एटी कमांड का परीक्षण करना है, तो आपको केवल लीपो बैटरी और माइक्रो यूएसबी केबल कनेक्ट करने की आवश्यकता है, फिर यूएसबी के माध्यम से एटी कमांड का परीक्षण करने के लिए इन प्रक्रियाओं का पालन करें। ध्यान दें कि आप Arduino IDE के माध्यम से AT कमांड का परीक्षण भी कर सकते हैं, लेकिन इसके लिए UART के लिए कनेक्टिंग पिन D10/D11 की आवश्यकता होगी।

शील्ड पिनआउट और प्रत्येक पिन क्या करता है, इसके बारे में विस्तृत जानकारी के लिए, इस जीथब विकी पेज पर जाएं।

चरण 4: शील्ड को शक्ति देना

शील्ड को शक्ति देना
शील्ड को शक्ति देना

शील्ड को पावर देने के लिए, बस Arduino में प्लग करें और 3.7V LiPo बैटरी (1000mAH या अधिक क्षमता) में प्लग करें, जैसे Adafruit या Sparkfun में बेची गई बैटरी। बैटरी के बिना आप मॉड्यूल को बूट होते देखेंगे और उसके तुरंत बाद क्रैश हो जाएगा। आप अभी भी Arduino को पावर दे सकते हैं जैसा कि आप सामान्य रूप से USB केबल के माध्यम से या बाहरी रूप से VIN पिन पर 7-12V पावर स्रोत द्वारा करते हैं और Arduino पर 5V रेल LiPo बैटरी को चार्ज करेगा। ध्यान दें कि यदि आप एक मानक Arduino बोर्ड का उपयोग कर रहे हैं तो आप प्रोग्रामिंग केबल को प्लग इन रखते हुए इसे बाहरी पावर स्रोत के माध्यम से सुरक्षित रूप से पावर कर सकते हैं क्योंकि इसमें वोल्टेज-चयन सर्किटरी है।

एलईडी संकेत

पहले तो आप सोच रहे होंगे कि क्या बोर्ड जीवित है क्योंकि हो सकता है कि कोई एलईडी चालू न हो। ऐसा इसलिए है क्योंकि "पीडब्लूआर" एलईडी सिम७००० मॉड्यूल के लिए एक शक्ति संकेतक है, और यद्यपि आप बिजली की आपूर्ति कर रहे हैं, आपने अभी तक मॉड्यूल को चालू नहीं किया है! यह PWRKEY को कम से कम 72ms के लिए स्पंदित करके किया जाता है, जिसे मैं बाद में समझाऊंगा। इसके अलावा, यदि आपके पास एक बैटरी जुड़ी हुई है और यह पूरी तरह से चार्ज नहीं है, तो हरे रंग की "DONE" एलईडी चालू नहीं होगी, लेकिन अगर आपके पास बैटरी कनेक्टेड नहीं है, तो यह एलईडी चालू होनी चाहिए (और कभी-कभी फ्लैश हो सकती है जब यह छल हो जाती है) यह सोचकर कि मामूली वोल्टेज की बूंदों के कारण कोई भी बैटरी पूरी तरह से चार्ज नहीं होती है)।

अब जब आप जानते हैं कि सब कुछ कैसे पावर किया जाता है, तो सेल्युलर सामान पर चलते हैं!

चरण 5: सिम कार्ड और एंटीना

सिम कार्ड और एंटीना
सिम कार्ड और एंटीना
सिम कार्ड और एंटीना
सिम कार्ड और एंटीना
सिम कार्ड और एंटीना
सिम कार्ड और एंटीना
सिम कार्ड और एंटीना
सिम कार्ड और एंटीना

सिम कार्ड चुनना

फिर से, आपके सिम कार्ड को एलटीई सीएटी-एम (न केवल पारंपरिक एलटीई जैसे कि आपके फोन में है) या एनबी-आईओटी का समर्थन करने में सक्षम होना चाहिए, और इसे "माइक्रो" सिम आकार होना चाहिए। इस शील्ड के लिए मुझे जो सबसे अच्छा विकल्प मिला है वह होलोग्राम डेवलपर सिम कार्ड है जो 1 एमबी/माह मुफ्त में प्रदान करता है और पहले सिम कार्ड के लिए होलोग्राम के एपीआई और संसाधनों तक पहुंच प्रदान करता है! बस अपने Hologram.io डैशबोर्ड पर लॉग ऑन करें और इसे सक्रिय करने के लिए सिम का CCID नंबर दर्ज करें, फिर कोड में APN सेटिंग सेट करें (पहले से ही डिफ़ॉल्ट रूप से सेट)। यह परेशानी मुक्त है और दुनिया में कहीं भी काम करता है क्योंकि होलोग्राम विश्व स्तर पर 200 से अधिक वाहकों का समर्थन करता है!

यह ध्यान दिया जाना चाहिए कि SIM7000C/E/G संस्करण भी 2G फ़ॉलबैक का समर्थन करते हैं, इसलिए यदि आप वास्तव में परीक्षण करना चाहते हैं और आपके पास LTE CAT-M या NB-IoT सिम कार्ड नहीं है, तो भी आप 2G पर मॉड्यूल का परीक्षण कर सकते हैं।

सिम कार्ड डालना

सबसे पहले आपको सामान्य आकार के सिम कार्ड धारक से माइक्रो सिम को तोड़ना होगा। LTE शील्ड पर बैटरी कनेक्टर के पास बोर्ड के बाईं ओर सिम कार्ड धारक का पता लगाएं। इस धारक में सिम कार्ड डाला जाता है जिसमें सिम के धातु के संपर्क नीचे की ओर होते हैं और एक किनारे पर छोटा सा निशान सिम कार्ड धारक की ओर होता है।

एंटीना अच्छाई

शील्ड किट वास्तव में सुविधाजनक दोहरी एलटीई/जीपीएस एंटीना के साथ आती है! यह लचीला भी है (हालाँकि आपको इसे बहुत मोड़ने और मोड़ने की कोशिश नहीं करनी चाहिए क्योंकि यदि आप सावधान नहीं हैं तो आप एंटीना से एंटीना के तारों को तोड़ सकते हैं) और तल पर एक छील-दूर चिपकने वाला है। तारों को जोड़ना बहुत आसान है: बस तारों को लें और उन्हें ढाल के दाहिने किनारे पर मिलान करने वाले यूएफएल कनेक्टर पर स्नैप करें। नोट: सुनिश्चित करें कि आप एंटीना पर एलटीई तार को ढाल पर एलटीई कनेक्टर से मिलाते हैं, और जीपीएस तार के साथ भी ऐसा ही करते हैं क्योंकि वे क्रिस-क्रॉस होते हैं!

चरण 6: Arduino IDE सेटअप

Arduino IDE सेटअप
Arduino IDE सेटअप

यह SIM7000 शील्ड Adafruit FONA बोर्डों पर आधारित है और उसी लाइब्रेरी का उपयोग करता है लेकिन अतिरिक्त मॉडेम समर्थन के साथ बेहतर हुआ है। आप मेरे जीथब पेज पर मेरी संशोधित फोना लाइब्रेरी को कैसे स्थापित करें, इस पर पूरा निर्देश पढ़ सकते हैं।

आप यह भी देख सकते हैं कि इन निर्देशों का पालन करके MCP9808 तापमान संवेदक का परीक्षण कैसे किया जाता है, लेकिन यहाँ मैं मुख्य रूप से सेलुलर सामग्री पर ध्यान केंद्रित करूँगा!

चरण 7: Arduino उदाहरण

Arduino उदाहरण
Arduino उदाहरण
Arduino उदाहरण
Arduino उदाहरण
Arduino उदाहरण
Arduino उदाहरण

बॉड दर सेटअप

डिफ़ॉल्ट रूप से SIM7000 115200 बॉड पर चलता है लेकिन सॉफ्टवेयर सीरियल के लिए यह बहुत तेज़ है कि वह मज़बूती से संचालित हो सके और वर्ण बेतरतीब ढंग से स्क्वायर बॉक्स या अन्य विषम प्रतीकों के रूप में दिखाई दे सकते हैं (उदाहरण के लिए, "A" "@" के रूप में दिखाई दे सकता है)। यही कारण है कि यदि आप ध्यान से देखें, तो Arduino मॉड्यूल को हर बार प्रारंभ होने पर 9600 की धीमी बॉड दर पर कॉन्फ़िगर करता है। सौभाग्य से कोड द्वारा स्वचालित रूप से स्विचिंग का ध्यान रखा जाता है, इसलिए आपको इसे सेट करने के लिए कुछ विशेष करने की आवश्यकता नहीं है!

एलटीई शील्ड डेमो

इसके बाद, "LTE_Demo" स्केच खोलने के लिए इन निर्देशों का पालन करें (या उस स्केच का जो भी रूपांतर, इस पर निर्भर करता है कि आप किस माइक्रोकंट्रोलर का उपयोग कर रहे हैं)। यदि आप "सेटअप ()" फ़ंक्शन के अंत तक स्क्रॉल करते हैं, तो आपको एक लाइन दिखाई देगी "fona.setGPRSNetworkSettings(F("hologram"));" जो होलोग्राम सिम कार्ड के लिए एपीएन सेट करता है। इसकी नितांत आवश्यकता है, और यदि आप किसी भिन्न सिम कार्ड का उपयोग कर रहे हैं, तो आपको पहले कार्ड के दस्तावेज़ीकरण से परामर्श करना चाहिए कि एपीएन क्या है। ध्यान दें कि यदि आप होलोग्राम सिम कार्ड का उपयोग नहीं कर रहे हैं तो आपको केवल इस लाइन को बदलने की आवश्यकता है।

जब कोड चलता है तो Arduino SoftwareSerial का उपयोग करके UART (TX/RX) के माध्यम से SIM7000 के साथ संचार करने का प्रयास करेगा। ऐसा करने के लिए, निश्चित रूप से, SIM7000 को चालू करना होगा, इसलिए जब यह एक कनेक्शन स्थापित करने का प्रयास कर रहा हो, तो यह सुनिश्चित करने के लिए "PWR" एलईडी की जांच करें कि यह चालू है! (नोट: कोड चलने के बाद इसे लगभग 4s या तो चालू होना चाहिए)। Arduino सफलतापूर्वक मॉड्यूल के साथ संचार स्थापित करने के बाद आपको मॉड्यूल द्वारा किए जा सकने वाले कार्यों के समूह के साथ एक बड़ा मेनू देखना चाहिए! हालाँकि, ध्यान दें कि इनमें से कुछ SIMCom के अन्य 2G या 3G मॉड्यूल के लिए हैं, इसलिए सभी कमांड SIM7000 पर लागू नहीं होते हैं, लेकिन उनमें से बहुत सारे हैं! बस उस क्रिया के अनुरूप अक्षर टाइप करें जिसे आप करना चाहते हैं और सीरियल मॉनीटर के शीर्ष दाईं ओर "भेजें" पर क्लिक करें या केवल एंटर कुंजी दबाएं। विस्मय में देखें क्योंकि ढाल एक उत्तर को वापस थूकती है!

डेमो कमांड

नीचे कुछ आदेश दिए गए हैं जिन्हें आपको यह सुनिश्चित करने के लिए चलाना चाहिए कि आपका मॉड्यूल आगे बढ़ने से पहले सेट हो गया है:

  • नेटवर्क पंजीकरण की जांच के लिए "एन" टाइप करें और एंटर दबाएं। आपको "पंजीकृत (घर)" देखना चाहिए। यदि नहीं, तो जांचें कि क्या आपका एंटीना जुड़ा हुआ है और आपको पहले "जी" (नीचे समझाया गया) कमांड भी चलाना पड़ सकता है!
  • "i" दर्ज करके नेटवर्क सिग्नल की शक्ति की जाँच करें। आपको RSSI मान मिलना चाहिए; यह मान जितना अधिक होगा, उतना ही अच्छा होगा! मेरा ३१ था, जो सबसे अच्छा संकेत शक्ति ब्रैकेट इंगित करता है!
  • कुछ बहुत बढ़िया नेटवर्क जानकारी की जाँच करने के लिए कमांड "1" दर्ज करें। आप वर्तमान कनेक्शन मोड, वाहक का नाम, बैंड आदि प्राप्त कर सकते हैं।
  • यदि आपके पास बैटरी कनेक्ट है, तो बैटरी वोल्टेज और प्रतिशत पढ़ने के लिए "बी" कमांड आज़माएं। यदि आप बैटरी का उपयोग नहीं कर रहे हैं तो यह कमांड हमेशा लगभग 4200mV पढ़ेगा और इसलिए कहेगा कि यह 100% चार्ज है।
  • अब सेलुलर डेटा को सक्षम करने के लिए "जी" दर्ज करें। यह एपीएन सेट करता है और आपके डिवाइस को वेब से कनेक्ट करने के लिए महत्वपूर्ण है! यदि आपको "ERROR" दिखाई देता है, तो "g" का उपयोग करके डेटा को बंद करने का प्रयास करें और फिर से प्रयास करें।
  • यह जांचने के लिए कि क्या आप वास्तव में अपने मॉड्यूल के साथ कुछ कर सकते हैं, "w" दर्ज करें। यह आपको उस वेबपेज का URL दर्ज करने के लिए प्रेरित करेगा जिसे आप पढ़ना चाहते हैं, और उदाहरण URL "https://dweet.io/get/latest/dweet/for/sim7000test123" को कॉपी/पेस्ट करें और एंटर दबाएं। इसके तुरंत बाद यह आपको "{"this":"failed", "with":404, "क्योंकि":"हमें यह नहीं मिला"}" जैसा संदेश देना चाहिए (यह मानते हुए कि "sim7000test123" के लिए किसी ने डेटा पोस्ट नहीं किया है)
  • आइए अब सीरियल मॉनीटर में "2" दर्ज करके डमी डेटा को dweet.io पर एक मुफ्त क्लाउड एपीआई भेजने का परीक्षण करें। आपको इसे कुछ एटी कमांडों के माध्यम से चलाना चाहिए।
  • यह जांचने के लिए कि क्या डेटा वास्तव में प्राप्त हुआ है, फिर से "w" प्रयास करें और इस बार कोष्ठक के बिना "https://dweet.io/get/latest/dweet/for/{deviceID}" दर्ज करें, जहां डिवाइस आईडी IMEI है आपके डिवाइस की संख्या जिसे मॉड्यूल इनिशियलाइज़ेशन से सीरियल मॉनिटर के शीर्ष पर मुद्रित किया जाना चाहिए। आपको "सफल" और एक JSON प्रतिक्रिया दिखाई देनी चाहिए जिसमें वह डेटा हो जिसे आपने अभी भेजा था! (ध्यान दें कि ८७% बैटरी केवल एक डमी नंबर है जो कोड में सेट है और हो सकता है कि यह आपका वास्तविक बैटरी स्तर न हो)
  • अब जीपीएस का परीक्षण करने का समय आ गया है! "O" का उपयोग करके GPS को पावर सक्षम करें
  • स्थान डेटा को क्वेरी करने के लिए "L" दर्ज करें। ध्यान दें कि स्थान को ठीक करने से पहले आपको लगभग 7-10 सेकंड इंतजार करना पड़ सकता है। आप तब तक "L" दर्ज करना जारी रख सकते हैं जब तक कि यह आपको कुछ डेटा न दिखाए!
  • एक बार जब यह आपको डेटा देता है, तो इसे माइक्रोसॉफ्ट वर्ड या टेक्स्ट एडिटर में कॉपी और पेस्ट करें ताकि इसे पढ़ना आसान हो। आप देखेंगे कि तीसरी संख्या (संख्याओं को अल्पविराम से अलग किया जाता है) दिनांक और समय है, और अगले तीन नंबर आपके स्थान का अक्षांश, देशांतर और ऊंचाई (मीटर में) हैं! यह जांचने के लिए कि क्या यह सही था, इस ऑनलाइन टूल पर जाएं और अपना वर्तमान स्थान खोजें। यह आपको अक्षांश/लंबी और ऊंचाई देना चाहिए और इन मूल्यों की तुलना आपके जीपीएस द्वारा दिए गए मूल्यों से करनी चाहिए!
  • यदि आपको GPS की आवश्यकता नहीं है तो आप इसे "o" का उपयोग करके बंद कर सकते हैं
  • अन्य कमांड के साथ मज़े करें और एलटीई के माध्यम से एक मुफ्त क्लाउड एपीआई में डेटा कैसे भेजें, इस पर एक अच्छे उदाहरण के लिए "IoT_Example" स्केच देखें!

टेक्स्ट भेजें और प्राप्त करें

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

IoT उदाहरण: GPS ट्रैकिंग

एक बार जब आप सत्यापित कर लें कि सब कुछ अपेक्षित रूप से काम कर रहा है, तो "IoT_Example" स्केच खोलें।यह उदाहरण कोड जीपीएस स्थान और असर डेटा, तापमान और बैटरी स्तर को क्लाउड पर भेजता है! कोड अपलोड करें और विस्मय में देखें क्योंकि ढाल अपना जादू करती है! यह जांचने के लिए कि क्या डेटा वास्तव में क्लाउड पर भेजा गया था, किसी भी ब्राउज़र में "https://dweet.io/get/latest/dweet/for/{IMEI}" पर जाएं। मॉड्यूल आरंभीकरण के बाद सीरियल मॉनिटर, या आपके सिमकॉम मॉड्यूल पर मुद्रित) और आपको वह डेटा देखना चाहिए जो आपके डिवाइस ने भेजा है!

इस उदाहरण के साथ आप केवल एक बार चलने के बजाय बार-बार डेटा भेजने के लिए "#define sampleRate 30" के साथ लाइन को अनकम्मेंट कर सकते हैं। यह आपके डिवाइस को अनिवार्य रूप से एक जीपीएस ट्रैकिंग डिवाइस बनाता है!

अधिक जानकारी के लिए, कृपया मेरे द्वारा रीयल-टाइम GPS ट्रैकिंग के लिए बनाए गए ट्यूटोरियल देखें:

  • जीपीएस ट्रैकर ट्यूटोरियल भाग 1
  • जीपीएस ट्रैकर ट्यूटोरियल भाग 2

समस्या निवारण

सामान्य प्रश्नों और समस्या निवारण समस्याओं के लिए कृपया Github पर अक्सर पूछे जाने वाले प्रश्न पर जाएँ।

चरण 8: एटी कमांड के साथ परीक्षण

एटी कमांड्स के साथ परीक्षण
एटी कमांड्स के साथ परीक्षण

Arduino IDE से परीक्षण

यदि आप सीरियल मॉनिटर के माध्यम से मॉड्यूल को एटी कमांड भेजना चाहते हैं, तो सीरियल ट्यूब मोड में प्रवेश करने के लिए मेनू से "एस" कमांड का उपयोग करें। यह ऐसा करेगा जिससे आप सीरियल मॉनिटर में जो कुछ भी टाइप करेंगे वह मॉड्यूल को भेजा जाएगा। कहा जा रहा है, सीरियल मॉनिटर के निचले भाग में "एनएल और सीआर दोनों" को सक्षम करना सुनिश्चित करें, अन्यथा आपको अपने आदेशों का कोई जवाब नहीं दिखाई देगा क्योंकि मॉड्यूल को पता नहीं चलेगा कि आपने टाइपिंग कर ली है!

इस मोड से बाहर निकलने के लिए, बस अपने Arduino पर रीसेट बटन दबाएं। ध्यान दें कि यदि आप ATmega32u4 या ATSAMD21-आधारित बोर्ड का उपयोग कर रहे हैं, तो आपको सीरियल मॉनिटर को भी पुनरारंभ करना होगा।

Arduino IDE से AT कमांड भेजने के बारे में अधिक जानकारी के लिए, कृपया यह विकी पेज देखें।

यूएसबी के माध्यम से सीधे परीक्षण

शायद एक आसान तरीका (विंडोज उपयोगकर्ताओं के लिए) इस ट्यूटोरियल में विस्तृत विंडोज ड्राइवरों को स्थापित करना है और इसके बजाय शील्ड के माइक्रो यूएसबी पोर्ट का उपयोग करके एटी कमांड का परीक्षण करना है!

यदि आप अभी भी एटी कमांड के साथ प्रयोग करना चाहते हैं, लेकिन उन्हें एक क्रम में चलाना चाहते हैं और FONA लाइब्रेरी को बदलने के साथ खिलवाड़ नहीं करना चाहते हैं, तो आप एक साधारण छोटी लाइब्रेरी के साथ ऐसा कर सकते हैं जिसे मैंने "एटी कमांड लाइब्रेरी" कहा है, जिसे आप जीथब पर यहां पा सकते हैं। आपको बस इतना करना है कि ज़िप को रिपॉजिटरी से डाउनलोड करें और इसे अपने Arduino लाइब्रेरी फ़ोल्डर में निकालें और SIM7000 के लिए एक उदाहरण स्केच (जिसे "AT_Command_Test.ino" कहा जाता है) यहां एलटीई शील्ड जीथब रेपो में पाया जा सकता है। यह पुस्तकालय आपको टाइमआउट के साथ सॉफ्टवेयर सीरियल के माध्यम से एटी कमांड भेजने की अनुमति देता है, मॉड्यूल से एक विशिष्ट उत्तर के लिए जांच करता है, न तो, या दोनों!

चरण 9: वर्तमान खपत

IoT उपकरणों के लिए आप इन नंबरों को नीचे जाना चाहते हैं, तो आइए कुछ तकनीकी विशेषताओं पर एक नज़र डालें! वर्तमान खपत माप की विस्तृत रिपोर्ट के लिए, कृपया यह जीथब पृष्ठ देखें।

यहाँ एक त्वरित सारांश है:

  • SIM7000 मॉड्यूल संचालित बंद: संपूर्ण शील्ड 3.7V LiPo बैटरी पर <8uA खींचता है
  • स्लीप मोड लगभग 1.5mA (हरे PWR LED सहित, इसलिए शायद ~ 1mA इसके बिना) खींचता है और नेटवर्क से जुड़ा रहता है
  • ई-डीआरएक्स सेटिंग्स नेटवर्क बातचीत के चक्र समय को कॉन्फ़िगर कर सकती हैं और ऊर्जा की बचत कर सकती हैं, लेकिन आने वाले पाठ संदेशों जैसी चीजों में भी देरी करेगी जो इस बात पर निर्भर करती है कि चक्र का समय क्या है
  • LTE CAT-M1 नेटवर्क से कनेक्टेड, निष्क्रिय: ~12mA
  • जीपीएस ~ 32mA जोड़ता है
  • USB कनेक्ट करना ~20mA. जोड़ता है
  • LTE CAT-M1 पर डेटा ट्रांसमिशन ~ 96mA ~ 12s. के लिए है
  • ~10s. के लिए एसएमएस भेजना ~96mA
  • ~10s. के लिए एसएमएस प्राप्त करना ~89mA
  • PSM एक अद्भुत विशेषता की तरह लगता है, लेकिन अभी तक काम नहीं किया है

और यहाँ थोड़ा और स्पष्टीकरण है:

  • पावर डाउन मोड: SIM7000 को पूरी तरह से बंद करने के लिए आप "fona.powerDown ()" फ़ंक्शन का उपयोग कर सकते हैं। इस स्थिति में मॉड्यूल केवल 7.5uA खींचता है, और आपके द्वारा मॉड्यूल को बंद करने के तुरंत बाद "PWR" एलईडी भी बंद हो जानी चाहिए।
  • पावर सेविंग मोड (PSM): यह मोड पावर डाउन मोड की तरह है लेकिन मॉडम को संचालित रखते हुए केवल 9uA ड्राइंग करते समय मॉडेम नेटवर्क में पंजीकृत रहता है। इस मोड में केवल RTC की शक्ति सक्रिय होगी। उन ESP8266 प्रशंसकों के लिए, यह मूल रूप से "ESP.deepSleep ()" है और RTC टाइमर मॉड्यूल को जगा सकता है लेकिन आप कुछ बहुत अच्छी चीजें कर सकते हैं जैसे मॉडेम को एसएमएस भेजकर जगाना। हालाँकि, दुर्भाग्य से मुझे यह सुविधा काम करने के लिए नहीं मिली। यदि आप करते हैं तो निश्चित रूप से मुझे बताएं!
  • उड़ान मोड: इस मोड में अभी भी मॉड्यूल को बिजली की आपूर्ति की जाती है लेकिन आरएफ पूरी तरह से अक्षम है लेकिन सिम कार्ड अभी भी सक्रिय है और साथ ही यूएआरटी और यूएसबी इंटरफ़ेस भी है। आप "एटी + सीएफयूएन = 4" का उपयोग करके इस मोड में प्रवेश कर सकते हैं लेकिन मैंने इसे प्रभावी भी नहीं देखा।
  • न्यूनतम कार्यक्षमता मोड: यह मोड फ्लाइट मोड के समान है, सिवाय सिम कार्ड इंटरफेस के पहुंच योग्य नहीं है। आप "एटी + सीएफयूएन = 0" का उपयोग करके इस मोड में प्रवेश कर सकते हैं लेकिन आप "एटी + सीएससीएलके = 1" का उपयोग करके इस मोड में भी प्रवेश कर सकते हैं जिसके बाद जब मॉड्यूल निष्क्रिय मोड में होता है तो सिम 7000 डीटीआर पिन खींच लेगा। इस स्लीप मोड में डीटीआर लो खींचने से मॉड्यूल जाग जाएगा। यह आसान हो सकता है क्योंकि इसे जगाना इसे खरोंच से शक्ति देने की तुलना में बहुत तेज हो सकता है!
  • असंतत रिसेप्शन/ट्रांसमिशन (डीआरएक्स/डीटीएक्स) मोड: आप बोलने के लिए मॉड्यूल की "नमूना दर" को कॉन्फ़िगर कर सकते हैं, ताकि मॉड्यूल केवल टेक्स्ट संदेशों की जांच करे या तेज या धीमी दर पर डेटा भेजता है, जबकि सभी इससे जुड़े रहते हैं संजाल। यह वर्तमान खपत को काफी कम करता है!
  • "पीडब्लूआर" एलईडी को अक्षम करें: कुछ और पैसे बचाने के लिए आप इसके बगल में सामान्य रूप से बंद सोल्डर जम्पर को काटकर मॉड्यूल की पावर एलईडी को अक्षम कर सकते हैं। यदि बाद में आप अपना विचार बदलते हैं और इसे वापस चाहते हैं, तो बस जम्पर को मिलाप करें!
  • "नेटलाइट" एलईडी चालू/बंद: आप नीली नेटवर्क स्थिति एलईडी को पूरी तरह से बंद करने के लिए "एटी + सीएनईटीलाइट = 0" का भी उपयोग कर सकते हैं यदि आपको इसकी आवश्यकता नहीं है!
  • GNSS चालू/बंद: आप इनपुट पैरामीटर के रूप में सही या गलत के साथ "fona.enableGPS ()" कमांड का उपयोग करके GPS बंद करके 30mA बचा सकते हैं। यदि आप इसका उपयोग नहीं कर रहे हैं तो मेरा सुझाव है कि आप इसे बंद कर दें! इसके अलावा, मैंने पाया कि ठंड की शुरुआत से स्थान को ठीक करने में केवल 20s लगते हैं और केवल 2s के बारे में जब डिवाइस पहले से ही चालू होता है (जैसे यदि आप GPS बंद करते हैं तो वापस चालू करें और फिर से पूछें), जो बहुत तेज़ है ! आप वार्म/हॉट स्टार्ट और असिस्टेड जीपीएस के साथ भी प्रयोग कर सकते हैं।

चरण 10: निष्कर्ष

कुल मिलाकर, सिम७००० सुपर फास्ट है और एकीकृत जीपीएस के साथ अत्याधुनिक तकनीक का उपयोग करता है और शानदार सुविधाओं के साथ आता है! दुर्भाग्य से संयुक्त राज्य अमेरिका में हम में से उन लोगों के लिए, NB-IoT पूरी तरह से यहां तैनात नहीं है, इसलिए हमें इसके बाहर आने तक थोड़ा इंतजार करना होगा, लेकिन इस LTE शील्ड के साथ हम अभी भी AT&T और Verizon के नेटवर्क पर LTE CAT-M1 का उपयोग कर सकते हैं। यह ढाल कम-शक्ति वाले सेलुलर उपकरणों जैसे जीपीएस ट्रैकर्स, रिमोट डेटालॉगर्स, और बहुत कुछ के साथ प्रयोग करने के लिए बहुत अच्छा है! एसडी कार्ड स्टोरेज, सोलर पैनल, सेंसर और अन्य वायरलेस कनेक्टिविटी जैसी चीजों के लिए अन्य शील्ड और मॉड्यूल को शामिल करके, संभावनाएं लगभग अनंत हैं!

  • अगर आपको यह प्रोजेक्ट पसंद आया है, तो कृपया इसे दिल से दें और इसके लिए वोट करें!
  • यदि आपके पास कोई टिप्पणी, सुझाव या प्रश्न हैं, तो बेझिझक इसे नीचे पोस्ट करें!
  • अपनी खुद की शील्ड ऑर्डर करने के लिए, कृपया जानकारी के लिए मेरी वेबसाइट पर जाएं या इसे Amazon.com पर ऑर्डर करें
  • हमेशा की तरह, कृपया इस परियोजना को साझा करें!

इसके साथ ही, खुश DIY'ing और अपनी परियोजनाओं और सुधारों को सभी के साथ साझा करना सुनिश्चित करें!

~ टिम

सिफारिश की: