Sisukord:
- Samm 1: DragonBoard 410c esialgse seadistuse tegemine **
- 2. samm. DragonBoard 410c asukoha leidmine selle GPS -antenni abil
- Samm: 3G/4G USB -dongle paigaldamine
- Samm: muutke DragonBoard 410c WiFi levialaks / pääsupunktiks
- Samm 5: Juurdepääs DragonBoard 410c juhtmevabalt, kasutades SSH -d, leviala kaudu
- Samm 6: DragonBoard 410c ühendamine Bluetoothi abil auto OBD -ga - osa 1/2
- Samm 7: DragonBoard 410c ühendamine Bluetoothi abil auto OBD -ga - Osa 2/2
- Samm: ühendage DragonBoard 410c auto OBD -ga PyOBD abil
- 9. samm: andmete lugemine autost, kasutades Pythoni
- 10. samm: korduvad skriptid ja salvestatud andmete salvestamise kord
- Samm 11: Mured teel
- 12. samm: viited
Video: DragonBoard ja OBD2: 12 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Lugedes oma auto OBD2 pordist väljuvaid andmeid, on võimalik sealt hämmastavat teavet koguda. DragonBoard 410c abil töötasime selle projekti kallal ja kirjeldasime seda siin, et saaksite seda ise teha.
See projekt oli võimalik ainult tänu partnerlusele #Qualcomm #Embarcados #Linaro #Arrow #BaitaAceleradoraga, mis võimaldas meil saada juurdepääsu turu parimale riistvarale ning kontakti arendamise toetamiseks parimate spetsialistidega.
Meeskonna moodustasid need poisid:
- Marcel Ogando - häkker - [email protected]
- Leandro Alvernaz - häkker - [email protected]
- Thiago Paulino Rodrigues - turundus - [email protected]
Aitame teid väga oma eesmärgi saavutamisel ja veenduge, et olete oma projekti lõpule viinud, seega andke meile teada, kui vajate abi, mis on allpool toodud juhiseid.
Paraguir este projeto em Português, klikid:
www.instructables.com/id/DragonBoard-Com-OBD
Selle projekti jaoks kasutasime järgmisi elemente:
- Qualcomm DragonBoard 410c
- ELM327 Bluetooth OBD2 liides
- Dongle USB 3G/4G
- Pingeinverteri autolaadija (110v)
Samm 1: DragonBoard 410c esialgse seadistuse tegemine **
Qualcomm DragonBoard 410c abil alustasime projekti Linuxi distributsiooni Linaro installimisega, mis võimaldas meil seadistada kõik vajalikud seadmed.
Linaro kujutise loomiseks DragonBoardile kasutage VirtualBoxis Ubunot, et saaksite kasutada FastBoot'i (see on Linuxil põhinev rakendus). Põhimõtteliselt peate avama terminali VM Ubuntu ja sisestama:
sudo apt-get android-tools-fastboot
Linaro installimiseks peame läbima 2 olulist sammu:
1) BOOTLOADERi paigaldamine
Faili nimi: dragonboard410c_bootloader_emmc_linux-79.zip
builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/
Pakkige failid lahti ja valige kaust:
cd /FolderName (lahtipakitud kausta tee)
Sisestage järgmine kood:
sudo fastboot seadmed
Eeldatav tootlus:
(kuueteistkümnendarv) kiirlaadimine
Seejärel tippige:
sudo./flashall
Eeldatav tootlus:
valmis. koguaeg 1000s (ilma vigadeta)
KASUTUSSÜSTEEMI paigaldamine
builds.96boards.org/releases/dragonboard410c/linaro/debian/latest/
Laadige need 2 faili alla:
boot-linaro-stretch-qcom-snapdragon-arm64-20170607-246.img.gz
See on uusim versioon, mis on siiani saadaval (17. juuni), nii et nimi võib tulevikus muutuda. Muster, mida otsiksite, on "boot-linaro-VersionName". Seda nimetatakse "Stretch" ja eelmine oli "Jessie".
linaro-stretch-alip-qcom-snapdragon-arm64-20170607-246.img.gz
See on seni uusim versioon (17. juuni) ja nimi võib tulevikus muutuda. Otsige mustrit "linaro-VersionName-alip".
Pakkige failid. GZ -st lahti
Juurdepääs kausta "root" seoses lahtipakitud failidega
näide: "/Allalaadimised", kuhu allalaaditud failid salvestatakse.
Nüüd alustage järgmiste käskudega:
sudo fastboot seadmed
sudo fastboot flash boot boot-linaro-NomeDaVersão-qcom-snapdragon-arm64-DATA.img
Eeldatav tulu (aja meeldejätmine võib erineda):
valmis. koguaeg: 100.00
Ühendage hiir, klaviatuur ja monitor/teler HDMI -porti kasutades
Hoidke see käepärast:
kasutaja: linaro
parool: linaro
Avage rakendus Lxterminal ja laadige alla installitud pakettide jaoks saadaolevate värskenduste loend:
sudo apt-get update
Installige kindlasti saadaolevad paketid loendist:
sudo apt-get upgrade
Vihje: Linaro valiti ülikiire alglaadimise ja väga kaasatud ning probleemide lahendamisele orienteeritud kogukonna tõttu, mis säästab palju aega.
2. samm. DragonBoard 410c asukoha leidmine selle GPS -antenni abil
Alustuseks installige vajalikud rakendused, mis on GPS -mooduli kliendid. Rakenduste nimed on: GNSS-GPSD, GPSD ja GPSD-KLIENDID. Selleks järgige käske:
sudo apt-get install gnss-gpsd gpsd gpsd-kliendid
Kui need rakendused on installitud, vajate selle õigeks käivitamiseks rohkem käske:
sudo systemctl käivitage qdsp-start.service
sudo systemctl start gnss-gpsd.service sudo systemctl start qmi-gps-proxy.service
Viige nüüd DragonBoard 410c laiale alale, kust avaneb selge vaade taevale, võimaldades sellel satelliitidelt signaali vastu võtta. Nüüd tippige terminali:
gpsmon –n
Meie testide põhjal hakkasid andmed ekraanile ilmuma keskmiselt 10 minuti pärast. See muudab palju erinevates kohtades, lisaks DragonBoardi asukohale aknal või siseruumides, lisaks paljudele muudele takistustele, mis võivad GPS -signaali vastuvõtmist häirida.
Samm: 3G/4G USB -dongle paigaldamine
DragonBoard 410c ühendamiseks 3G/4G/GSM -võrguga on mitu võimalust:
- Shield / BreakoutBoardi kasutamine GSM -modemiga, millel on ka SimCardi pesa;
- Kasutage USB 3G/4G -donglit.
Selle projekti jaoks otsustasime kasutada Huawei E3272 USB -donglit, kuna selle ostmine oli lihtne ja kiire.
Modemi seadistamiseks võite kasutada terminali (kasutades rakendust WVDial), kuid lihtsaim viis seda teha on Linaro graafilise kasutajaliidese (GUI) kasutamine. Sellele järgmiselt:
- Kui USB-dongle on ühendatud DragonBoardiga, paremklõpsake ekraani paremas alanurgas ikooni "võrgud";
- "Muuda ühendusi"> "Lisa";
- Valige rippmenüüst „Mobiilne lairibaühendus”;
- Klõpsake "Loo".
Järgige viisardi juhiseid, valides kindlasti menüüst sobiva kandja, mis võimaldab seadmel vastavalt ühenduda.
Samm: muutke DragonBoard 410c WiFi levialaks / pääsupunktiks
Lihtsaim viis konfigureerida DragonBoard 410c WiFi -ruuteriks või levialaks (nüüd, kui olete Interneti -ühenduse seadistanud) on kasutada süsteemi GUI -d. Selleks toimige järgmiselt.
- Paremklõpsake paremas alanurgas võrguikooni
- Valige "Muuda ühendusi" ja seejärel "Lisa"
- Valige "WiFi"
- Klõpsake nuppu Loo
Muutke väljale „SSID” loodava võrgu nimi ja muutke väli „Režiim” väärtuseks „Hotspot”.
Töökindluse tagamiseks kontrollige järgmist.
- Minge vahekaardile „IPv4 seaded”
- Kontrollige, kas „meetod”
Samm 5: Juurdepääs DragonBoard 410c juhtmevabalt, kasutades SSH -d, leviala kaudu
Meil õnnestus luua viis DragonBoardile kaugjuurdepääsuks, olenemata sellest, kas olete selle lähedal või mitte. Tavaliselt peate ühenduse looma plaadiga, kasutades WiFi või Bluetoothi. Teine võimalus oleks sellele juurde pääseda, ühendades sama WiFi -võrguga (nt ruuteri kaudu). Järgmiste toimingute tegemisel loome iseseisva seadme, mis loob oma võrgu ja avab juurdepääsu veebile.
Alustuseks installige automaatne SSH, kasutades allolevat koodi:
sudo apt-get install 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
Nüüd genereerime RSA standardi abil krüptovõtme. Seda võtit kasutatakse turvaliseks juurdepääsuks Linuxi lõpp -punkti eksemplarile 3G -modemi avaliku IP kaudu. Selle sammu peamine eesmärk. Järgmine kood kopeerib selle võtme Linuxi usaldusväärsete võtmete hoidlasse, tagades ühenduse veelgi suurema turvalisuse.
ssh -keygen -t rsa
scp ~/.ssh/id_rsa.pub kasutaja@remote_server:.ssh/Author_keys autossh -M 0 -q -f -N -i /home/pi/.ssh/id_rsa -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -R 2222: localhost: 22 kasutaja@remote_server
Neid samme järgides muutsite Qualcomm DragonBoard 410c just pilveserveriks! / o/
Samm 6: DragonBoard 410c ühendamine Bluetoothi abil auto OBD -ga - osa 1/2
Auto suhtlusliides toimub OBD2 pordi kaudu. Selles sadamas vahetatav teave tuleb tõlkida ja selleks vajame tõlkeseadet. Riistvara alternatiive on kaks: ELM327 või STN1170.
Selle projekti jaoks kasutasime ELM327 -l põhineva kiibistikuga Bluetooth -seadet.
Oluline on märkida, et ELM327 kättesaadavus ei tähenda, et see on ELM327 ORIGINAALVERSIOON. Suurem osa saadaolevatest kiibistikest põhineb versioonil 1.5, mis oli siis, kui kiibi teave klooniti ja lekkis turule. Algne ELM327 on nüüd versioonis 2.2. Selle kiibistiku areng toob rohkem andmeid uuemate autode kohta. Oluline on teada, et sõltuvalt katsetest võib teil olla juurdepääs uuemate sõidukite andmetele või mitte.
OBD2 Bluetooth -adapteri abil leidke oma auto OBD2 -port. See võib asuda kuskil rooli all. Selle tööriista abil on võib -olla lihtsam seda otsida:
Juurdepääs DragonBoard 410c -le oma sülearvutist SSH -ga (pidage meeles, et nüüd olete autos ja teil pole plaati ühendamiseks telerit/monitori). Niipea kui OBD2 Bluetooth -seade on autosadamasse sisestatud, järgige Bluetooth -ühenduse loomiseks alltoodud samme.
sudo bluetoothctl
vaikimisi agendi skannimisel saab siduda agendigaSelles etapis on oluline kopeerida MAC -aadress, kuna vajate seda järgmiste sammude jaoks
Sisestage need käsud:
usalda MACADDRESSi
paar MACADDRESS
Teil palutakse sisestada PIN -kood, et Bluetooth OBD2 tahvelarvutiga siduda.
Tavaliselt on PIN -kood 1234 või 0000 - sõltub teie riistvarast
Nüüd peaksite nägema ekraani "ühendus õnnestus". Bluetooth -rakendusest väljumiseks kasutage järgmist käsku:
lõpetage
Järgmine samm on seadme sidumine jadapordiga:
sudo rfcomm bind 0 MACADDRESS 1
Toimingu õnnestumise tagamiseks sisestage:
ls /dev
Pord “Rfcomm0” tuleks loetleda.
Samm 7: DragonBoard 410c ühendamine Bluetoothi abil auto OBD -ga - Osa 2/2
Selle sammu peamine eesmärk on tagada, et kolme seadme vaheline side toimib:
ELM327, DragonBoard 410c ja auto
Jadasõnumite saatmiseks jadapordi kaudu laadige alla rakendus „Ekraan”
sudo apt-get installiekraan
Jadaporti kasutatakse AT -käskude saatmiseks ja vastuste vastuvõtmiseks DragonBoard 410c ja seadme ELM327 vahel.
AT -käskude kohta lisateabe saamiseks külastage järgmist linki:
elmelectronics.com/ELM327/AT_Commands.pdf
Hoiatus:
Olge selle sammuga väga ettevaatlik! Kogu seadmesse saadetav teave tõlgendatakse ja saadetakse autole. Kui saadetakse vale teade, võib auto seda valesti tõlgendada ja tekitada probleeme. Pöörake tähelepanu käskudele ja uurige neid enne oma koodi proovimist. Soovitame tungivalt järgida alltoodud juhiseid.
Suhtluse alustamiseks järgige alltoodud käsujärjestust:
-
See funktsioon käivitab jadaühenduse ekraani abil:
screen /dev /rfcomm0
Niipea kui terminal laaditakse, tippige selles järjestuses järgmised käsud:
ATZ
ATL1 ATH1 ATS1 ATSP0
Lõplik suhtlustest:
Sisestage konsooli:
ATI
See peaks tagastama „ELM327 v1.5” või teie seadme ELM -versiooni
See on tõend sellest, et ELM -seadme ja DragonBoard 410c side toimib
Kiire näpunäide
Ekraanist väljumiseks peate sisestama Ctrl+A ja seejärel Ctrl+D.
Samm: ühendage DragonBoard 410c auto OBD -ga PyOBD abil
PyOBD on Pythoni teek, mis võimaldab sidet autodega ühendatavate OBD2 -seadmetega. Selle abil saame välja võtta mitmeid andmeid, sealhulgas sõiduki kiirust ja elektrihäireid.
Selles etapis peame tagama, et teie DragonBoard 410c Linaro on installitud järgmised pythoni teegid:
-
PIP - Pythoni paketihaldur
sudo apt-get install python-pip
-
SetupTools - faili installimise haldur
sudo pip install -U pip seadistustööriistad
- Ratas - installige paketi vormindaja
sudo apt-get install python-wheel
-
OBD - Pythoni teek OBD -seadmega suhtlemiseks
sudo apt-get install python-obd
-
GPS - Pythoni teek GPS -i andmete hankimiseks
sudo pip install gps
-
Taotlused - Python pakett RESTful jaoks
sudo pip installipäringud
Et kontrollida, kas OBD pakett töötab õigesti, toimige järgmiselt.
sudo python
Nüüd muudetakse terminali kursor ">>>", mis näitab, et Python töötab. Nüüd saate hakata kirjutama järgmisi käske:
-
Alustage OBD kogu importimisega:
import obd
-
Sarjapordiga ühenduse loomiseks kasutage käsku:
ühendus = vana. OBD ("dev/rfcomm0")
- On normaalne kuvada veateade, öeldes, et side ebaõnnestus, nii et kui see juhtub, proovige veel üks kord.
-
Et teada saada, kas Python saab Bluetoothi kaudu ELM327 läbivast autost teavet, tippige järgmine:
connection.protocol_name ()
9. samm: andmete lugemine autost, kasutades Pythoni
Loome alltoodud juhiste järgi faili nimega: OBD.py, millele järgneb kood.
Ühenduste alustamiseks alustage OBD kogu importimisega Pythoni.
Teadmata põhjustel, meie riistvara kasutades, ebaõnnestub esimene ühenduse loomise katse alati. Teine katse, töötab alati. Sellepärast märkate koodil kahte käsurida, mis üritavad ühendust luua.
Pärast ühenduse loomist käivitasime lõpmatu tsükli, mis otsib OBD andmeid ja vormindab need vastavalt eelseadistatud parameetritele. Pärast seda loob see päringustringi abil URL -i, mis võimaldab selle serverile saata POST -meetodi abil.
Allolevas näites õnnestus meil saada järgmine teave:
- RPM
- Kiirus
Andmete kogumise funktsioonid kasutavad kahte parameetrit. Näiteks kasutades [1] [12] otsite [moodul] [PID]. Funktsioonide loendi leiate aadressilt
Lõpuks genereerige URL, kus kogu teave on ühendatud ja failile lisatud, nimega "obd_data.dat".
OBD.py kood on allpool.
Pärast andmete ühendamist ja jäädvustamist loome faili nimega: envia_OBD.py
See koodi osa muutub lihtsamaks. Importige päringuga seotud teegid/saatke andmed, kasutades RESTFUL.
Looge POST -i kasutamiseks WHILE ja saatke faili esimese rea URL, mille on varem täitnud OBD.py. Pärast seda, et vältida andmete uuesti saatmist, kustutab see selle rea failist.
Faili OBD.py kood on allpool.
10. samm: korduvad skriptid ja salvestatud andmete salvestamise kord
Kõik, mida oleme seni teinud, oli suunatud sellele, et DragonBoard suhtleks korralikult selliste komponentidega nagu 3G, Wifi, Bluetooth, GPS -andmed ja palju muud.
Kasutage allolevat koodi, et redigeerida faili "rc.local", millel on juba mõned funktsioonid ja eelmääratud käsud. See asub aadressil "/etc". Muutmiseks kasutage käsku:
sudo nano /etc/rc.local
Nüüd peame konfigureerima kõik teenused ja funktsioonid, luues rutiinid, mis lähtestatakse automaatselt DragonBoardi käivitamisel. Kasutame selleks BASH -i. BASH (Bourne-Again-SHell) on Linuxi käsutõlgi rakendus.
Järgmisel koodil on BASH -käsud ja peate sisestama Bluetooth/OBD MAC -aadressi. Olge eriti ettevaatlik ja veenduge, et koodi lõpus on "exit 0", mis on süsteemi vastus, et toiming õnnestus.
kui [! -f/etc/ssh/ssh_host_rsa_key]
siis systemctl stop ssh.socket || true dpkg-reconfigure openssh-server fi sudo systemctl start qdsp-start.service rfcomm bind 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 & exit 0
Nüüdsest ühendab see iga kord, kui DragonBoardi sisse lülitate, 3G -ga ja saadab valitud serverisse GPS- ja OBD -andmed.
Samm 11: Mured teel
Allpool loetlesime mõned probleemid, mille leidsime enne selle juhendi kirjutamist, kuid arvasime, et see võib teid aidata, kui see teiega juhtub.
-
PyOBD
Autoga suheldes peate andmete saatmiseks olema väga ettevaatlik. Ühel meie esimesel katsel, kui side ei olnud stabiilne, saatsime vale käsu, mis põhimõtteliselt katkestas ECU. Käiguvahetus jäi parkimisse kinni ja mõned armatuurlaua tuled vilkusid suvaliselt. Leitud lahendus oli üks akukaabel umbes 15 minutiks lahti ühendada. See lähtestab ECU tehaseseadetele, tühistades seetõttu kõik meie tehtud käsud või muudatused
-
Linaro
Meil oli probleem meie DragonBoardiga, mis taaskäivitas aeg -ajalt. Probleemi lahendas Linaro meeskond, kes avaldas OS -i uuema versiooni. Kirjutasime selle õpetuse uuendatud versiooniga
-
DragonBoardi GPS
Qualcommi DragonBoard 410c -l pole sisemist GPS -antenni, nii et GPS -signaali hankimise täiustamiseks peame paigaldama välise antenni pistiku. Seda protsessi selgitab paremini järgmine link:
12. samm: viited
Bootloader
builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/
Linaro
builds.96boards.org/releases/dragonboard410c/linaro/debian/latest/
Ühendatud või Linaro ja DragonBoard 410c
www.embarcados.com.br/linux-linaro-alip-na-qualcomm-dragonboard-410c/
GPS -i dokument DragonBoardile
discuss.96boards.org/t/gps-software/170/16
GPS demo
gist.github.com/wolfg1969/4653340
Pythoni OBD
github.com/brendan-w/python-OBD
Conectando RaspberryPi või OBD Bluetooth
gersic.com/connecting-your-raspberry-pi-to-a-bluetooth-obd-ii-adapter/
Soovitan:
Tahhomeeter/skannimõõtur Arduino, OBD2 ja CAN -siini abil: 8 sammu
Tahhomeeter/skannimõõtur Arduino, OBD2 ja CAN -bussi abil: kõik Toyota Priuse (või muu hübriid-/erisõiduki) omanikud teavad, et nende armatuurlaual võib puududa mõni valik! Minu priusil pole mootori pöörlemiskiirust ega temperatuurinäidikut. Kui olete esitusmees, võiksite teada selliseid asju nagu ajastus ja
Desenvolvendo Aplicações Remotamente Para a Dragonboard 410c Usando IDE Eclipse: 17 sammu
Desenvolvendo Aplicações Remotamente Para a Dragonboard 410c Usando IDE Eclipse: O objetivo deste documento é Mostrar as etapas required á rias para configurar o ambiente de desenvolvimento, de modo que o HostPC (Computador / Notebook), atrav é s do IDE Eclipse compile os c ó digos e exporte para o Alvo (Drag
Vision 4all - Sistema Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android: 6 sammu
Visioon 4all - Sistema Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Applicativo Android: DESCRI Ç Ã OO intuito do projeto é dar autonomia para deficientes visuais se locomoverem em ambientes siseruumides como casas või kaubanduskeskustes ja lennujaamades.A locomo ç ã o em ambientes j á mapeados pode ou n ã o s
Comunicação Serial Com a Dragonboard 410c Usando Mezzanine 96boards Andurid: 7 sammu
Comunicação Serial Com a Dragonboard 410c Usando Mezzanine 96boards Andurid: O objetivo desse tutorial é Mostrar as etapas required á rias para configurar o ambiente de desenvolvimento, de modo que seja poss í vel comunicar com a Dragonboard 410c atrav é s de um computador / notebook usando comunica & ccedi
OBD2 Bluetooth -lugeja: 3 sammu
OBD2 Bluetooth -lugeja: Tere tulemast, see on minu esimene juhendatav ja loodetavasti on see hõlpsasti mõistetav ja saate selle ise luua. Kui teil on küsimusi, võtke minuga julgelt ühendust ja võib -olla saan teid aidata. Püüan selle jälgimise äärmiselt lihtsaks muuta