विषयसूची:

DragonBoard और OBD2: 12 कदम
DragonBoard और OBD2: 12 कदम

वीडियो: DragonBoard और OBD2: 12 कदम

वीडियो: DragonBoard और OBD2: 12 कदम
वीडियो: Introduction to Building IoT Solutions with Microsoft Azure 2024, जुलाई
Anonim
ड्रैगनबोर्ड और OBD2
ड्रैगनबोर्ड और OBD2

आपकी कार में OBD2 पोर्ट से जो डेटा निकलता है उसे पढ़कर उसमें से आश्चर्यजनक जानकारी जुटाना संभव है। DragonBoard 410c का उपयोग करते हुए, हमने इस परियोजना पर काम किया और इसे यहां विस्तृत किया ताकि आप इसे स्वयं कर सकें।

यह परियोजना केवल #Qualcomm #Embarcados #Linaro #Arrow #BaitaAceleradora के साथ साझेदारी के कारण ही संभव थी, जिसने हमें बाजार पर सर्वश्रेष्ठ हार्डवेयर तक पहुंच प्रदान करने के साथ-साथ विकास का समर्थन करने के लिए सर्वश्रेष्ठ पेशेवरों से संपर्क करने की अनुमति दी।

टीम इन लोगों द्वारा बनाई गई थी:

  • मार्सेल ओगांडो - हैकर - [email protected]
  • लिएंड्रो अल्वर्नाज़ - हैकर [email protected]
  • थियागो पॉलिनो रोड्रिग्स - मार्केटिंग - [email protected]

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

पैरा सेगुइर एस्टे प्रोजेटो एम Português, क्लिक एक्वी:

www.instructables.com/id/DragonBoard-Com-OBD

इस परियोजना के लिए हमने निम्नलिखित मदों का उपयोग किया:

  • क्वालकॉम ड्रैगनबोर्ड 410c
  • ELM327 ब्लूटूथ OBD2 इंटरफ़ेस
  • डोंगल यूएसबी 3जी/4जी
  • टेंशन इन्वर्टर कार चार्जर (110v)

चरण 1: DragonBoard 410c प्रारंभिक सेटअप करना**

DragonBoard 410c प्रारंभिक सेटअप निष्पादित करना**
DragonBoard 410c प्रारंभिक सेटअप निष्पादित करना**
DragonBoard 410c प्रारंभिक सेटअप निष्पादित करना**
DragonBoard 410c प्रारंभिक सेटअप निष्पादित करना**
DragonBoard 410c प्रारंभिक सेटअप निष्पादित करना**
DragonBoard 410c प्रारंभिक सेटअप निष्पादित करना**

Qualcomm DragonBoard 410c का उपयोग करते हुए, हमने Linaro नामक Linux के वितरण को स्थापित करके परियोजना शुरू की, जिससे हमें सभी आवश्यक उपकरणों को सेटअप करने की अनुमति मिली।

DragonBoard के लिए Linaro की एक छवि बनाने के लिए, VirtualBox पर Ubunto का उपयोग करें, ताकि आप FastBoot (जो कि एक Linux आधारित ऐप है) का उपयोग कर सकें। तो मूल रूप से आपको वीएम उबंटू में टर्मिनल खोलना है और दर्ज करना है:

sudo apt-get android-tools-fastboot

लिनारो को स्थापित करने के लिए, हमें 2 महत्वपूर्ण चरणों से गुजरना होगा:

1) बूटलोडर स्थापित करना

फ़ाइल का नाम: Dragonboard410c_bootloader_emmc_linux-79.zip

builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/

फ़ाइलों को अनज़िप करें और फ़ोल्डर का चयन करें:

cd /FolderName (अनज़िप्ड फ़ोल्डर का पथ)

निम्नलिखित कोड दर्ज करें:

सुडो फास्टबूट डिवाइस

अपेक्षित आय:

(हेक्साडेसिमल) फास्टबूट

फिर टाइप करें:

सुडो./फ्लैशहॉल

अपेक्षित आय:

ख़त्म होना। कुल समय 1.000s (त्रुटियों के बिना)

परिचालन प्रणाली की स्थापना

builds.96boards.org/releases/dragonboard410c/linaro/debian/latest/

इन 2 फाइलों को डाउनलोड करें:

boot-linaro-stretch-qcom-snapdragon-arm64-20170607-246.img.gz

यह आज तक (जून/17) उपलब्ध नवीनतम संस्करण है, इसलिए भविष्य में नाम बदल सकता है। आप जिस पैटर्न की तलाश कर रहे हैं वह "बूट-लिनारो-संस्करणनाम" है। इसे "स्ट्रेच" कहा जाता है और पिछला "जेसी" था।

लिनारो-स्ट्रेच-एलिप-क्यूकॉम-स्नैपड्रैगन-आर्म64-20170607-246.img.gz

यह अब तक का नवीनतम संस्करण है (जून/17) और भविष्य में नाम बदल सकता है। पैटर्न "लिनारो-संस्करणनाम-एलिप" की तलाश करें।

. GZ. से फ़ाइलें अनज़िप करें

अनज़िप की गई फ़ाइलों के संबंध में "रूट" फ़ोल्डर तक पहुँचें

उदाहरण: "/ डाउनलोड" जो कि डाउनलोड की गई फ़ाइलों को संग्रहीत करने का स्थान है।

अब निम्नलिखित कमांड से शुरू करें:

सुडो फास्टबूट डिवाइस

सुडो फास्टबूट फ्लैश बूट बूट-लिनारो-नोमडावर्सão-qcom-snapdragon-arm64-DATA.img

अपेक्षित वापसी (याद रखना समय भिन्न हो सकता है):

ख़त्म होना। कुल समय: 100.00s

एचडीएमआई पोर्ट का उपयोग करके माउस, कीबोर्ड और मॉनिटर/टीवी कनेक्ट करें

इसे हाथ में लें:

उपयोगकर्ता: लिनारो

पासवर्ड: लिनारो

ऐप एलएक्सटर्मिनल खोलें और इंस्टॉल किए गए पैकेजों के संबंध में उपलब्ध अपडेट सूची के डाउनलोड के साथ आगे बढ़ें:

सुडो एपीटी-अपडेट प्राप्त करें

सूची से उपलब्ध पैकेजों को स्थापित करना सुनिश्चित करें:

सुडो एपीटी-अपग्रेड प्राप्त करें

संकेत: लिनारो को एक अत्यंत तेज़ बूट के कारण चुना गया था, और एक समुदाय बहुत व्यस्त और समस्या समाधान उन्मुख है, जो बहुत समय बचाता है।

चरण 2: अपने GPS एंटेना का उपयोग करके अपने DragonBoard 410c का पता लगाना

अपने GPS एंटेना का उपयोग करके अपने DragonBoard 410c का पता लगाना
अपने GPS एंटेना का उपयोग करके अपने DragonBoard 410c का पता लगाना
अपने GPS एंटेना का उपयोग करके अपने DragonBoard 410c का पता लगाना
अपने GPS एंटेना का उपयोग करके अपने DragonBoard 410c का पता लगाना

आवश्यक ऐप्स इंस्टॉल करके प्रारंभ करें जो GPS मॉड्यूल के क्लाइंट होंगे। ऐप के नाम हैं: जीएनएसएस-जीपीएसडी, जीपीएसडी और जीपीएसडी-क्लाइंट। ऐसा करने के लिए, आदेशों का पालन करें:

sudo apt-get install gnss-gpsd gpsd gpsd-clients

इन ऐप्स को इंस्टॉल करने के साथ, आपको इसे ठीक से शुरू करने के लिए और अधिक कमांड की आवश्यकता होगी:

sudo systemctl start qdsp-start.service

sudo systemctl start gnss-gpsd.service sudo systemctl start qmi-gps-proxy.service

अब ड्रैगनबोर्ड 410c को आकाश के स्पष्ट दृश्य के साथ एक विस्तृत खुले क्षेत्र में ले जाएं, जिससे यह उपग्रहों से संकेत प्राप्त कर सके। अब टर्मिनल में टाइप करें:

जीपीएसमोन -एन

हमारे परीक्षणों से, डेटा औसतन 10 मिनट के बाद स्क्रीन पर दिखना शुरू हो जाएगा। यह जगह-जगह बहुत कुछ बदलता है, खिड़की पर या घर के अंदर ड्रैगनबोर्ड की स्थिति के अलावा, जीपीएस सिग्नल रिसेप्शन में हस्तक्षेप करने वाली कई अन्य बाधाओं के अलावा।

चरण ३: ३जी/४जी यूएसबी डोंगल स्थापित करना

३जी/४जी यूएसबी डोंगल स्थापित करना
३जी/४जी यूएसबी डोंगल स्थापित करना
३जी/४जी यूएसबी डोंगल स्थापित करना
३जी/४जी यूएसबी डोंगल स्थापित करना
३जी/४जी यूएसबी डोंगल स्थापित करना
३जी/४जी यूएसबी डोंगल स्थापित करना
३जी/४जी यूएसबी डोंगल स्थापित करना
३जी/४जी यूएसबी डोंगल स्थापित करना

DragonBoard 410c को 3G/4G/GSM नेटवर्क से जोड़ने के कुछ तरीके हैं:

  • एक जीएसएम मॉडम के साथ शील्ड / ब्रेकआउट बोर्ड का उपयोग करना जिसमें सिमकार्ड स्लॉट भी हो;
  • USB 3G/4G डोंगल का उपयोग करें।

इस परियोजना के लिए हमने Huawei के E3272 USB डोंगल का उपयोग करने का निर्णय लिया, क्योंकि इसे खरीदना आसान और त्वरित था।

मॉडेम को कॉन्फ़िगर करने के लिए आप टर्मिनल का उपयोग कर सकते हैं (WVDial ऐप का उपयोग करके), लेकिन इसे करने का सबसे आसान तरीका लिनारो के ग्राफिक यूजर इंटरफेस (जीयूआई) का उपयोग करना है। इसके लिए इस प्रकार है:

  • ड्रैगनबोर्ड से जुड़े यूएसबी डोंगल के साथ, स्क्रीन के निचले दाएं कोने पर "नेटवर्क" आइकन पर राइट-क्लिक करें;
  • "कनेक्शन संपादित करें"> "जोड़ें";
  • ड्रॉपडाउन मेनू से "मोबाइल ब्रॉडबैंड" चुनें;
  • "बनाएं" पर क्लिक करें।

विज़ार्ड के निर्देशों का पालन करें, मेनू से उचित कैरियर का चयन करना सुनिश्चित करें, जिससे डिवाइस तदनुसार कनेक्ट हो सके।

चरण 4: DragonBoard 410c को Wifi Hotspot / Access Point में बदलना

DragonBoard 410c को Wifi हॉटस्पॉट / एक्सेस प्वाइंट में बदलना
DragonBoard 410c को Wifi हॉटस्पॉट / एक्सेस प्वाइंट में बदलना
DragonBoard 410c को Wifi हॉटस्पॉट / एक्सेस प्वाइंट में बदलना
DragonBoard 410c को Wifi हॉटस्पॉट / एक्सेस प्वाइंट में बदलना
DragonBoard 410c को Wifi हॉटस्पॉट / एक्सेस प्वाइंट में बदलना
DragonBoard 410c को Wifi हॉटस्पॉट / एक्सेस प्वाइंट में बदलना

DragonBoard 410c को वाईफाई राउटर या हॉटस्पॉट (अब जब आपने इंटरनेट कनेक्शन कॉन्फ़िगर कर लिया है) के रूप में कॉन्फ़िगर करने का सबसे आसान तरीका सिस्टम के GUI का उपयोग करना है। ऐसा करने के लिए, नीचे दिए गए चरणों का पालन करें:

  • निचले दाएं कोने में नेटवर्क आइकन पर राइट क्लिक करें
  • "कनेक्शन संपादित करें" चुनें और फिर "जोड़ें"
  • "वाईफाई" चुनें
  • बनाएं क्लिक करें

उस नेटवर्क का नाम बदलें जिसे आप "SSID" फ़ील्ड में बनाना चाहते हैं और "मोड" फ़ील्ड को "हॉटस्पॉट" में बदलें।

यह सुनिश्चित करने के लिए कि यह काम करेगा, निम्नलिखित को सत्यापित करें:

  • "आईपीवी4 सेटिंग्स" टैब पर जाएं
  • सत्यापित करें कि "विधि"

चरण 5: हॉटस्पॉट कनेक्टिविटी के माध्यम से SSH का उपयोग करके DragonBoard 410c को वायरलेस तरीके से एक्सेस करना

हॉटस्पॉट कनेक्टिविटी के माध्यम से SSH का उपयोग करके DragonBoard 410c को वायरलेस तरीके से एक्सेस करना
हॉटस्पॉट कनेक्टिविटी के माध्यम से SSH का उपयोग करके DragonBoard 410c को वायरलेस तरीके से एक्सेस करना

हम ड्रैगनबोर्ड को दूरस्थ रूप से एक्सेस करने का एक तरीका बनाने में कामयाब रहे, इससे कोई फर्क नहीं पड़ता कि आप इसके पास हैं या नहीं। आमतौर पर आपको वाईफाई या ब्लूटूथ का उपयोग करके बोर्ड से ही जुड़ना होगा। दूसरा तरीका, उसी वाईफाई नेटवर्क (जैसे: राउटर से) से कनेक्ट करके इसे एक्सेस करना होगा। अगले चरणों का पालन करके, हम एक स्व-निहित डिवाइस बना रहे हैं, जो अपना नेटवर्क उत्पन्न करता है, और स्वयं को वेब पर खोलता है, ताकि उस तक पहुंचा जा सके।

आप नीचे दिए गए कोड का उपयोग करके "ऑटो एसएसएच" स्थापित करके शुरू कर सकते हैं:

sudo apt-gcc make स्थापित करें

wget https://www.harding.motd.ca/autossh/autossh-1.4e.tgz tar -xf autossh-1.4e.tgz cd autossh-1.4e./configure make sudo make install

अब हम RSA मानक का उपयोग करते हुए एक क्रिप्टोग्राफ़िक कुंजी बनाने जा रहे हैं। इस कुंजी का उपयोग 3जी मोडेम के सार्वजनिक आईपी के माध्यम से सुरक्षित रूप से एक लिनक्स एंडपॉइंट इंस्टेंस तक पहुंचने के लिए किया जा रहा है। इस कदम का मुख्य लक्ष्य। निम्न कोड उस कुंजी को Linux के Trusted Keys Repository में कॉपी कर देगा, यह सुनिश्चित करते हुए कि कनेक्शन में और भी अधिक सुरक्षा है।

ssh-keygen -t rsa

scp ~/.ssh/id_rsa.pub user@remote_server:.ssh/authorized_keys autossh -M 0 -q -f -N -i /home/pi/.ssh/id_rsa -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -आर 2222: लोकलहोस्ट: 22 यूजर @ रिमोट_सर्वर

इन चरणों का पालन करके, आपने क्वालकॉम ड्रैगनबोर्ड 410c को क्लाउड सर्वर में बदल दिया है! \o/

चरण 6: ब्लूटूथ का उपयोग करके DragonBoard 410c को कार के OBD से कनेक्ट करना - भाग 1/2

ब्लूटूथ का उपयोग करके DragonBoard 410c को कार के OBD से कनेक्ट करना - भाग 1/2
ब्लूटूथ का उपयोग करके DragonBoard 410c को कार के OBD से कनेक्ट करना - भाग 1/2
ब्लूटूथ का उपयोग करके DragonBoard 410c को कार के OBD से कनेक्ट करना - भाग 1/2
ब्लूटूथ का उपयोग करके DragonBoard 410c को कार के OBD से कनेक्ट करना - भाग 1/2

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

इस परियोजना के लिए, हमने ELM327 पर आधारित चिपसेट के साथ एक ब्लूटूथ डिवाइस का उपयोग किया।

यह ध्यान रखना महत्वपूर्ण है कि ELM327 की उपलब्धता का मतलब यह नहीं है कि यह ELM327 का मूल संस्करण है। उपलब्ध चिपसेट का अधिकांश भाग 1.5 संस्करण पर आधारित है, वह तब था जब चिप की जानकारी को क्लोन किया गया था और बाजार में लीक किया गया था। मूल ELM327 अब 2.2 संस्करण पर है। इस चिपसेट का विकास नई कारों के बारे में अधिक डेटा लाता है। यह जानना महत्वपूर्ण है, क्योंकि परीक्षणों के आधार पर, आप नए वाहनों से डेटा एक्सेस कर सकते हैं या नहीं भी कर सकते हैं।

OBD2 ब्लूटूथ एडाप्टर के साथ, अपनी कार का OBD2 पोर्ट ढूंढें। यह स्टीयरिंग व्हील के नीचे कहीं स्थित हो सकता है। इस टूल का उपयोग करके इसे खोजना आसान हो सकता है:

अपनी नोटबुक से SSH का उपयोग करके DragonBoard 410c तक पहुंचें (याद रखें कि अब आप कार में हैं, और बोर्ड को प्लग इन करने के लिए टीवी/मॉनिटर नहीं है)। जैसे ही OBD2 ब्लूटूथ डिवाइस को कार पोर्ट में डाला जाता है, ब्लूटूथ कनेक्टिविटी तक पहुंचने के लिए नीचे दिए गए चरणों का पालन करें।

सुडो ब्लूटूथctl

डिफ़ॉल्ट-एजेंट स्कैन पर एजेंट पर युग्मित करने योग्यइस स्तर पर महत्वपूर्ण है कि आप मैक पते की प्रतिलिपि बनाएँ क्योंकि आपको अगले चरणों के लिए इसकी आवश्यकता होगी

इन आदेशों को टाइप करें:

मैकड्रेस पर भरोसा करें

जोड़ी MACADDRESS

आपको ब्लूटूथ OBD2 को बोर्ड के साथ पेयर करने के लिए पिन कोड टाइप करने के अनुरोध के साथ संकेत दिया जाना चाहिए।

आमतौर पर पिन कोड 1234 या 0000 होता है - यह आपके हार्डवेयर पर निर्भर करता है

अब आपको "कनेक्शन सफल" स्क्रीन देखनी चाहिए। ब्लूटूथ एप्लिकेशन से बाहर निकलने के लिए, निम्न आदेश का उपयोग करें:

छोड़ना

अगला कदम डिवाइस को सीरियल पोर्ट से बाइंड करना है:

सुडो आरएफकॉम बाइंड 0 मैकड्रेस 1

यह सुनिश्चित करने के लिए कि ऑपरेशन सफल हुआ, टाइप करें:

एलएस / देव

पोर्ट "Rfcomm0" सूचीबद्ध होना चाहिए।

चरण 7: ब्लूटूथ का उपयोग करके DragonBoard 410c को कार के OBD से कनेक्ट करना - भाग 2/2

ब्लूटूथ का उपयोग करके DragonBoard 410c को कार के OBD से कनेक्ट करना - भाग 2/2
ब्लूटूथ का उपयोग करके DragonBoard 410c को कार के OBD से कनेक्ट करना - भाग 2/2
ब्लूटूथ का उपयोग करके DragonBoard 410c को कार के OBD से कनेक्ट करना - भाग 2/2
ब्लूटूथ का उपयोग करके DragonBoard 410c को कार के OBD से कनेक्ट करना - भाग 2/2

इस कदम का मुख्य उद्देश्य यह गारंटी देना है कि 3 उपकरणों के बीच संचार काम कर रहा है:

ELM327, DragonBoard 410c और कार

सीरियल पोर्ट के माध्यम से सीरियल संदेश भेजने के लिए "स्क्रीन" ऐप डाउनलोड करें

sudo apt-get install स्क्रीन

सीरियल पोर्ट का उपयोग एटी कमांड भेजने और DragonBoard 410c और ELM327 डिवाइस के बीच प्रतिक्रिया प्राप्त करने के लिए किया जाएगा।

एटी कमांड्स के बारे में अधिक जानकारी के लिए निम्न लिंक पर पहुंचें:

elmelectronics.com/ELM327/AT_Commands.pdf

चेतावनी:

इस कदम से बहुत सावधान रहें! आपके द्वारा डिवाइस को भेजी जाने वाली सभी सूचनाओं की व्याख्या की जाएगी और कार को भेजी जाएगी, यदि कोई गलत संदेश भेजा जाता है, तो कार द्वारा इसका गलत अर्थ निकाला जा सकता है और समस्याएँ पैदा हो सकती हैं। अपने स्वयं के कोड का प्रयास करने से पहले आदेशों पर ध्यान दें और उनका अध्ययन करें। हम पत्र के नीचे दिए गए निर्देशों का पालन करने की दृढ़ता से अनुशंसा करते हैं।

संचार आरंभ करने के लिए नीचे दिए गए आदेश अनुक्रम का पालन करें:

  • यह फ़ंक्शन स्क्रीन का उपयोग करके धारावाहिक संचार शुरू करेगा:

    स्क्रीन /देव/rfcomm0

जैसे ही टर्मिनल लोड होता है, इस क्रम में निम्न कमांड टाइप करें:

एटीजेड

ATL1 ATH1 ATS1 ATSP0

अंतिम संचार परीक्षण:

कंसोल में टाइप करें:

अति

इसे "ELM327 v1.5" या आपके डिवाइस का ELM संस्करण वापस करना चाहिए

यह इस बात का प्रमाण है कि ELM डिवाइस और DragonBoard 410c का संचार काम कर रहा है

तुरता सलाह

"स्क्रीन" छोड़ने के लिए आपको Ctrl+A और उसके बाद Ctrl+D टाइप करना होगा।

चरण 8: PyOBD का उपयोग करके DragonBoard 410c को कार के OBD से कनेक्ट करना

PyOBD का उपयोग करके DragonBoard 410c को कार के OBD से कनेक्ट करना
PyOBD का उपयोग करके DragonBoard 410c को कार के OBD से कनेक्ट करना

PyOBD OBD2 उपकरणों के साथ संचार को सक्षम करने के लिए एक पायथन लाइब्रेरी है जिसे कारों से जोड़ा जा सकता है। इसके साथ, हम वाहन की गति और विद्युत त्रुटियों सहित कई जानकारी निकाल सकते हैं।

इस चरण में हमें यह सुनिश्चित करने की आवश्यकता है कि आपके DragonBoard 410c के लिनारो में निम्नलिखित अजगर पुस्तकालय स्थापित हैं:

  • पीआईपी - पायथन का पैकेज मैनेजर

    sudo apt-पायथन-पाइप स्थापित करें

  • SetupTools - फ़ाइल स्थापना प्रबंधक

    sudo pip install -U pip setupstools

  • व्हील - पैकेज फॉर्मेटर स्थापित करें

    sudo apt-पायथन-व्हील स्थापित करें

  • OBD - OBD डिवाइस के साथ संचार करने के लिए पायथन लाइब्रेरी

    sudo apt-get install python-obd

  • जीपीएस - पायथन पुस्तकालय जीपीएस से डेटा प्राप्त करने के लिए

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

  • अनुरोध - रेस्टफुल के लिए पायथन पैकेज

    सुडो पाइप अनुरोध स्थापित करें

यह सत्यापित करने के लिए कि क्या OBD का पैकेज ठीक से काम कर रहा है, इन चरणों का पालन करें:

सुडो पायथन

अब टर्मिनल का कर्सर ">>>" में बदल जाएगा, यह दर्शाता है कि पायथन चल रहा है। अब आप नीचे दिए गए कमांड टाइप करना शुरू कर सकते हैं:

  • OBD लाइब्रेरी आयात करके प्रारंभ करें:

    आयात ओबीडी

  • सीरियल पोर्ट से कनेक्ट करने के लिए कमांड का उपयोग करें:

    कनेक्शन = पुराना। ओबीडी ("देव / आरएफकॉम0")

  • एक त्रुटि संदेश दिखाना सामान्य है, यह कहते हुए कि संचार विफल हो गया है, इसलिए यदि ऐसा होता है, तो एक बार और प्रयास करें।
  • यह पता लगाने के लिए कि ब्लूटूथ पर ELM327 से गुजरने वाली कार से पायथन को जानकारी मिल रही है या नहीं, निम्नलिखित टाइप करें:

    कनेक्शन.प्रोटोकॉल_नाम ()

चरण 9: कार से डेटा पढ़ना, पायथन का उपयोग करके

कार से डेटा पढ़ना, पायथन का उपयोग करके
कार से डेटा पढ़ना, पायथन का उपयोग करके

हम नीचे दिए गए निर्देशों के अनुसार कोड के बाद OBD.py नामक एक फाइल बनाएंगे।

कनेक्शन शुरू करने के लिए ओबीडी लाइब्रेरी को पायथन में आयात करके प्रारंभ करें।

अज्ञात कारणों से, हमारे हार्डवेयर का उपयोग करते हुए, पहला कनेक्शन प्रयास हमेशा विफल रहता है। दूसरा प्रयास, हमेशा काम करता है। इसलिए कोड पर, आप देखेंगे कि कमांड की दो लाइनें कनेक्शन बनाने की कोशिश कर रही हैं।

कनेक्शन सफल होने के बाद, हमने एक अनंत लूप शुरू किया, जो OBD डेटा की तलाश करता है, इसे पूर्व निर्धारित मापदंडों के अनुसार प्रारूपित करता है। उसके बाद, यह क्वेरी स्ट्रिंग का उपयोग करके एक URL बनाता है, जिससे इसे POST विधि का उपयोग करके सर्वर पर भेजा जा सकता है।

नीचे दिए गए उदाहरण पर, हम निम्नलिखित जानकारी प्राप्त करने में सफल रहे:

  • आरपीएम
  • स्पीड

डेटा कैप्चर करने के कार्य दो मापदंडों का उपयोग करते हैं। उदाहरण के लिए, [१] [१२] का उपयोग करके आप [मॉड्यूल] [पीआईडी] के लिए खोज कर रहे हैं। कार्यों की सूची यहां देखी जा सकती है:

अंत में, "obd_data.dat" नामक फ़ाइल में संयोजित और जोड़ी गई सभी सूचनाओं के साथ URL जनरेट करें।

OBD.py के लिए कोड नीचे है।

डेटा को जोड़ने और कैप्चर करने के बाद, हम एक फ़ाइल बनाएंगे जिसका नाम है: envia_OBD.py

कोड का यह हिस्सा आसान हो जाता है। रेस्टफुल का उपयोग करके अनुरोध/डेटा भेजने से संबंधित पुस्तकालयों को आयात करें।

POST का उपयोग करने के लिए WHILE बनाएं और फ़ाइल की पहली पंक्ति का URL भेजें, जो पहले OBD.py द्वारा पॉप्युलेट किया गया था। उसके बाद, डेटा को दोबारा भेजने से बचने के लिए, यह फ़ाइल से उस लाइन को मिटा देता है।

OBD.py फ़ाइल के लिए कोड नीचे है।

चरण 10: कैप्चर किए गए डेटा के लिए आवर्ती स्क्रिप्ट और डेटा संग्रहण प्रक्रिया

कैप्चर किए गए डेटा के लिए आवर्ती स्क्रिप्ट और डेटा संग्रहण प्रक्रिया
कैप्चर किए गए डेटा के लिए आवर्ती स्क्रिप्ट और डेटा संग्रहण प्रक्रिया

हमने अब तक जो कुछ भी किया है वह यह सुनिश्चित करने के लिए उन्मुख था कि ड्रैगनबोर्ड 3 जी, वाईफाई, ब्लूटूथ, जीपीएस डेटा और अन्य जैसे घटकों के साथ ठीक से संचार करता है।

फ़ाइल "rc.local" को संपादित करने के लिए नीचे दिए गए कोड का उपयोग करें, जिसमें पहले से ही कुछ फ़ंक्शन और पूर्वनिर्धारित कमांड हैं। यह '/ etc' पर स्थित है। संपादित करने के लिए, कमांड का उपयोग करें:

सुडो नैनो /etc/rc.local

अब हमें सभी सेवाओं और कार्यों को कॉन्फ़िगर करने की आवश्यकता है, जो नियमित रूप से ड्रैगनबोर्ड शुरू होने पर स्वचालित रूप से प्रारंभ होने वाली दिनचर्या बनाते हैं। आइए ऐसा करने के लिए BASH का उपयोग करें। बाश (बॉर्न-अगेन-शेल) एक लिनक्स कमांड दुभाषिया ऐप है।

निम्नलिखित कोड में BASH कमांड हैं, और आपको ब्लूटूथ/ओबीडी मैक एड्रेस डालने की आवश्यकता होगी। "एक्जिट 0" के साथ कोड को समाप्त करना सुनिश्चित करने के लिए अतिरिक्त सावधानी बरतें जो कि सिस्टम की प्रतिक्रिया है कि कार्रवाई सफल रही।

अगर [! -f /आदि/ssh/ssh_host_rsa_key]

तब systemctl स्टॉप ssh.socket||ट्रू dpkg-reconfigure opensh-server fi sudo systemctl start qdsp-start.service rfcomm बाइंड 0 MACADDRESS 1 sudo python /home/linaro/Documents/FadaDoCarro/conectaGPS.py और sudo python /home/linaro /Documents/FadaDoCarro/OBD.py और sudo python /home/linaro/Documents/FadaDoCarro/envia_OBD.py और बाहर निकलें 0

अब से, हर बार जब आप DragonBoard को चालू करते हैं, तो यह 3G से कनेक्ट हो जाएगा और चुने हुए सर्वर पर GPS और OBD डेटा भेजेगा।

चरण 11: रास्ते में परेशानी

रास्ते में परेशानी
रास्ते में परेशानी

हमने इस निर्देश को लिखने से पहले कुछ मुद्दों को नीचे सूचीबद्ध किया था, लेकिन हमने सोचा कि अगर आपके साथ ऐसा होता है तो यह आपकी मदद कर सकता है।

  • पीओओबीडी

    कार के साथ संचार करते समय डेटा भेजने के लिए आपको बहुत सतर्क रहने की आवश्यकता है। हमारे पहले प्रयासों में, जब संचार स्थिर नहीं था, हमने गलत कमांड भेजा जो मूल रूप से ईसीयू को क्रैश कर गया। गियरशिफ्ट पार्किंग में फंस गया था और डैशबोर्ड की कुछ लाइटें बेतरतीब ढंग से झपकती रहीं। समाधान पाया गया कि लगभग 15 मिनट के लिए बैटरी केबलों में से एक को डिस्कनेक्ट करना था। यह ECU को उसकी फ़ैक्टरी डिफ़ॉल्ट स्थिति में रीसेट कर देता है, इसलिए हमारे द्वारा किए गए किसी भी आदेश या परिवर्तन को रद्द कर देता है।

  • लिनारो

    हमारे ड्रैगनबोर्ड के साथ हमारा एक मुद्दा था, जो छिटपुट रूप से पुनरारंभ होता रहा। इस मुद्दे को लिनारो की टीम ने हल किया जिसने ओएस का एक नया संस्करण जारी किया। हमने इस ट्यूटोरियल को अपडेटेड वर्जन के साथ लिखा है।

  • ड्रैगनबोर्ड का जीपीएस

    क्वालकॉम के ड्रैगनबोर्ड 410c में आंतरिक जीपीएस एंटीना नहीं है, इसलिए जीपीएस सिग्नल अधिग्रहण को बढ़ाने के लिए, हमें बाहरी एंटीना के लिए एक कनेक्टर स्थापित करने की आवश्यकता है। इस प्रक्रिया को निम्नलिखित लिंक में बेहतर ढंग से समझाया गया है:

चरण 12: संदर्भ

संदर्भ
संदर्भ

बूटलोडर

builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/

लिनारो

builds.96boards.org/releases/dragonboard410c/linaro/debian/latest/

लिनारो और DragonBoard 410c. को स्थापित करें

www.embarcados.com.br/linux-linaro-alip-na-qualcomm-dragonboard-410c/

DragonBoard के लिए GPS का दस्तावेजीकरण करें

discuss.96boards.org/t/gps-software/170/16

जीपीएस डेमो

gist.github.com/wolfg1969/4653340

पायथन ओबीडी

github.com/brendan-w/python-OBD

Conectando RaspberryPi um OBD ब्लूटूथ

gersic.com/connecting-your-raspberry-pi-to-a-bluetooth-obd-ii-adapter/

सिफारिश की: