विषयसूची:

होममेड रीयलटाइम जीपीएस ट्रैकर (SIM800L, Ublox NEO-6M, Arduino): 8 कदम
होममेड रीयलटाइम जीपीएस ट्रैकर (SIM800L, Ublox NEO-6M, Arduino): 8 कदम

वीडियो: होममेड रीयलटाइम जीपीएस ट्रैकर (SIM800L, Ublox NEO-6M, Arduino): 8 कदम

वीडियो: होममेड रीयलटाइम जीपीएस ट्रैकर (SIM800L, Ublox NEO-6M, Arduino): 8 कदम
वीडियो: Variants of GPS 6M module | Tracking with Arduino 2024, जुलाई
Anonim
होममेड रीयलटाइम जीपीएस ट्रैकर (SIM800L, Ublox NEO-6M, Arduino)
होममेड रीयलटाइम जीपीएस ट्रैकर (SIM800L, Ublox NEO-6M, Arduino)

तो आपके पास मेरी तरह एक जीएसएम मॉड्यूल पड़ा है? जीपीएस-ट्रैकर भी?

हमारी एक सोच है!

इस निर्देश में, मैं आपको एक नौसिखिया के दृष्टिकोण से अपने लक्ष्य को पूरा करने के तरीके के बारे में मार्गदर्शन करने का प्रयास करूंगा।

जैसा कि मेरे पास कोई पिछला इलेक्ट्रिकल इंजीनियरिंग ज्ञान नहीं था (ईमानदार होने के लिए, परियोजना को इतनी अधिक आवश्यकता नहीं है, लेकिन नाह), और कोई सुराग नहीं था कि एक उपकरण कैसे बनाया जाए जो एक वेबसर्वर को वास्तविक समय में डेटा पंप करता है, मुझे कई समस्याओं का सामना करना पड़ा। फिर भी, मैं अंततः चीजों को काम करने में कामयाब रहा।

इसलिए, इस ट्यूटोरियल में, मैं उन गलतियों पर जोर देना चाहता हूं जो एक स्टार्टर कर सकता है, और उसी के अनुसार प्रोजेक्ट का निर्माण करना चाहता है।

याद रखें: बिजली के साथ काम करते समय हमेशा सावधान रहें!

नोट: मैं पेशेवर नहीं हूं। आपकी सभी जरूरतों के लिए कोड पर्याप्त परिष्कृत नहीं हो सकता है। परियोजना एक "शौक परियोजना" होने का इरादा है, लेकिन! यह मेरे लिए काम किया। और अगर यह मेरे लिए काम करता है, तो यह आपके लिए भी काम करेगा!

चरण 1: पूर्वापेक्षाएँ

आवश्यक शर्तें
आवश्यक शर्तें
आवश्यक शर्तें
आवश्यक शर्तें
आवश्यक शर्तें
आवश्यक शर्तें

जीएसएम मॉड्यूल - SIM800L

  • बहुत छोटा, उपयोग में आसान
  • मोबाइल इंटरनेट (जीपीआरएस) का उपयोग करने में सक्षम
  • सस्ता

जीपीएस मॉड्यूल - Ublox NEO6M

  • साथ ही छोटा
  • अपना काम बखूबी संभालती है

एक माइक्रोकंट्रोलर - कुछ भी हो सकता है - आप कुछ जगह खाली करने के लिए प्रसिद्ध Arduino Uno या नैनो का उपयोग कर सकते हैं

बैटरी - मैंने मुख्य, और केवल शक्ति स्रोत के रूप में 18650 सेल का उपयोग किया (नाममात्र 3.7V)

बैटरी धारक - क्यों? - क्योंकि 18650 बैटरी को सोल्डर करना गर्मी के कारण काफी खतरनाक है।

DC-DC बूस्ट कन्वर्टर स्टेप अप मॉड्यूल 5V - होना चाहिए, क्योंकि Arduino का उपयोग करने के बाद से मुझे 5V की आवश्यकता है

