Բովանդակություն:

DragonBoard և OBD2: 12 քայլ
DragonBoard և OBD2: 12 քայլ

Video: DragonBoard և OBD2: 12 քայլ

Video: DragonBoard և OBD2: 12 քայլ
Video: Դավաճանության բիրժա / Այն ինչ հենց հիմա բացահայտվեց ողջ երկիրը պետք է իմանա 2024, Նոյեմբեր
Anonim
DragonBoard և OBD2
DragonBoard և OBD2

Ձեր մեքենայի OBD2 նավահանգստից դուրս եկած տվյալները կարդալով ՝ հնարավոր է զարմանալի տեղեկություններ հավաքել դրանից: DragonBoard 410c- ի միջոցով մենք աշխատեցինք այս նախագծի վրա և մանրամասն ներկայացրինք այստեղ, որպեսզի ինքներդ դա անեք:

Այս նախագիծը հնարավոր դարձավ միայն #Qualcomm #Embarcados #Linaro #Arrow #BaitaAceleradora- ի հետ համագործակցության շնորհիվ, ինչը թույլ տվեց մեզ հասանելիություն ունենալ շուկայում առկա լավագույն սարքավորումներին, ինչպես նաև զարգացմանը աջակցելու լավագույն մասնագետների հետ շփմանը:

Թիմը կազմված էր հետևյալ տղաներից.

Մենք շատ պատրաստ ենք օգնել ձեզ հասնել ձեր նպատակին և համոզվել, որ ավարտել եք ձեր նախագիծը, ուստի տեղեկացրեք մեզ, եթե ձեզ հարկավոր է որևէ օգնություն, քան ստորև բերված հրահանգներն են:

Para seguir este projeto em Português, clique aqui:

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

Այս նախագծի համար մենք օգտագործեցինք հետևյալ կետերը.

  • Qualcomm DragonBoard 410c
  • ELM327 Bluetooth OBD2 ինտերֆեյս
  • Dongle USB 3G/4G
  • Tension Inverter մեքենայի լիցքավորիչ (110 վ)

Քայլ 1: Կատարելով DragonBoard 410c- ի նախնական կարգավորումը **

DragonBoard 410c- ի նախնական կարգավորումների կատարում **
DragonBoard 410c- ի նախնական կարգավորումների կատարում **
DragonBoard 410c- ի նախնական կարգավորումների կատարում **
DragonBoard 410c- ի նախնական կարգավորումների կատարում **
DragonBoard 410c- ի նախնական կարգավորումների կատարում **
DragonBoard 410c- ի նախնական կարգավորումների կատարում **

Qualcomm DragonBoard 410c- ի միջոցով մենք սկսեցինք նախագիծը ՝ տեղադրելով Linux- ի Linaro կոչվող բաշխումը ՝ թույլ տալով մեզ կարգավորել բոլոր անհրաժեշտ սարքերը:

DragonBoard- ի համար Linaro- ի պատկեր ստեղծելու համար օգտագործեք Ubunto- ն VirtualBox- ում, որպեսզի կարողանաք օգտագործել FastBoot- ը (դա Linux- ի վրա հիմնված ծրագիր է): Այսպիսով, հիմնականում այն, ինչ դուք պետք է անեք, տերմինալ բացել VM Ubuntu- ում և մուտքագրել.

sudo apt-get android-tools-fastboot

Linaro- ն տեղադրելու համար մենք պետք է անցնենք 2 կարևոր քայլ.

1) BOOTLOADER- ի տեղադրում

Ֆայլի անունը.: dragonboard410c_bootloader_emmc_linux-79.zip

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

Անջատեք ֆայլերը և ընտրեք թղթապանակը.

cd /FolderName (ճանապարհ դեպի չփակված թղթապանակ)

Մուտքագրեք հետևյալ ծածկագիրը.

sudo fastboot սարքեր

Ակնկալվող վերադարձը.

(տասնվեցական) արագ բեռնախցիկ

Այնուհետեւ մուտքագրեք.

sudo./flashall

Ակնկալվող վերադարձը.

ավարտված: ընդհանուր ժամանակը 1.000 վրկ (առանց սխալների)

Օպերացիոն համակարգի տեղադրում

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

Ներբեռնեք այս 2 ֆայլերը.

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

Սա մինչ օրս հասանելի վերջին տարբերակն է (հունիս/17), որպեսզի անունը հետագայում փոխվի: Նախշը, որը դուք պետք է փնտրեիք, «boot-linaro-VersionName» է: Այս մեկը կոչվում է «Ձգվող», իսկ նախորդը ՝ «essեսսի»:

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

Սա մինչ օրս վերջին տարբերակն է (հունիս/17) և անունը կարող է փոխվել ապագայում: Փնտրեք «linaro-VersionName-alip» օրինակը:

Անջատեք ֆայլերը. GZ- ից

Մուտք գործեք «արմատ» թղթապանակ ՝ չբեռնված ֆայլերի հետ կապված

օրինակ ՝ «/Ներլցումներ», որտեղ պահվում են ներբեռնված ֆայլերը:

Այժմ սկսեք հետևյալ հրամաններով.

sudo fastboot սարքեր

sudo fastboot flash boot boot-linaro-NomeDaVersão-qcom-snapdragon-arm64-DATA.img

Ակնկալվող վերադարձը (հիշելով ժամանակը կարող է տարբեր լինել).

ավարտված: Ընդհանուր ժամանակը `100.00

HDMI պորտի միջոցով միացրեք մկնիկը, ստեղնաշարը և մոնիտորը/հեռուստացույցը

Ձեռքի տակ ունեցեք սա.

օգտվող: linaro

գաղտնաբառ: linaro

Բացեք Lxterminal ծրագիրը և շարունակեք առկա թարմացումների ներլցումը ՝ տեղադրված փաթեթների վերաբերյալ.

sudo apt-get թարմացում

Համոզվեք, որ տեղադրեք առկա փաթեթները ցուցակից.

sudo apt-get բարելավում

Հուշում. Լինարոն ընտրվել է չափազանց արագ բեռնախցիկի և շատ ներգրավված և խնդիրների լուծման կողմնորոշված համայնքի շնորհիվ, ինչը շատ ժամանակ է խնայում:

Քայլ 2. Տեղադրեք ձեր DragonBoard 410c- ն ՝ օգտագործելով իր GPS ալեհավաքը

Տեղադրեք ձեր DragonBoard 410c- ն ՝ օգտագործելով իր GPS ալեհավաքը
Տեղադրեք ձեր DragonBoard 410c- ն ՝ օգտագործելով իր GPS ալեհավաքը
Տեղադրեք ձեր DragonBoard 410c- ն ՝ օգտագործելով իր GPS ալեհավաքը
Տեղադրեք ձեր DragonBoard 410c- ն ՝ օգտագործելով իր GPS ալեհավաքը

Սկսեք տեղադրել անհրաժեշտ ծրագրերը, որոնք կլինեն GPS մոդուլի հաճախորդները: Հավելվածի անուններն են ՝ GNSS-GPSD, GPSD և GPSD-CLIENTS: Դա անելու համար հետևեք հրահանգներին.

sudo apt-get տեղադրել gnss-gpsd gpsd gpsd-clients

Այս ծրագրերը տեղադրված լինելու դեպքում ձեզ հարկավոր կլինեն ավելի շատ հրամաններ ՝ այն ճիշտ սկսելու համար.

sudo systemctl սկսել qdsp-start.service

sudo systemctl սկսել gnss-gpsd.service sudo systemctl սկսել qmi-gps-proxy.service

Այժմ DragonBoard 410c- ը տարեք լայն բաց տարածք ՝ երկնքի հստակ տեսարանով, ինչը թույլ է տալիս ստանալ ազդանշանը արբանյակներից: Այժմ մուտքագրեք տերմինալը.

gpsmon –n

Մեր թեստերից տվյալները միջինում 10 րոպեից կսկսեին հայտնվել էկրանին: Դա շատ բան է փոխում տեղից տեղ, բացի պատուհանի վրա DragonBoard- ի դիրքից կամ ներսում, բացի բազմաթիվ այլ խոչընդոտներից, որոնք կարող են միջամտել GPS ազդանշանի ընդունմանը:

Քայլ 3: 3G/4G USB Dongle- ի տեղադրում

3G/4G USB Dongle- ի տեղադրում
3G/4G USB Dongle- ի տեղադրում
3G/4G USB Dongle- ի տեղադրում
3G/4G USB Dongle- ի տեղադրում
3G/4G USB Dongle- ի տեղադրում
3G/4G USB Dongle- ի տեղադրում
3G/4G USB Dongle- ի տեղադրում
3G/4G USB Dongle- ի տեղադրում

DragonBoard 410c- ը 3G/4G/GSM ցանցին միացնելու մի քանի եղանակ կա.

  • Օգտագործելով Shield / BreakoutBoard GSM մոդեմով, որն ունի նաև SimCard բնիկ;
  • Օգտագործեք USB 3G/4G Dongle:

Այս նախագծի համար մենք որոշեցինք օգտագործել Huawei- ի E3272 USB Dongle- ը, քանի որ հեշտ և արագ գնել մեկը:

Մոդեմը կազմաձևելու համար կարող եք օգտագործել տերմինալը (օգտագործելով WVDial ծրագիրը), բայց դա անելու ամենահեշտ ձևը Linaro- ի գրաֆիկական ինտերֆեյսի (GUI) օգտագործումն է: Դրան հետևյալ կերպ.

  • DragonBoard- ին միացված USB Dongle- ով ՝ աջ սեղմեք էկրանի ներքևի աջ անկյունում գտնվող «ցանցեր» պատկերակին;
  • «Խմբագրել կապերը»> «Ավելացնել»;
  • Բացվող ընտրացանկից ընտրեք «Բջջային լայնաշերտ»;
  • Կտտացրեք «Ստեղծել»:

Հետևեք հրաշագործի հրահանգներին ՝ համոզվելով, որ ընտրացանկից ընտրել եք համապատասխան Carrier- ը ՝ թույլ տալով սարքին համապատասխանաբար միանալ:

Քայլ 4. DragonBoard 410c- ի փոխակերպումը Wi -Fi թեժ կետի / մուտքի կետի

DragonBoard 410c- ի փոխակերպումը Wifi թեժ կետի / մուտքի կետի
DragonBoard 410c- ի փոխակերպումը Wifi թեժ կետի / մուտքի կետի
DragonBoard 410c- ի փոխակերպումը Wifi թեժ կետի / մուտքի կետի
DragonBoard 410c- ի փոխակերպումը Wifi թեժ կետի / մուտքի կետի
DragonBoard 410c- ի փոխակերպումը Wifi թեժ կետի / մուտքի կետի
DragonBoard 410c- ի փոխակերպումը Wifi թեժ կետի / մուտքի կետի

DragonBoard 410c- ն որպես wifi երթուղիչ կամ թեժ կետ (այժմ, երբ դուք կարգավորել եք ինտերնետային կապը) կազմաձևելու ամենահեշտ ձևը համակարգի GUI- ն օգտագործելն է: Դա անելու համար հետևեք հետևյալ քայլերին.

  • Աջ սեղմեք ներքևի աջ անկյունում գտնվող ցանցի պատկերակին
  • Ընտրեք «Խմբագրել կապերը, այնուհետև« Ավելացնել »
  • Ընտրեք «WiFi»
  • Կտտացրեք ստեղծել

Փոխեք ցանցի անունը, որը ցանկանում եք ստեղծել «SSID» դաշտում և «ռեժիմ» դաշտը փոխեք «թեժ կետի»:

Համոզվելու համար, որ այն կաշխատի, ստուգեք հետևյալը.

  • Գնացեք «IPv4 կարգավորումներ» ներդիրին
  • Ստուգեք, արդյոք «մեթոդը»

Քայլ 5. DragonBoard 410c անլար մուտք SSH- ի միջոցով, թեժ կետի միացման միջոցով

SSH- ի միջոցով անլար մուտք դեպի DragonBoard 410c, թեժ կետի միացման միջոցով
SSH- ի միջոցով անլար մուտք դեպի DragonBoard 410c, թեժ կետի միացման միջոցով

Մեզ հաջողվեց ստեղծել DragonBoard- ի հեռակա մուտք գործելու միջոց ՝ անկախ նրանից ՝ մոտ եք, թե ոչ: Սովորաբար ձեզ հարկավոր է միանալ ինքնին տախտակին ՝ օգտագործելով WiFi կամ bluetooth: Մեկ այլ տարբերակ կլինի այն մուտք գործել ՝ միանալով նույն Wifi ցանցին (օրինակ ՝ երթուղիչից): Հաջորդ քայլերը կատարելով ՝ մենք ստեղծում ենք ինքնամփոփ սարք, որը ստեղծում է իր սեփական ցանցը և ինքն իրեն բացվում է համացանցում ՝ հասանելի լինելու համար:

Կարող եք սկսել ՝ տեղադրելով «Ավտո SSH» - ը ՝ օգտագործելով ստորև նշված ծածկագիրը.

sudo apt-get տեղադրել 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 ստանդարտը: Այս բանալին կօգտագործվի Linux- ի վերջնական կետի անվտանգ մուտք գործելու համար ՝ 3G մոդեմի Հանրային IP- ի միջոցով: Այս քայլի հիմնական նպատակը: Հետևյալ ծածկագիրը պատճենելու է այդ բանալին Linux- ի Վստահելի բանալիների պահեստում `համոզվելով, որ կապի ավելի մեծ անվտանգություն կա:

ssh -keygen -t rsa

scp ~/.ssh/id_rsa.pub օգտվող@remote_server. -R 2222: localhost: 22 user@remote_server

Այս քայլերին հետևելով ՝ դուք պարզապես Qualcomm DragonBoard 410c- ը վերածեցիք Cloud Server- ի: / o/

Քայլ 6. DragonBoard 410c- ի միացում ավտոմեքենայի OBD- ին ՝ օգտագործելով Bluetooth - Մաս 1/2

Bluetooth- ի միջոցով DragonBoard 410c- ի միացում մեքենայի OBD- ին - մաս 1/2
Bluetooth- ի միջոցով DragonBoard 410c- ի միացում մեքենայի OBD- ին - մաս 1/2
Bluetooth- ի միջոցով DragonBoard 410c- ի միացում մեքենայի OBD- ին - մաս 1/2
Bluetooth- ի միջոցով DragonBoard 410c- ի միացում մեքենայի OBD- ին - մաս 1/2

Ավտոմեքենայի կապի ինտերֆեյսը կատարվում է OBD2 պորտի միջոցով: Տեղեկատվությունը, որը փոխանակվում է այս նավահանգստում, պետք է թարգմանվի, իսկ դրա համար մեզ անհրաժեշտ է թարգմանիչ սարք: Գոյություն ունի երկու այլընտրանքային սարքավորում ՝ ELM327 կամ STN1170:

Այս նախագծի համար մենք օգտագործել ենք Bluetooth սարքը ՝ չիպսեթով, որը հիմնված է ELM327- ի վրա:

Կարևոր է նշել, որ ELM327- ի առկայությունը չի նշանակում, որ դա ELM327- ի ՕՐԻԳԻՆԱԼ ՏԱՐԲԵՐԱԿ է: Առկա չիպսեթների մեծ մասը հիմնված է 1.5 տարբերակի վրա, այն ժամանակ էր, երբ չիպի տվյալները կլոնավորվեցին և շուկայում հայտնվեցին: Բնօրինակ ELM327- ն այժմ 2.2 տարբերակում է: Այս չիպսեթի էվոլյուցիան ավելի շատ տվյալներ է բերում նոր մեքենաների մասին: Կարևոր է դա իմանալ, քանի որ կախված փորձարկումներից, դուք կարող եք կամ կարող եք չկարողանալ մուտք գործել նոր մեքենաների տվյալներ:

OBD2 Bluetooth ադապտերով գտեք ձեր մեքենայի OBD2 նավահանգիստը: Այն կարող է տեղակայված լինել ղեկի տակ: Գուցե ավելի հեշտ լինի այն փնտրել այս գործիքի միջոցով ՝

Ձեր նոթատետրից մուտք գործեք DragonBoard 410c ՝ օգտագործելով SSH- ն (հիշեք, որ այժմ մեքենայի մեջ եք և չունեք հեռուստացույց/մոնիտոր ՝ տախտակը միացնելու համար): Հենց որ OBD2 Bluetooth սարքը տեղադրվի մեքենայի նավահանգստի մեջ, հետևեք ստորև ներկայացված քայլերին ՝ bluetooth կապին միանալու համար:

sudo bluetoothctl

զուգորդելի է գործակալի վրա կանխադրված գործակալի սկանավորման վրաԱյս փուլում կարևոր է, որ դուք պատճենեք MAC հասցեն, քանի որ այն ձեզ անհրաժեշտ կլինի հաջորդ քայլերի համար

Մուտքագրեք այս հրամանները.

վստահեք MACADDRESS- ին

զույգ MACADDRESS

Ձեզանից կպահանջվի մուտքագրել PIN կոդը ՝ Bluetooth OBD2- ը տախտակի հետ զուգակցելու համար:

Սովորաբար PIN կոդը 1234 է, թե 0000 - կախված է ձեր սարքավորումից

Այժմ դուք պետք է տեսնեք «հաջող կապը» էկրանը: Bluetooth ծրագրից դուրս գալու համար օգտագործեք հետևյալ հրամանը.

թողնել

Հաջորդ քայլը Սերիական նավահանգստով սարքը ՊԱՀՊԱՆԵԼ է.

sudo rfcomm bind 0 MACADDRESS 1

Գործողությունը հաջող ավարտելու համար մուտքագրեք.

ls /dev

«Rfcomm0» նավահանգիստը պետք է նշված լինի:

Քայլ 7. DragonBoard 410c- ը Bluetooth- ի միջոցով մեքենայի OBD- ին միացնելը - Մաս 2/2

Bluetooth- ի միջոցով DragonBoard 410c- ի միացում մեքենայի OBD- ին - մաս 2/2
Bluetooth- ի միջոցով DragonBoard 410c- ի միացում մեքենայի OBD- ին - մաս 2/2
Bluetooth- ի միջոցով DragonBoard 410c- ի միացում մեքենայի OBD- ին - մաս 2/2
Bluetooth- ի միջոցով DragonBoard 410c- ի միացում մեքենայի OBD- ին - մաս 2/2

Այս քայլի հիմնական նպատակն է երաշխավորել, որ 3 սարքերի միջև հաղորդակցությունը գործում է.

ELM327, DragonBoard 410c և մեքենան

Ներբեռնեք «Էկրանի» ծրագիրը ՝ սերիական պորտի միջոցով սերիական հաղորդագրություններ ուղարկելու համար

sudo apt-get տեղադրման էկրան

Սերիական նավահանգիստը կօգտագործվի AT հրամաններ ուղարկելու և DragonBoard 410c- ի և ELM327 սարքի միջև պատասխանները ստանալու համար:

AT հրամանների վերաբերյալ լրացուցիչ տեղեկությունների համար մուտք գործեք հետևյալ հղումը.

elmelectronics.com/ELM327/AT_Commands.pdf

Գուշացում

Այս քայլին շատ զգույշ եղեք: Սարքին ուղարկված բոլոր տեղեկությունները մեկնաբանվելու և ուղարկվելու են մեքենային, եթե սխալ հաղորդագրություն է ուղարկվում, այն կարող է մեքենայի կողմից սխալ մեկնաբանվել և խնդիրներ առաջացնել: Ուշադրություն դարձրեք հրամաններին և ուսումնասիրեք դրանք, նախքան ձեր սեփական կոդը փորձելը: Մենք խստորեն խորհուրդ ենք տալիս հետևել ստորև տրված հրահանգներին:

Կապը սկսելու համար հետևեք ստորև բերված հրամանի հաջորդականությանը.

  • Այս գործառույթը կսկսի սերիական հաղորդակցությունը էկրանի միջոցով.

    էկրան /dev /rfcomm0

Տերմինալը բեռնելուն պես այս հաջորդականությամբ մուտքագրեք հետևյալ հրամանները.

ATZ

ATL1 ATH1 ATS1 ATSP0

Հաղորդակցության վերջնական թեստ

Մուտքագրեք վահանակը.

ATI

Այն պետք է վերադարձնի «ELM327 v1.5» կամ ձեր սարքի ELM տարբերակը

Սա ապացույց է, որ ELM սարքի և DragonBoard 410c- ի հաղորդակցությունն աշխատում է

Արագ հուշում

«Էկրանից» դուրս գալու համար անհրաժեշտ է մուտքագրել Ctrl+A, այնուհետև Ctrl+D:

Քայլ 8: DragonBoard 410c- ի միացում մեքենայի OBD- ին ՝ օգտագործելով PyOBD

DragonBoard 410c- ի միացում մեքենայի OBD- ին ՝ օգտագործելով PyOBD
DragonBoard 410c- ի միացում մեքենայի OBD- ին ՝ օգտագործելով PyOBD

PyOBD- ը Python գրադարան է, որը հնարավորություն է տալիս OBD2 սարքերի հետ հաղորդակցվել մեքենաներին: Դրանով մենք կարող ենք մի քանի տեղեկատվություն քաղել, ներառյալ մեքենայի արագությունը և էլեկտրական սխալները:

Այս քայլին մենք պետք է ապահովենք, որ ձեր DragonBoard 410c- ի Linaro- ում տեղադրվեն հետևյալ պիթոնի գրադարանները.

  • PIP - Python- ի փաթեթների կառավարիչ

    sudo apt-get տեղադրել python-pip

  • SetupTools - ֆայլերի տեղադրման կառավարիչ

    sudo pip install -U pip setupstools

  • Անիվ - տեղադրեք փաթեթի ձևաչափիչ

    sudo apt-get տեղադրել python-wheel

  • OBD - Python գրադարան ՝ OBD սարքի հետ հաղորդակցվելու համար

    sudo apt-get տեղադրել python-obd

  • GPS - Python գրադարան ՝ GPS- ից տվյալներ ստանալու համար

    sudo pip տեղադրել gps

  • Հարցումներ - Python փաթեթ RESTful- ի համար

    sudo pip տեղադրման հարցումներ

OBD- ի փաթեթը ճիշտ աշխատելու համար ստուգելու համար հետևեք հետևյալ քայլերին.

sudo python

Այժմ տերմինալի կուրսորը կփոխվի «>>>» ՝ նշելով, որ Python- ն աշխատում է: Այժմ կարող եք սկսել մուտքագրել ստորև բերված հրամանները.

  • Սկսեք ներմուծելով OBD գրադարան.

    ներմուծել obd

  • Սերիական նավահանգստին միանալու համար օգտագործեք հրամանը.

    կապ = հին. OBD («dev/rfcomm0»)

  • Սխալ հաղորդագրություն ցույց տալը նորմալ է ՝ ասելով, որ հաղորդակցությունը ձախողվել է, այնպես որ, եթե դա տեղի ունենա, փորձեք ևս մեկ անգամ:
  • Պարզելու համար, թե արդյոք Python- ը տեղեկատվություն է ստանում ELM327- ով Bluetooth- ով անցնող մեքենայից, մուտքագրեք հետևյալը.

    connection.protocol_name ()

Քայլ 9: Կարդացեք մեքենայից տվյալները ՝ օգտագործելով Python- ը

Ավտոմեքենայից տվյալների ընթերցում ՝ Python- ի միջոցով
Ավտոմեքենայից տվյալների ընթերցում ՝ Python- ի միջոցով

Մենք կստեղծենք ֆայլ ՝ OBD.py անունով, ինչպես ստորև տրված հրահանգներին, որին հաջորդում է ծածկագիրը:

Սկսեք ՝ OBD գրադարանը Python ներմուծելով ՝ կապերը սկսելու համար:

Անհայտ պատճառներով, օգտագործելով մեր սարքավորումները, կապի առաջին փորձը միշտ ձախողվում է: Երկրորդ փորձը, միշտ աշխատում է: Ահա թե ինչու ծածկագրի վրա դուք կնկատեք երկու տող հրաման, որը փորձում է կապ հաստատել:

Կապի հաջող ավարտից հետո մենք սկսեցինք անսահմանափակ օղակ, որը փնտրում է OBD տվյալներ և ձևաչափում դրանք ըստ նախադրված պարամետրերի: Դրանից հետո այն ստեղծում է URL ՝ օգտագործելով Query String ՝ թույլ տալով այն ուղարկել սերվեր POST մեթոդով:

Ստորև բերված օրինակի վրա մեզ հաջողվեց ստանալ հետևյալ տեղեկությունները.

  • RPM
  • Արագություն

Տվյալները գրավելու գործառույթներն օգտագործում են երկու պարամետր: Օրինակ, օգտագործելով [1] [12] -ը դուք սերժավորում եք [module] [PID] - ի համար: Գործառույթների ցանկը կարելի է գտնել այստեղ ՝

Վերջապես, ստեղծեք URL- ը ՝ բոլոր տեղեկությունները միացված և ավելացված ֆայլում, որը կոչվում է «obd_data.dat»:

OBD.py- ի ծածկագիրը ստորև է:

Տվյալները միացնելուց և գրավելուց հետո մենք կստեղծենք ֆայլ ՝ envia_OBD.py անունով

Կոդի այս հատվածը դառնում է ավելի պարզ: Ներմուծեք խնդրանքին առնչվող գրադարանները/տվյալները ուղարկեք ՝ օգտագործելով RESTFUL:

Ստեղծեք WHILE POST- ի օգտագործման համար և ուղարկեք ֆայլի առաջին տողի URL- ը, որը նախկինում լրացվել էր OBD.py- ով: Դրանից հետո, որպեսզի նորից չուղարկվեն տվյալները, այն ջնջում է այդ տողը ֆայլից:

OBD.py ֆայլի ծածկագիրը ստորև է:

Քայլ 10. Կրկնվող սցենարների և տվյալների պահպանման կարգը տվյալների գրավման համար

Բռնագրված տվյալների համար կրկնվող սցենարներ և տվյալների պահպանման կարգ
Բռնագրված տվյալների համար կրկնվող սցենարներ և տվյալների պահպանման կարգ

Այն ամենը, ինչ մենք արել ենք մինչ այժմ, ուղղված էր համոզվելու, որ DragonBoard- ը պատշաճ կերպով հաղորդակցվում է այն բաղադրիչների հետ, ինչպիսիք են 3G, Wifi, Bluetooth, GPS տվյալները և այլն:

Օգտագործեք ստորև բերված կոդը ՝ «rc.local» ֆայլը խմբագրելու համար, որն արդեն ունի որոշ գործառույթներ և կանխորոշված հրամաններ: Այն գտնվում է «/etc» հասցեում: Խմբագրելու համար օգտագործեք հրամանը.

sudo nano /etc/rc.local

Այժմ մենք պետք է կազմաձևենք բոլոր ծառայություններն ու գործառույթները ՝ ստեղծելով ռեժիմներ, որոնք ինքնաբերաբար սկզբնավորվում են DragonBoard- ի գործարկման ժամանակ: Եկեք օգտագործենք BASH- ը դա անելու համար: BASH (Bourne-Again-SHell) Linux հրամանատարի թարգմանիչ ծրագիր է:

Հետևյալ կոդը պարունակում է BASH հրամաններ, և ձեզ հարկավոր կլինի տեղադրել Bluetooth/OBD MAC հասցեն: Լրացուցիչ զգույշ եղեք, որպեսզի համոզվեք, որ ծածկագիրն ավարտվում է «ելք 0» -ով, որը համակարգի պատասխանն է, որ գործողությունը հաջողված է:

եթե [! -f/etc/ssh/ssh_host_rsa_key]

ապա systemctl դադարեցնել ssh.socket || ճշմարիտ dpkg- վերակազմակերպել բացում-սերվեր fi sudo systemctl սկսել qdsp-start.service rfcomm կապել 0 MACADDRESS 1 sudo python /home/linaro/Documents/FadaDoCarro/conectaGPS.py & sudo python/home /Documents/FadaDoCarro/OBD.py & sudo python /home/linaro/Documents/FadaDoCarro/envia_OBD.py & exit 0

Այսուհետ, ամեն անգամ, երբ միացնում եք DragonBoard- ը, այն կկապվի 3G- ի հետ և GPS և OBD տվյալներ կուղարկի ընտրված սերվերին:

Քայլ 11: Խնդիրներ ճանապարհին

Խնդիրներ ճանապարհին
Խնդիրներ ճանապարհին

Ստորև թվարկեցինք որոշ հարցեր, որոնք մենք գտել էինք ճանապարհին, նախքան այս Instructable- ը գրելը, բայց մենք կարծում էինք, որ դա կարող է օգնել ձեզ, եթե դա ձեզ պատահի:

  • PyOBD

    Մեքենայի հետ շփվելիս պետք է շատ զգույշ լինել տվյալներ ուղարկելու համար: Մեր առաջին փորձերից մեկում, երբ կապը կայուն չէր, մենք սխալ հրաման ուղարկեցինք, որը հիմնականում խափանեց ECU- ն: Փոխանցման տուփը խրված էր կայանատեղիում, իսկ վահանակի որոշ լույսեր անընդհատ թարթում էին: Հայտնաբերված լուծումը մարտկոցի մալուխներից մեկի անջատումն էր մոտ 15 րոպե: Սա ECU- ն վերադառնում է իր գործարանային կանխադրված վիճակին ՝ հետևաբար չեղյալ համարելով մեր կողմից կատարված ցանկացած հրաման կամ փոփոխություն:

  • Լինարո

    Մենք խնդիր ունեինք մեր DragonBoard- ի հետ, որը շարունակում էր պարբերաբար վերսկսվել: Հարցը լուծվեց Լինարոյի թիմի կողմից, որը թողարկեց ՕՀ -ի ավելի նոր տարբերակ: Այս ձեռնարկը մենք գրել ենք թարմացված տարբերակով:

  • DragonBoard- ի GPS

    Qualcomm- ի DragonBoard 410c- ը չունի ներքին GPS ալեհավաք, այնպես որ GPS ազդանշանի ձեռքբերումը բարձրացնելու համար մենք պետք է միակցիչ տեղադրենք արտաքին ալեհավաքի համար: Այս գործընթացը ավելի լավ է բացատրվում հետևյալ հղումով ՝

Քայլ 12: Հղումներ

Հղումներ
Հղումներ

Բեռնախցիկ

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

Լինարո

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

Coma instalar o Linaro և DragonBoard 410c

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

Documentação de GPS para DragonBoard- ի համար

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

GPS ցուցադրում

gist.github.com/wolfg1969/4653340

Python OBD

github.com/brendan-w/python-OBD

Conectando RaspberryPi um um OBD Bluetooth

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

Խորհուրդ ենք տալիս: