Sadržaj:
- Korak 1: Izvođenje DragonBoard 410c početnog postavljanja **
- Korak 2: Pronađite svoj DragonBoard 410c pomoću njegove GPS antene
- Korak 3: Instalirajte 3G/4G USB ključ
- Korak 4: Pretvorite DragonBoard 410c u Wifi žarišnu točku / pristupnu točku
- Korak 5: Bežični pristup DragonBoardu 410c pomoću SSH -a putem povezivanja putem hotspota
- Korak 6: Povezivanje DragonBoarda 410c s OBD -om u automobilu pomoću Bluetootha - dio 1/2
- Korak 7: Povezivanje DragonBoarda 410c s OBD -om u automobilu pomoću Bluetootha - dio 2/2
- Korak 8: Povezivanje DragonBoarda 410c s OBD -om automobila pomoću PyOBD -a
- Korak 9: Čitanje podataka iz automobila pomoću Pythona
- Korak 10: Ponavljajuće se skripte i postupak pohrane podataka za snimljene podatke
- Korak 11: Nevolje na putu
- Korak 12: Reference
Video: DragonBoard i OBD2: 12 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Čitajući podatke koji izlaze iz OBD2 priključka u vašem automobilu, iz njega je moguće prikupiti nevjerojatne podatke. Koristeći DragonBoard 410c, radili smo na ovom projektu i ovdje ga detaljno opisali tako da to možete učiniti sami.
Ovaj projekt bio je moguć samo zahvaljujući partnerstvu s #Qualcomm #Embarcados #Linaro #Arrow #BaitaAceleradora koje nam je omogućilo pristup najboljem hardveru na tržištu, kao i kontaktu s najboljim stručnjacima koji su podržali razvoj.
Tim su sačinili ovi momci:
- Marcel Ogando - Haker - [email protected]
- Leandro Alvernaz - Haker - [email protected]
- Thiago Paulino Rodrigues - Marketing - [email protected]
Želimo vam pomoći u postizanju vašeg cilja i pobrinuti se da dovršite svoj projekt, pa nas obavijestite ako vam je potrebna dodatna pomoć osim donjih uputa.
Para seguir este projeto em Português, clique aqui:
www.instructables.com/id/DragonBoard-Com-OBD
Za ovaj projekt koristili smo sljedeće stavke:
- Qualcomm DragonBoard 410c
- ELM327 Bluetooth OBD2 sučelje
- USB ključ 3G/4G
- Punjač za automobil s tenzionim pretvaračem (110v)
Korak 1: Izvođenje DragonBoard 410c početnog postavljanja **
Koristeći Qualcomm DragonBoard 410c, započeli smo projekt instaliranjem distribucije Linuxa Linuro, dopuštajući nam postavljanje svih potrebnih uređaja.
Da biste stvorili sliku Linara za DragonBoard, upotrijebite Ubunto na VirtualBoxu, tako da možete koristiti FastBoot (to je aplikacija temeljena na Linuxu). Dakle, u osnovi morate otvoriti Terminal na VM Ubuntu i unijeti:
sudo apt-get android-tools-fastboot
Da bismo instalirali Linaro, moramo proći kroz 2 važna koraka:
1) Instaliranje BOOTLOADER -a
Naziv datoteke: dragonboard410c_bootloader_emmc_linux-79.zip
builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/
Raspakirajte datoteke i odaberite mapu:
cd /FolderName (put do raspakirane mape)
Unesite sljedeći kôd:
sudo uređaji za brzo pokretanje
Očekivani povrat:
(heksadecimalno) fastboot
Zatim upišite:
sudo./flashall
Očekivani povrat:
završeno. ukupno vrijeme 1.000 s (bez grešaka)
Instaliranje OPERATIVNOG SUSTAVA
builds.96boards.org/releases/dragonboard410c/linaro/debian/latest/
Preuzmite ove 2 datoteke:
boot-linaro-stretch-qcom-snapdragon-arm64-20170607-246.img.gz
Ovo je najnovija dostupna verzija (17. lipnja/lipnja) pa bi se naziv u budućnosti mogao promijeniti. Uzorak koji biste tražili je "boot-linaro-VersionName". Ovaj se zove "Stretch", a prethodni je bio "Jessie".
linaro-stretch-alip-qcom-snapdragon-arm64-20170607-246.img.gz
Ovo je najnovija verzija do sada (17. lipnja/lipnja), a naziv bi se u budućnosti mogao promijeniti. Potražite uzorak "linaro-VersionName-alip".
Raspakirajte datoteke iz. GZ
Pristupite mapi "root" u odnosu na otpakirane datoteke
primjer: "/Preuzimanja" gdje se spremaju preuzete datoteke.
Sada počnite sa sljedećim naredbama:
sudo uređaji za brzo pokretanje
sudo fastboot flash boot boot-linaro-NomeDaVersão-qcom-snapdragon-arm64-DATA.img
Očekivani povrat (pamćenje vremena može varirati):
završeno. ukupno vrijeme: 100,00s
Spojite miša, tipkovnicu i monitor/TV pomoću HDMI priključka
Imajte ovo pri ruci:
korisnik: linaro
lozinka: linaro
Otvorite aplikaciju Lxterminal i nastavite s preuzimanjem popisa dostupnih ažuriranja u vezi instaliranih paketa:
sudo apt-get ažuriranje
Obavezno instalirajte dostupne pakete s popisa:
sudo apt-get nadogradnja
Savjet: Linaro je odabran zbog iznimno brzog pokretanja i zajednice vrlo angažirane i usmjerene na rješavanje problema, što štedi mnogo vremena.
Korak 2: Pronađite svoj DragonBoard 410c pomoću njegove GPS antene
Počnite instaliranjem potrebnih aplikacija koje će biti klijenti GPS modula. Nazivi aplikacija su: GNSS-GPSD, GPSD i GPSD-KLIJENTI. Da biste to učinili, slijedite naredbe:
sudo apt-get install gnss-gpsd gpsd gpsd-clients
S instaliranim ovim aplikacijama trebat će vam više naredbi za pravilno pokretanje:
sudo systemctl start qdsp-start.service
sudo systemctl start gnss-gpsd.service sudo systemctl start qmi-gps-proxy.service
Sada odnesite DragonBoard 410c na široko otvoreno područje s jasnim pogledom na nebo, omogućavajući mu primanje signala sa satelita. Sada upišite u terminal:
gpsmon –n
Prema našim testovima, podaci bi se u prosjeku počeli prikazivati na ekranu nakon 10 minuta. To se jako mijenja od mjesta do mjesta, osim položaja DragonBoarda na prozoru ili u zatvorenom prostoru, pored mnogih drugih prepreka koje mogu ometati prijem GPS signala.
Korak 3: Instalirajte 3G/4G USB ključ
Postoji nekoliko načina za povezivanje DragonBoard 410c s 3G/4G/GSM mrežom:
- Korištenje Shield / BreakoutBoard -a s GSM modemom koji također ima utor za SimCard karticu;
- Koristite USB 3G/4G ključ.
Za ovaj projekt odlučili smo se koristiti Huaweijevim USB ključem E3272 jer ga je bilo jednostavno i brzo kupiti.
Za konfiguriranje modema možete koristiti terminal (pomoću aplikacije WVDial), ali najjednostavniji način za to je korištenje Linarovog grafičkog korisničkog sučelja (GUI). Na njega na sljedeći način:
- S USB ključem spojenim na DragonBoard, desnom tipkom miša kliknite ikonu "mreže" u donjem desnom kutu zaslona;
- "Uredi veze"> "Dodaj";
- Odaberite "Mobilni širokopojasni pristup" s padajućeg izbornika;
- Pritisnite "Kreiraj".
Slijedite upute čarobnjaka, pazite da s izbornika odaberete odgovarajućeg operatera, dopuštajući uređaju da se na odgovarajući način poveže.
Korak 4: Pretvorite DragonBoard 410c u Wifi žarišnu točku / pristupnu točku
Najjednostavniji način za konfiguriranje DragonBoard 410c kao wifi usmjerivača ili žarišne točke (sada kada ste konfigurirali internetsku vezu) je korištenje grafičkog sučelja sustava. Da biste to učinili, slijedite korake u nastavku:
- Desnom tipkom miša kliknite ikonu mreže u donjem desnom kutu
- Odaberite "Uredi veze, a zatim" Dodaj"
- Odaberite "WiFi"
- Pritisnite stvoriti
Promijenite naziv mreže koju želite stvoriti u polju "SSID", a polje "Način" promijenite u "Hotspot".
Da biste bili sigurni da će raditi, provjerite sljedeće:
- Idite na karticu "Postavke IPv4"
- Provjerite je li "metoda"
Korak 5: Bežični pristup DragonBoardu 410c pomoću SSH -a putem povezivanja putem hotspota
Uspjeli smo stvoriti način za daljinski pristup DragonBoardu, bez obzira na to jeste li u blizini ili niste. Obično biste se morali spojiti na samu ploču, koristeći wifi ili bluetooth. Drugi način bio bi pristupanje povezivanjem na istu Wifi mrežu (npr. S usmjerivača). Izvođenjem sljedećih koraka stvaramo samostalni uređaj koji stvara vlastitu mrežu i otvara se webu kako bi mu se moglo pristupiti.
Možete započeti instaliranjem "Auto SSH" pomoću donjeg koda:
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./ konfigurirati make sudo make install install
Sada ćemo generirati kriptografski ključ, koristeći RSA standard. Ovaj će se ključ koristiti za siguran pristup instanci krajnje točke Linuxa, putem javnog IP -a 3G modema. Glavni cilj ovog koraka. Sljedeći kôd kopirat će taj ključ u spremište pouzdanih ključeva Linuxa, pazeći na to da je veza još veća.
ssh -keygen -t rsa
scp ~/.ssh/id_rsa.pub korisnik@udaljeni_služitelj:.ssh/ovlašteni_ključevi autossh -M 0 -q -f -N -i /home/pi/.ssh/id_rsa -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -R 2222: localhost: 22 korisnik na udaljenom poslužitelju
Slijedeći ove korake, upravo ste pretvorili Qualcomm DragonBoard 410c u Cloud poslužitelj! / o/
Korak 6: Povezivanje DragonBoarda 410c s OBD -om u automobilu pomoću Bluetootha - dio 1/2
Komunikacijsko sučelje automobila vrši se putem OBD2 priključka. Informacije koje se razmjenjuju u ovoj luci potrebno je prevesti, a za to nam je potreban uređaj za tumač. Postoje dvije hardverske alternative: ELM327 ili STN1170.
Za ovaj projekt koristili smo Bluetooth uređaj s čipsetom temeljenim na ELM327.
Važno je napomenuti da dostupnost ELM327 ne znači da je to ORIGINALNA VERZIJA ELM327. Većina dostupnih skupova čipova temelji se na verziji 1.5, tada su informacije o čipu klonirane i procurile na tržište. Izvorni ELM327 sada je na verziji 2.2. Evolucija ovog čipseta donosi više podataka o novijim automobilima. Važno je to znati jer, ovisno o testovima, možete, ali i ne morate pristupiti podacima iz novijih vozila.
Pomoću OBD2 Bluetooth adaptera pronađite OBD2 port vašeg automobila. Možda se nalazi negdje ispod upravljača. Možda će biti lakše potražiti ga pomoću ovog alata:
Pristupite DragonBoard 410c pomoću SSH -a sa svoje bilježnice (zapamtite da ste sada u automobilu i da nemate televizor/monitor za priključivanje ploče). Čim je OBD2 Bluetooth uređaj umetnut u priključak za automobil, slijedite dolje navedene korake za pristup bluetooth povezivanju.
sudo bluetoothctl
pakable on agent on default-agent scan onU ovoj je fazi važno da kopirate MAC adresu jer će vam trebati za sljedeće korake
Upišite ove naredbe:
vjerujte MACADDRESS -u
par MACADDRESS
Trebali biste biti upitani sa zahtjevom za upis PIN koda za uparivanje Bluetooth OBD2 s pločom.
Obično je PIN kôd 1234 ili 0000 - ovisi o vašem hardveru
Sada biste trebali vidjeti zaslon "uspješna veza". Da biste zatvorili Bluetooth aplikaciju, upotrijebite sljedeću naredbu:
prestati
Sljedeći korak je POVEZIVANJE uređaja sa serijskim portom:
sudo rfcomm vezanje 0 MACADDRESS 1
Da biste bili sigurni da je operacija uspjela, upišite:
ls /dev
Treba navesti port “Rfcomm0”.
Korak 7: Povezivanje DragonBoarda 410c s OBD -om u automobilu pomoću Bluetootha - dio 2/2
Glavni cilj ovog koraka je jamčiti da komunikacija između tri uređaja funkcionira:
ELM327, DragonBoard 410c i automobil
Preuzmite aplikaciju “Screen” za slanje serijskih poruka putem serijskog porta
sudo apt-get instalacijski zaslon
Serijski port će se koristiti za slanje AT naredbi i primanje odgovora između DragonBoard 410c i ELM327 uređaja.
Za više informacija o AT naredbama pristupite sljedećoj vezi:
elmelectronics.com/ELM327/AT_Commands.pdf
Upozorenje:
Budite vrlo oprezni s ovim korakom! Sve informacije koje pošaljete na uređaj bit će protumačene i poslane u automobil, ako se pošalje pogrešna poruka, automobil ih može krivo protumačiti i uzrokovati probleme. Obratite pozornost na naredbe i proučite ih prije nego pokušate s vlastitim kodom. Toplo vam preporučujemo da slijedite donje upute.
Slijedite donji slijed naredbi za početak komunikacije:
-
Ova funkcija započinje serijsku komunikaciju pomoću zaslona:
screen /dev /rfcomm0
Čim se terminal učita, upišite sljedeće naredbe u ovom slijedu:
ATZ
ATL1 ATH1 ATS1 ATSP0
Završni komunikacijski test:
Upišite u konzolu:
ATI
Trebao bi vratiti "ELM327 v1.5" ili ELM verziju vašeg uređaja
Ovo je dokaz da komunikacija ELM uređaja i DragonBoard 410c funkcionira
Brzi savjet
Da biste napustili "Zaslon", potrebno je upisati Ctrl+A, a zatim Ctrl+D.
Korak 8: Povezivanje DragonBoarda 410c s OBD -om automobila pomoću PyOBD -a
PyOBD je knjižnica Python koja omogućuje komunikaciju s OBD2 uređajima koji se mogu povezati s automobilima. Time možemo izvući nekoliko podataka, uključujući brzinu vozila i električne pogreške.
U ovom koraku moramo osigurati da su sljedeće Python knjižnice instalirane u Linaro vašeg DragonBoarda 410c:
- PIP - Pythonov upravitelj paketa
sudo apt-get install python-pip
- SetupTools - upravitelj instalacije datoteka
sudo pip install -U pip setupstools
-
Kotačić - instalirajte format formatter
sudo apt-get install python-wheel
-
OBD - Python knjižnica za komunikaciju s OBD uređajem
sudo apt-get install python-obd
- GPS - Python knjižnica za dobivanje podataka s GPS -a
sudo pip instaliraj gps
-
Zahtjevi - Python paket za RESTful
sudo pip zahtjevi za instalaciju
Da biste provjerili radi li OBD -ov paket ispravno, slijedite ove korake:
sudo python
Sada će se kursor terminala promijeniti u ">>>" što znači da je Python pokrenut. Sada možete početi upisivati naredbe u nastavku:
-
Počnite uvozom OBD biblioteke:
uvoz obd
-
Za povezivanje sa serijskim portom koristite naredbu:
veza = stara. OBD (“dev/rfcomm0”)
- Normalno je prikazati poruku o pogrešci koja kaže da komunikacija nije uspjela, pa ako se to dogodi, pokušajte još jednom.
-
Da biste saznali dobiva li Python informacije iz automobila koji prolazi kroz ELM327 preko bluetootha, upišite sljedeće:
connection.protocol_name ()
Korak 9: Čitanje podataka iz automobila pomoću Pythona
Napravit ćemo datoteku pod nazivom: OBD.py, prema donjim uputama, a zatim kôd.
Počnite uvozom OBD knjižnice u Python da biste započeli veze.
Iz nepoznatih razloga, koristeći naš hardver, prvi pokušaj povezivanja uvijek ne uspije. Drugi pokušaj, uvijek uspije. Zato ćete na kodu primijetiti dvije naredbene linije koje pokušavaju uspostaviti vezu.
Nakon što je povezivanje uspješno, pokrenuli smo beskonačnu petlju koja traži OBD podatke i formatira ih prema unaprijed postavljenim parametrima. Nakon toga, stvara URL, koristeći niz upita, dopuštajući njegovo slanje na poslužitelj pomoću POST metode.
Na donjem primjeru uspjeli smo dobiti sljedeće podatke:
- O / min
- Ubrzati
Funkcije za hvatanje podataka koriste dva parametra. Na primjer, pomoću [1] [12] pretražujete za [modul] [PID]. Popis funkcija možete pronaći na:
Konačno, generirajte URL sa svim informacijama spojenim i dodanim u datoteku, pod nazivom "obd_data.dat".
Kôd za OBD.py nalazi se u nastavku.
Nakon povezivanja i snimanja podataka, stvorit ćemo datoteku pod nazivom: envia_OBD.py
Ovaj dio koda postaje jednostavniji. Uvezite knjižnice povezane sa zahtjevom/pošaljite podatke, koristeći RESTFUL.
Izradite dok koristite POST i pošaljite URL prvog retka datoteke, prethodno popunjen OBD.py. Nakon toga, kako bi se izbjeglo ponovno slanje podataka, briše taj redak iz datoteke.
Kôd datoteke OBD.py nalazi se u nastavku.
Korak 10: Ponavljajuće se skripte i postupak pohrane podataka za snimljene podatke
Sve što smo do sada učinili bilo je usmjereno na to da osiguramo da DragonBoard pravilno komunicira sa komponentama, poput 3G, Wifi, Bluetooth, GPS podataka i još mnogo toga.
Upotrijebite donji kod za uređivanje datoteke "rc.local" koja već ima neke funkcije i unaprijed definirane naredbe. Nalazi se na '/etc'. Za uređivanje upotrijebite naredbu:
sudo nano /etc/rc.local
Sada moramo konfigurirati sve usluge i funkcije, stvoriti rutine koje se automatski pokreću pri pokretanju DragonBoarda. Upotrijebimo BASH za to. BASH (Bourne-Again-SHell) je aplikacija za tumačenje naredbi Linuxa.
Sljedeći kôd ima naredbe BASH, pa ćete morati umetnuti Bluetooth/OBD MAC adresu. Budite posebno oprezni da kôd završite s "exit 0", što je odgovor sustava da je akcija uspjela.
ako [! -f/etc/ssh/ssh_host_rsa_key]
tada systemctl stop ssh.socket || true dpkg-ponovno konfigurirajte openssh-poslužitelj fi sudo systemctl start qdsp-start.service rfcomm vezanje 0 MACADDRESS 1 sudo python /home/linaro/Documents/FadaDoCarro/conectaGPS.py & sudo python/home/lina /Documents/FadaDoCarro/OBD.py & sudo python /home/linaro/Documents/FadaDoCarro/envia_OBD.py & exit 0
Od sada, svaki put kad uključite DragonBoard, on će se spojiti na 3G i slati GPS i OBD podatke na odabrani poslužitelj.
Korak 11: Nevolje na putu
U nastavku smo naveli neke probleme koje smo usput pronašli prije nego što smo napisali ovaj Instructable, ali smo mislili da bi vam moglo pomoći ako vam se to dogodi.
-
PyOBD
Morate biti vrlo oprezni pri slanju podataka tijekom komunikacije s automobilom. U jednom od naših prvih pokušaja, kada komunikacija nije bila stabilna, poslali smo pogrešnu naredbu koja je u osnovi srušila ECU. Mjenjač je zaglavio na parkiralištu, a neka od svjetla na armaturnoj ploči nasumično su treptala. Rješenje koje je pronađeno bilo je isključiti jedan od kabela akumulatora na oko 15 minuta. Time se ECU vraća na tvornički zadano stanje, stoga se poništavaju sve naredbe ili promjene koje smo možda izvršili
-
Linaro
Imali smo problem s našom DragonBoard -om, koja se povremeno ponavljala. Problem je riješio Linarov tim koji je izdao noviju verziju OS -a. Napisali smo ovaj vodič s ažuriranom verzijom
-
DragonBoardov GPS
Qualcommov DragonBoard 410c nema unutarnju GPS antenu, pa kako bismo poboljšali akviziciju GPS signala, moramo instalirati priključak za vanjsku antenu. Ovaj proces je bolje objašnjen na sljedećoj poveznici:
Korak 12: Reference
Bootloader
builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/
Linaro
builds.96boards.org/releases/dragonboard410c/linaro/debian/latest/
Možete instalirati Linaro na DragonBoard 410c
www.embarcados.com.br/linux-linaro-alip-na-qualcomm-dragonboard-410c/
Dokumentacija o GPS -u za DragonBoard
discuss.96boards.org/t/gps-software/170/16
GPS demo
gist.github.com/wolfg1969/4653340
Python OBD
github.com/brendan-w/python-OBD
Conectando RaspberryPi kao OBD Bluetooth
gersic.com/connecting-your-raspberry-pi-to-a-bluetooth-obd-ii-adapter/
Preporučeni:
Tahometar/mjerač skeniranja pomoću Arduina, OBD2 i CAN sabirnice: 8 koraka
Mjerač broja okretaja/mjerač skeniranja pomoću Arduina, OBD2 i CAN sabirnice: Svaki vlasnik Toyote Prius (ili drugog hibridnog/posebnog vozila) znat će da na nadzornoj ploči nedostaje nekoliko brojčanika! Moj prius nema broj okretaja motora ili mjerač temperature. Ako ste performans, možda biste htjeli znati stvari poput unaprijed određenog vremena i
Desenvolvendo aplikacije za daljinsko upravljanje za Dragonboard 410c Usando IDE Eclipse: 17 koraka
Desenvolvendo Primjene Remotamente Para a Dragonboard 410c Usando IDE Eclipse: O objetivo deste documento é mostrar kao etapas need á rias para configurar o ambiente de desenvolvimento, de modo que o HostPC (Computador / Notebook), atrav é s do IDE Eclipse compile os c ó digos e exportto para alvo (Povucite
Vision 4all - Sustav Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplikacija Android: 6 koraka
Vision 4all - Sustav Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplikacija Android: DESCRI Ç Ã OO intuito do projeto é dar autonomia para deficentes visuais se locomoverem em ambientes indoor como casas ou shopping centres e aeroportos.A locomo ç ã o em ambientes j á mapeados pode ou n ã o s
Comunicação Serial Com a Dragonboard 410c Usando Mezzanine 96 ploča Senzori: 7 koraka
Comunicação Serial Com a Dragonboard 410c Usando Mezzanine 96 ploča Senzori: O objektivu desse tutorial é mostrar kao etapas need á 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 čitač: 3 koraka
OBD2 Bluetooth čitač: Dobro došli, ovo je moj prvi Instructable i nadam se da ga je lako razumjeti i možete ga sami izraditi. Ako imate bilo kakvih pitanja, slobodno me kontaktirajte i možda vam mogu pomoći. Pokušat ću ovo učiniti izuzetno jednostavnim za praćenje s ovim