उपकरण, बुनियादी सामान जो काम आ सकता है:

तार, टांका लगाने वाला लोहा, परीक्षण के लिए ब्रेडबोर्ड

चरण 2: मुख्य अवधारणा

मुख्य अवधारणा
मुख्य अवधारणा

प्रणाली की मुख्य अवधारणा निम्नलिखित है:

इसमें 3 भाग होते हैं:

  1. एक उपकरण - जिसमें उचित जीपीएस-निर्देशांक होते हैं और सर्वर से दूरस्थ रूप से जुड़ सकते हैं और उसे डेटा भेज सकते हैं
  2. एक वेबसर्वर - जो आने वाले डेटा को प्राप्त कर सकता है - इसे संग्रहीत करता है - और अन्य ग्राहकों की सेवा करता है
  3. मंच - जहां हम निर्देशांक देख सकते हैं - आदर्श रूप से यह अब एक मोबाइल एप्लिकेशन, या एक वेबसाइट होना चाहिए

चरण 3: SIM800L मॉड्यूल

SIM800L मॉड्यूल
SIM800L मॉड्यूल
SIM800L मॉड्यूल
SIM800L मॉड्यूल

मेरे पास मॉड्यूल के साथ कठिन समय था।

मैं कुछ विशेषताओं और संदर्भों के साथ शुरुआत करना चाहूंगा।

डेटाशीट के अनुसार:

  • यह 3.4V - 4.4V. के बीच संचालित होता है
  • यह एसएमएस भेज सकता है, अन्य फोन पर वॉयस कॉल कर सकता है और यहां तक कि इंटरनेट से भी जुड़ सकता है!
  • हम इसके साथ एटी-कमांड के माध्यम से संवाद कर सकते हैं!
  • यह पीक समय में 2A तक का उपयोग कर सकता है! नोट: आप शायद इसे मल्टीमीटर से नहीं माप पाएंगे - इसकी कम सैंपलिंग दरों के कारण

मेरा अनुभव है कि 3.8V से नीचे का SIM800L वास्तव में काम नहीं करता है।

अधिक जानकारी के लिए देखें: डेटाशीट

तो आपका काम मॉड्यूल को कम से कम 3.8V (आदर्श रूप से 4V) प्रदान करना है, एक बिजली की आपूर्ति जो कम से कम 2A का उत्पादन करती है।

अंतिम डिवाइस में मॉड्यूल का उपयोग करने से पहले, मेरा सुझाव है कि आप यह सुनिश्चित करने के लिए अपने SIM800L और अपने कंप्यूटर के साथ संचार स्थापित करें कि आपका डिवाइस ठीक से काम कर रहा है।

सबसे पहले चीज़ें, सिम कार्ड में प्लग इन करें जैसे ऊपर चित्र में है।

इसे अपने पीसी से कनेक्ट करने के लिए, आप USB से TTL कन्वर्टर या Arduino का उपयोग कर सकते हैं।

अब, मैं Arduino के साथ जाता हूं।

SIM800L VCC और GND को अपने पावर स्रोत टर्मिनलों से कनेक्ट करें।

TX को Arduino 10वें डिजिटल पिन से, RX को arduino 11वें डिजिटल पिन से कनेक्ट करें।

कोड डाउनलोड करें, मैंने इस चरण में लिंक किया है।

कोड के साथ, आप अपने सीरियल मॉनिटर पर कमांड भेज सकते हैं और उन्हें वापस प्राप्त कर सकते हैं।

कुछ सरल आदेश:

एटी रिटर्न ओके, अगर कनेक्शन ठीक है।

एटीडी+123456789; किसी दिए गए फ़ोन नंबर पर कॉल करें। नोट: इसे अर्धविराम से समाप्त करना न भूलें।

एटी+सीपीआईएन? सिम कार्ड की स्थिति लौटाता है (लॉक या नहीं)

यदि आप एक एसएमएस भेजना चाहते हैं, तो आपको एक विशेष वर्ण के साथ अपना इनपुट समाप्त करना होगा, यह '$' प्रतीक के साथ किया जा सकता है।

आगे के दिलचस्प आदेशों के लिए मेरा सुझाव है कि आप इसे पढ़ें।

विभिन्न आदेश हैं, उनसे परिचित हों, वे वास्तव में उपयोगी हैं।

एक लाल स्थिति एलईडी है जो आपको बताती है कि SIM800L किस ऑपरेशन में है।

64 MS ON - 800MS OFF - SIM800L नेटवर्क पर पंजीकृत नहीं है।

64 MS ON - 3000MS OFF - SIM800L नेटवर्क पर पंजीकृत है।

64 MS ON - 300MS OFF - SIM800l GPRS मोड में है

यदि SIM800L लगभग 8-10 ब्लिंक के बाद भी पुनरारंभ होता रहता है, तो यह कुशल बिजली आपूर्ति की कमी के कारण हो सकता है।

यदि आप AT के बाद ठीक नहीं होते हैं, तो वायरिंग की जाँच करें! यदि आपके पास एक मल्टीमीटर है, तो तारों की निरंतरता की जांच करें।

तारों और मिलाप जोड़ों के कनेक्शन की जाँच करें! मॉड्यूल केवल पलक झपकते ही काम करेगा।

चरण 4: Ublox Neo 6m

Ublox नियो 6m
Ublox नियो 6m
Ublox नियो 6m
Ublox नियो 6m

कुछ विशेषताएं

  • अधिकतम वोल्टेज: 3.6V - मैंने इसे Arduino के 3.3V पिन. के साथ संचालित किया
  • अधिकतम करंट ड्रा 67mA है - इसलिए आप इसे arduino. से पावर कर सकते हैं
  • तापमान सीमा:: -40-85 सेल्सियस (मुझे लगता है कि यह आपके लिए उपयुक्त होगा)

मैंने जिस इकाई का आदेश दिया था वह चित्र पर देखे गए एंटीना के साथ आई थी, मैं बस उसे संबंधित स्लॉट में प्लग करता हूं।

जब डिवाइस में सिग्नल होते हैं, तो नीली एलईडी से झपकाता है।

यदि आप नहीं जानते हैं, तो पहले जांचें कि जीपीएस यहां कैसे काम करता है।

जब डिवाइस चालू होता है, और 3 उपग्रह पाता है, तो यह ऊपर की तरह Arduino को बहुत सारे अल्पविराम से अलग मान भेजता है।

हमारे काम में मदद करने के लिए, हम इस डेटा को और अधिक मानव पठनीय होने के लिए पार्स करने के लिए कुछ बाहरी पुस्तकालयों का उपयोग कर सकते हैं।

आप TinyGps लाइब्रेरी या NeoGPS लाइब्रेरी का उपयोग कर सकते हैं। मैंने दूसरा इस्तेमाल किया क्योंकि वह अधिक हल्का है।

परीक्षण के लिए, आपको पावर पिन को arduino 3.3V और GND से जोड़ना होगा।

इस कोड को डाउनलोड करें, और इसे अपने जीपीएस के साथ प्रयोग करें। RX डिजिटल पिन 10, TX डिजिटल पिन 11

नोट: मॉड्यूल को बाहर उपयोग करना न भूलें, अधिमानतः जब कोई बादल न हो।

आधे मिनट के बाद, डिवाइस को आपके GPS निर्देशांकों को ब्लिंक और आउटपुट करना चाहिए!:)

एक बार, आप जानते हैं कि आपका SIM800L और GPS मॉड्यूल पर्याप्त रूप से काम कर रहा है, तो आप अगले चरण पर जा सकते हैं।

चरण 5: सर्किटरी

सर्किट
सर्किट

सर्किट चित्र के अनुसार है।

तो, 3.4V - 4.2V 18650 बैटरी मुख्य शक्ति स्रोत है। Sim800L इससे सीधे ऊर्जा प्राप्त करता है। परिपथ की स्थिरता में सुधार करने के लिए समानांतर में उनके बीच एक संधारित्र होता है।

जब आप कैपेसिटर चुनते हैं, तो आपको कम ESR कैपेसिटर चुनना चाहिए।

एक 5V स्टेप-अप कन्वर्टर बैटरी के वोल्टेज को 5V तक बढ़ा देता है (ir की आवश्यकता होती है क्योंकि Arduino 5V के साथ काम करता है)।

5वी पावर रेल यहां नैनो से जुड़ी है। चित्र के अनुसार Sim800L और Neo6m नैनो के साथ जुड़े हुए हैं। (सिम Tx-D10, SimRx-D11; NeoTX-D3, NeoRX-D4)

D12 RST से जुड़ा है, इसलिए हम सिस्टम को प्रोग्रामिक रूप से रिबूट करने में सक्षम हैं (SIM800L को छोड़कर)। नोट: यह रीबूट मेथोड सर्वोत्तम अभ्यास नहीं हो सकता है)

और अंत में, दो LEDS NANO से जुड़े हुए हैं, इसलिए हम उपयोगकर्ता को बता सकते हैं कि क्या कोई त्रुटि हो रही है।

चरण 6: कोड

कोड इंस्ट्रक्शंस से जुड़ा हुआ है या जीथब पर एक नज़र डालें।

आप अपनी आवश्यकताओं के लिए ठीक से काम करने के लिए इसे संशोधित कर सकते हैं, या आप चाहें तो दूसरे के कोड का उपयोग कर सकते हैं।

प्रतीक्षा करें जब तक (); उनके कोड से हेल्पर फंक्शन लिया गया था। उसके काम की जाँच करें, और कोड भी!

संक्षेप में, सेटअप फ़ंक्शन में, हमें अपने SIM800L मॉड्यूल के GPRS कनेक्शन को सक्षम करने की आवश्यकता है। हम जानते हैं कि अगर एलईडी तेजी से झपकाती है तो यह सफल होता है। (सेटअपGPRSकनेक्शन ())

लूप फ़ंक्शन में - प्रत्येक 15 सेकंड में SendData () फ़ंक्शन को कहा जाता है - जिसमें HTTP अनुरोध होता है

मैंने इस प्रारूप में वेबसर्वर को डेटा पुश करने के लिए क्वेरी स्ट्रिंग्स का उपयोग किया:

ip पता/file.php?key=value&key=value उदा.

यदि कोई त्रुटि होती है, तो संबंधित एलईडी जल जाएगी। (सिम, जीपीएस)

चरण 7: वेबसर्वर

वेब सर्वर
वेब सर्वर

हमारे उपयोग के लिए, एक साधारण हल्का वेबसर्वर पर्याप्त है।

कुछ विकल्प हैं जिन्हें आप चुन सकते हैं:

  1. आप किसी कंपनी के रिमोट सर्वर का उपयोग कर सकते हैं, जिसके लिए आपको शायद नियमित रूप से भुगतान करना होगा।
  2. आप अपने खुद के कंप्यूटर का उपयोग कर सकते हैं। मैं केवल इसे परीक्षण के लिए सुझाता हूं, ऊर्जा की बर्बादी, सुरक्षा मुद्दों के कारण इसे 24/7 चलाना वास्तव में कुशल नहीं है।
  3. आप रास्पबेरी पीआई जैसे छोटे कंप्यूटर का उपयोग कर सकते हैं। हल्का, सस्ता, ज्यादा बिजली की खपत नहीं करता है।

मैंने दूसरे और तीसरे विकल्प की कोशिश की, उन्होंने अच्छा काम किया। खैर, मुख्य उद्देश्य इस निर्देश के सर्वर नहीं हैं, लेकिन मैं आपको कुछ सलाह देता हूं।

यदि आप एक पीसी का उपयोग करते हैं, तो आप शायद विंडोज का उपयोग करते हैं। अगर मैं तुम होते, तो मैं उस पर एक अपाचे या एक्सएएमपीपी सर्वर स्थापित करता।

XAMPP में पहले से ही PHP है, इसके अलावा यह HTML, पर्ल और एक डेटाबेस मैनेजिंग सिस्टम के साथ भी आता है। PHP के साथ, आप एक डायनामिक सर्वर बना सकते हैं। यदि आप दुनिया में कहीं से भी अपने द्वारा बनाए गए स्थानीय सर्वर का उपयोग करना चाहते हैं, तो आपको अपने पीसी को स्थिर आईपी असाइन करने और कुछ पोर्टफॉरवर्डिंग करने की आवश्यकता है। स्थिर आईपी के लिए एक उपयोगी ट्यूटोरियल:

और पूरी पोर्टफ़ॉरवर्डिंग चीज़:

यदि आपके पास रास्पबेरी है, तो इसका उपयोग करना एक अच्छा अभ्यास है। आप Linux कमांड से परिचित हो सकते हैं, और अपना सर्वर 24/7 चला सकते हैं।

ओएस एक हेडलेस सेटअप (कोई कीबोर्ड, मॉनिटर) के साथ रास्पियन जेसी था - मैंने इसे अपने कंप्यूटर से एसएसएच कनेक्शन के साथ नियंत्रित किया।

मैंने अपने रास्पबेरी में लॉग इन करने के लिए पुट्टी का इस्तेमाल किया। अपने खाते का पासवर्ड बदलना न भूलें, ताकि अन्य लोग आपको पाई में लॉग इन न कर सकें। डिफ़ॉल्ट है: पीआई, पासव: रास्पबेरी।

मैंने sqlite3 के साथ एक लाइटटैप वेबसर्वर स्थापित किया। अच्छा ट्यूटोरियल यहां मिला:

मैंने सर्वर कोड में मुख्य रूप से PHP का उपयोग किया है। PHP के साथ आप डेटा प्राप्त कर सकते हैं, डेटाबेस पढ़ सकते हैं/लिख सकते हैं - एक क्वेरी को एक जेसन प्रारूप में एन्कोड कर सकते हैं, आदि … यह ट्यूटोरियल आपको बहुत मदद करेगा, PHP के साथ अपने डेटाबेस को कैसे प्रबंधित करें।

आप मेरे कोड को जीथब पर भी देख सकते हैं, server_files फ़ोल्डर में।

और निश्चित रूप से, यदि आप इसे दूरस्थ रूप से एक्सेस करना चाहते हैं, तो आपको अपने राउटर पर अपने पीआई को पोर्टफॉरवर्डिंग सक्षम करना होगा।

चरण 8: समाप्ति / अनुभव

अभी घेरा बनाया जाना है।

मेरा अनुभव यह है कि, सिस्टम बहुत खराब नहीं काम करता है। लेकिन स्थिरता में सुधार की प्रतीक्षा है।

यदि ट्रैकर मेरे द्वारा संलग्न कोड के साथ काम नहीं करता है, तो चिंता न करें। यह सुनिश्चित करने का प्रयास करें कि SIM800L और NEO 6M ठीक उसी तरह काम कर रहे हैं जैसे उन्हें करना चाहिए। आप मेरे कोड को स्वतंत्र रूप से संशोधित कर सकते हैं, या बेहतर खोज सकते हैं। मुझे बस उम्मीद है, कि मैं आपको एक उदाहरण दिखा सकता हूं कि आप इस परियोजना को कैसे पूरा कर सकते हैं।

मैं टिप्पणियों से किसी भी सलाह, सुधार को स्वीकार करता हूं। पूछने के लिए स्वतंत्र।

सिफारिश की: