INHOUDSOPGAWE:
- Stap 1: Fazendo O Setup Inicial Da DragonBoard 410c
- Stap 2: Fazendo O GPS deur DragonBoard 410c Localizar Seu Dispositivo
- Stap 3: Installeer O Dongle USB 3G/4G
- Stap 4: Transformeer 'n DragonBoard 410c Em Hotspot / Access Point WiFi
- Stap 5: Toegang tot DragonBoard 410c deur SSH Sem Fio, gebruik op Hotspot
- Stap 6: Ligando a DragonBoard 410c Ao OBD Do Seu Carro via Bluetooth - Passo 1/2
- Stap 7: Ligando a DragonBoard 410c Ao OBD Do Seu Carro via Bluetooth - Passo 2/2
- Stap 8: Ligando a DragonBoard 410c Ao OBD Do Seu Carro Usando PyOBD
- Stap 9: Bykomende inligting oor Carro Usando Python
- Stap 10: Repetição De Scripts E Armazenamento De Dados Capturados Do Carro
- Stap 11: Dificuldades Encontradas
- Stap 12: Verwysings
Video: DragonBoard Com OBD: 12 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Die protokol vir OBD2 kan gebruik word, en ons kan ook inligting ontvang. Gebruik 'n DragonBoard 410c om 'n nuwe produk te gebruik, en dit is ook moontlik om die besonderhede van hierdie weergawes te vervang.
Este projeto foi feito em parceria com a #Qualcomm #Embarcados #Linaro #Arrow #BaitaAceleradora que permitiram que tivéssemos acesso aos melhores hardwares, além do contato com os melhores profissionais para contribuir com o desenvolvimento.
Deelname aan die projek:
- Marcel Ogando - Hacker - [email protected]
- Leandro Alvernaz - Hacker - [email protected]
- Thiago Paulino Rodrigues - Bemarking - [email protected]
Totale belangstelling vir 'n konsultasie van 'n konsultasie of 'n konsultasie!
Om hierdie projek in Engels te volg, klik hier:
www.instructables.com/id/DragonBoard-and-OBD2/
Een van die belangrikste aspekte van die komponente wat ooreenstem met die volgende afbeeldings:
- Qualcomm DragonBoard 410c
- ELM327 Bluetooth OBD2 -koppelvlak
- Dongle USB 3G/4G
- Carregador Veicular de Inversão de Tensão (110v)
Stap 1: Fazendo O Setup Inicial Da DragonBoard 410c
Gebruik 'n Qualcomm DragonBoard 410c, wat in staat is om 'n installeer- en verspreidingsprogram vir Linux aan te skaf, en dit is moontlik om die konfigurasie te voltooi.
Vir meer inligting oor 'n DragonBoard, kan u Ubuntu, VirtualBox, FastBoot of Linux gebruik. Dit is 'n noodsaaklike installasie vir Linux vir die installeer van programme.
Vir die installering van Fastboot, toegang tot Terminal for Suprematic Virtual Ubuntu, en die volgende:
sudo apt-get android-tools-fastboot
-
Para installal o Linaro, preciesamos passar for 2 passos muito importantes:
- Installeer of BOOTLOADER
-
Aromeer naam: dragonboard410c_bootloader_emmc_linux-79.zip
- https://builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/
- Gaan terug na ons pos
-
Ingang na pasta:
cd /NomeDaPasta (caminho da pasta descompactada)
-
Gids of kommando:
sudo fastboot -toestelle
-
Resposta esperada:
(heksadesimaal) fastboot
-
Verander syfers:
sudo./flashall
-
Resposta esperada:
klaar. totale tyd 1.000s (sem erros)
(sem erros)
-
Instalando o Sistema Operacional
- https://builds.96boards.org/releases/dragonboard410c/linaro/debian/latest/
- Lees meer oor:
-
boot-linaro-stretch-qcom-snapdragon-arm64-20170607-246.img.gz
Este arquivo é a última versão (Junho/17) e o nome futuro pode ser alterado. 'N basis vir die naam van 'n bus "é-boot-linaro-NomeDaVersão". Nesta versão o nome é “Stretch” e a anterior foi “Jessie”
-
linaro-stretch-alip-qcom-leeubek-arm64-20170607-246.img.gz
Este arquivo é a última versão (Junho/17) e o nome futuro pode ser alterado. Verkry deur “linaro-NomeDaVersão-alip”
- Retirar os arquivos de dentro do. GZ
-
Inskrywing vir pasta "raiz" em relação aos arquivos compactados
Byvoorbeeld: "/Downloads" is 'n plaaslike aanwins vir ons
-
Entre com os comandos:
sudo fastboot -toestelle
sudo fastboot flash boot boot-linaro-NomeDaVersão-qcom-snapdragon-arm64-DATA.img
-
Resposta esperada (lembrando que o tempo pode variar):
klaar. totale tyd: 100,00 s
- Maak 'n muis, 'n monitor of 'n TV met HDMI
-
Gebruik:
- Gebruik: linaro
- Senha: linaro
-
Meer as 'n koppelvlak Lxterminal and faça of download the list of atualizações disponíveis dos pacotes instalados:
sudo apt-get update
-
Besef 'n instalação dos pacotes disponíveis usando o código:
sudo apt-get upgrade
Dicas: O Linaro tem um boot extremamente rápido, e uma comunidade bastante engajada para solução de problemas.
Stap 2: Fazendo O GPS deur DragonBoard 410c Localizar Seu Dispositivo
Ons kan 'n installeerbare aansoek vir GPS-kliënte, GPSD-kliënte of GPSD-kliënte lewer. Ons kan ook gebruik maak van:
sudo apt-get installeer gnss-gpsd gpsd gpsd-kliënte
Kom ons installeer, as ons presies kan weet wat ons in die eerste plek kan doen:
sudo systemctl begin qdsp-start.servicesudo systemctl begin gnss-gpsd.servicesudo systemctl begin qmi-gps-proxy.service
Leef meer as DragonBoard 410c vir die plaaslike aberto, vir 'n besoek aan u, en u kan ook geen terminale gebruik nie:
gpsmon –n
Ons kan 'n werklike tyd of 'n tydperk van 10 minute ontvang. Ons kan ook die DragonBoard -lokaal gebruik, wat ons ook kan gebruik om GPS te ontvang.
Para conseguir capturar essas informações and mandar para a núvem, use of codigo abaixo, alterando of endereço do seu website:
Stap 3: Installeer O Dongle USB 3G/4G
Bestaande algoritmes vir DragonBoard 410c vir 3G/4G:
- Instalando um Shield / BreakoutBoard com Modem GSM en slot vir SimCard;
- Gebruik om USB USB 3G/4G;
Vir die beste opto vir Dongle USB 3G/4G en Huawei model E3272, kan u 'n volledige beskikking kry.
Para configurar or modem, você poderá utilizar or terminal (com a aplicação WVDial), porém o jeito mais fácil é utilizar and a própria Interface Gráfica do Usuário (GUI) do Linaro. Faça da seguinte forma:
- Met 'n USB -aansluiting, kan u ook 'n nuwe weergawe van die weergawe gebruik.
- "Verander verbindings"> "Voeg by"
- Opmerking: "Mobiele breëband"
- Klik op "Skep"
Ons kan 'n stelsel installeer wat funksioneel is, 'n funksie het, en 'n telefoonkaart vir 'n simkaart saamstel. Para criação deste projeto, utilizamos um Sim Card da Tim (e um modem inicialmente vendido pela Vivo).
Stap 4: Transformeer 'n DragonBoard 410c Em Hotspot / Access Point WiFi
Vir 'n draakbord 410c as 'n draaibare wifi (kan ek 'n internetverbinding opstel), 'n paar eenvoudige voorbeelde en 'n praktiese koppelvlak vir 'n stelsel. Ons pas die volgende op:
- Klik nie op 'n regstreekse weergawe nie en kan ook nie 'minder' nie 'n minderwaardige regruk nie.
- "Verander verbindings"> "Voeg by"
- Skryf 'n opmerking oor "WiFi"
- Klik op "Skep"
Ons kan nie meer 'n SSID -nommer gebruik as 'Mode' vir 'Hotspot' nie.
Para garantir o funcionamento:
- Kyk na “IPv4 -instellings”
- Met "Metode" kan u ook "Met ander rekenaars gedeel"
Stap 5: Toegang tot DragonBoard 410c deur SSH Sem Fio, gebruik op Hotspot
Ons kan ook 'n afstandsbediening, 'n onafhanklike forma van 'n konteks of 'n draakbord vir 'n draaibord of 'n draaibord vir 'n draaiboek gebruik. Este é o método de conexão dos service Linux en Amazon.
Ons installeer die outomatiese SSH, die gebruik daarvan.
sudo apt-get install gcc maak
wget https://www.harding.motd.ca/autossh/autossh-1.4e.tgz tar -xf autossh-1.4e.tgz cd autossh-1.4e./configure maak sudo maak installeer
Agora kan ook 'n grafiese grafiek saam met die RSA gee. U kan dit vir ons ook gebruik om 'n IP -adres, 'n IP -adres vir modem 3G, en 'n hoofbestuurder vir 'n instelling te gebruik. As volg, kan ons ook 'n kopiëring van 'n geheue vir Linux -versekering gee, en dit is ook 'n waarborg vir 'n koneksa.
ssh -keygen -t rsa
scp ~/.ssh/id_rsa.pub gebruiker@remote_server:.ssh/authorised_keys autossh -M 0 -q -f -N -i /home/pi/.ssh/id_rsa -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -R 2222: localhost: 22 gebruiker@remote_server
Dit is ook 'n transformasie van 'n DragonBoard 410c in die wolk! / o/
Stap 6: Ligando a DragonBoard 410c Ao OBD Do Seu Carro via Bluetooth - Passo 1/2
'N Koppelvlak met 'n versameling van OBD2 -funksies. A informação que transita nesta porta precisa ser traduzida, e para isso precisamos de um interpretador que trate os dados. U kan ook u hardeware gebruik: ELM327 of STN1170.
Para este projeto, utilizamos for dispositivo Bluetooth com chip baseado em ELM327.
Dit is belangrik om 'n oorspronklike hardeware te gebruik wat noodsaaklik is vir die oorspronklike van ELM327. 'N Eie meer as 'n verskaffer van 1.5, wat die oorspronklike foonklonado en 'n kolokado of 'n venda no mercado kan gebruik. Oorspronklike chipsetversie 2.2. A evolução deste versionamento traz ao chip mais informações sobre os carros mais novos. Dit is ook belangrik om te verseker dat ons die nodige faktore kan bepaal.
Die posisionering van OBD2 Bluetooth kan ook vir OBD2 gebruik word. U kan ook die plaaslike logo gebruik, sonder 'n sentrale konsole of 'n funksie. O plaaslike varia bastante entre as montadoras en modelos. Uma opção para localizar en usar esta ferramenta:
Toegang tot DragonBoard 410c met SSH, en u kan 'n notaboek gebruik (ons kan dit ook nie gebruik nie).
Ons kan OBD2 Bluetooth gebruik vir die installering van geen verbindings nie, maar dit is ook moontlik om Bluetooth te beheer:
sudo bluetoothctl
kan op agent gekoppel word met standaardagentskandering aanDie belangrikste oomblik vir die kopiëring van die MAC -adres is presies moontlik vir ons
Digite:
vertrou MACADDRESS
paar MACADDRESS
Ons kan nie eers 'n aparte PIN -kode vir Bluetooth OBD2 gebruik nie.
O PIN geralmente é 1234 ou 0000
Ons kan ook 'n suksesvolle, digitale stelsel of Bluetooth -program beheer:
ophou
Ons kan spesifiek 'BIND' met 'n reeks volgorde gebruik:
sudo rfcomm bind 0 MACADDRESS 1
Para validar or sucesso da operação digite:
ls /dev
Daar is 'n "Rfcomm0" ontwerp vir die lys.
Stap 7: Ligando a DragonBoard 410c Ao OBD Do Seu Carro via Bluetooth - Passo 2/2
Ons kan 'n waarborg vir die funksionering van die komunikasie van ons entiteite hê:
ELM327, DragonBoard 410c en Veículo
Aixe a aplicação “Screen” para enviar mensagens pela Porta Serial
sudo apt-get installasie skerm
'N Seriële weergawe van die resensies van die comandos by 'n DragonBoard 410c of ELM327.
Para saber mais sobre Comandos AT, acesse:
ATENÇÃO:
Tome muito cuidado nesta parte! Ons kan meer inligting verskaf oor die funksie wat ons vir u kan doen, maar ook vir die interpretasie van die werk en die funksionering van die funksie! Ontdek ons antwoorde op antwoorde. Aanbeveel dat u dit as instrucões abaixo detalhadamente kan gebruik.
Dit is 'n opeenvolging wat verband hou met die komende tyd:
-
Esta função farrir abrir o terminale de comunicação serial.
skerm /dev /rfcomm0
Gee ons 'n terminale rekening, en ons kan ook die volgende sekwensies volg (soos volg:
-
Reinicia of dispositivo. As vezes você precisará fazer isso.
ATZ
-
Liga a funcionalidade de quebra de linha nos comandos, facilitando and visualização.
ATL1
-
Liga os cabeçalhos dos comandos.
ATH1
-
Liga o espaçamento entre palavras.
ATS1
-
Omskryf die protokol vir die komunikação do carro para "Automático".
ATSP0
Comunicação finale:
-
Digite no console:
ATI
- Elwe herhaal “ELM327 v1.5”, of u kan ook die ELM doen.
- Ons kan ook 'n probleem met ELM327 kry, maar dit kan ook probleme veroorsaak.
Dica
Para sair da aplicação "Skerm" is noodsaaklik: Ctrl-A seguido de Ctrl-D
Stap 8: Ligando a DragonBoard 410c Ao OBD Do Seu Carro Usando PyOBD
PyOBD é uma biblioteca de Python específica para comunicação com o padrão OBD2 dos veículos. Ons kan ook meer inligting verskaf oor die komunikação do carro, insluitend 'n velocidade en 'n groot aantal e -posse.
Para esta etapa, preciesamos garantir que as seguintes bibliotecas estejam instaladas no Linaro da sua DragonBoard 410c:
-
PIP - Ontwikkeling van python -modelle
sudo apt-get install python-pip
-
SetupTools - installeer funksies
sudo pip installeer -U pip setuptools
-
Wiel - formador de arquivos para instalação
sudo apt-get install python-wiel
-
OBD - biblioteca para interpretação de dados OBD
sudo apt-get python-obd
-
GPS - biblioteca com dados doen gps
sudo pip installeer gps
-
Versoeke - módulo de solicitações
sudo pip -installeringsversoeke
Para saber se a biblioteca de Python está funcionando corretamente, precisamos rodar os comandos:
sudo python
Dit is nie 'n punt om na die terminale te wysig om 'n ">>>" aanduiding te gee dat die program Python kan gebruik nie. Ons kan 'n digitale stelsel gebruik om 'n spesifieke interpretasie van die funksie te verseker.
- Kom by die invoer van 'n biblioteca
invoer obd
-
Para fazer a conexão com a porta serial use or comando
verbinding = obd. OBD (“/dev/rfcomm0”)
-
Para descobrir of Python está conseguindo extrair information for carro, passando pelo bluetooth, ELM327 at chegar no carro, digite:
connection.protocol_name ()
Stap 9: Bykomende inligting oor Carro Usando Python
Ons kan ook die volgende kenmerke: OBD.py, conforme instruções abaixo e código na sequência.
Belangrik vir OBD vir die Bybel om Python te gebruik, is soos volg.
Vir motiveros desconhecidos, 'n prima conexão met nosso hardeware, kan ons dit doen. Na segunda tentativa, funciona semper. Vir isso, no código verá que há duas linhas de conexão (con).
Ons kan die funksie, soos 'n soortgelyke, in die loop van die infinito van 'n lus vir ons OBD, formata de acordo com os parâmetros estabelecidos. Gee 'n URL, 'n navraagstring, wat vir ons 'n diens kan gebruik om POST te gebruik.
Geen voorbeelde hiervan nie as inligting:
- RPM
- Velocidade
- Odômetro *
As funções para captura dos dados utilizam dois parâmetros. Byvoorbeeld, usando [1] [12] estamos buscando [módulo] [PID]. U kan die lys hiervan besoek:
U kan ook 'n URL gebruik om meer inligting te kry oor hoe ons dit kan byvoeg, naamlik "obd_data.dat".
Wysigings vir OBD.py:
invoer obdimport timeodoInicial = -1 paramOdo = 0 #Conect OBDprint "Primeira conexao" con = obd. OBD ("/dev/rfcomm0") print "Segunda conexao" con = obd. OBD ("/dev/rfcomm0") terwyl True: respRPM = con.query (obd.commands [1] [12]) print respRPM respVelo = con.query (obd.commands [1] [13]) print respVelo respOdo = con.query (obd.commands [1] [49]) druk respOdo paramRPM = int (float (str (respRPM).replace ("revolutions_per_minute", ""))) paramVelo = int (float (str (respVelo).replace ("kph", ""))) paramOdo = int (float (str (respOdo).replace ("kilometer", ""))) url = "https://www.website.com/OBD?vel="+str(paramVelo)+"&rpm="+str (paramRPM)+"& odo ="+str (paramOdo)+"\ n" time.sleep (0.2) print url file = open ("obd_data.dat", "a+") file.write (url) file.close () druk url
Depois da conexão e captura dos dados, vamos criar of arquivo chamado: envia_OBD.py
Esta parte do código fica mais simples. Kom ons skryf die bibliotecas relacionadas à solicitações/envio de dados, usando RESTFUL.
Criamos um while para enviar através de POST a URL da primeira linha do arquivo que populado anteriormente pelo OBD.py. Depois disso, para evitar que o dado seja enviado mais de uma vez, ela apaga esta linha do arquivo.
Wysigings vir OBD.py:
invoer versoeke
invoer tyd terwyl True: probeer: time.sleep (0.2) url = '' met open ('obd_data.dat', 'r') as fin: data = fin.read (). splitlines (True) url = data [0] versoeke.pos (url) met oop ('obd_data.dat', 'w') as fout: fout.writelines (data [1:]) behalwe: druk 'uitsondering'
Dit is 'n algemene probleem wat gekoppel kan word aan die volgende faktore:
Stap 10: Repetição De Scripts E Armazenamento De Dados Capturados Do Carro
Ons kan ook 'n waarborg gee van 'n draaibord vir 'n kombinasie van verskillende komponente, soos 3G, WiFi, Bluetooth, GPS, ens.
Ons kan dit ook gebruik om 'n 'rc.local' of 'rc.local' te gebruik, maar dit kan ook 'n aantal voorskrifte of e-posse wees. Vir meer inligting, gebruik die volgende:
sudo nano /etc/rc.local
Agora presies kan 'n amptelike inskrywing van prosesse, dienste en funksies, sowel as 'n funksie van 'n outomatiese draaibord. Vamos utilizar o BASH para fazer isso. O BASH (Bourne-Again-SHell) is 'n aplicativo para interpretação de comandos Unix.
U kan nie 'n BASH of 'n BASH -stelsel hê nie, maar ook 'n volledige adres vir MacAddress om OBD/Bluetooth te gebruik;.
as [! -f/etc/ssh/ssh_host_rsa_key]
dan stop systemctl ssh.socket || ware dpkg-herkonfigureer openssh-bediener fi sudo systemctl begin 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
A partir de agora, semper que a placa for iniciada, ela já vai se conectar através do 3G e enviar os dados de GPS e OBD para o servidor escolhido.
Stap 11: Dificuldades Encontradas
Dit is 'n lys van al die gegewens wat 'n belangrike rol kan speel, maar dat ons ook 'n opvallende antwoord kan hê.
-
PyOBD
Dit is 'n presiese manier waarop ons die transmissie kan kommunikeer. Ons kan eers 'n komunikação ainda não era estável com of dispositivo, enviamos alguns comandos para o carro, e acabamos causando algum problema with ECU. Ons kan nie eers 'n nuwe motor op ons pad kry nie. Além disso, net soos luzes painel começaram a piscar aleatoriamente. A solução para este evento que ocasionamos foi o desligamento dos cabos da bateria, mantendo assim por 15 minute. Ons kan ook die volledige herstelling van die ECU's vir die oorspronklike weergawe van die OBD terugvoer, maar ook die oorspronklike weergawe kan herstel word
-
Linaro
Ons kan nie 'n probleem oplaai nie, maar ons kan ook OS OS herken. Este problema foi resolvido ao longo do desenvolvimento do projeto, pela equipe do Linaro, que soltou uma atualização, e yes construímos este tutorial utilizando a informação mais atualizada
-
GPS met DragonBoard
'N Qualcomm Dragonboard 410c -antenna vir gps's, wat ook 'n akkurate installasie of installering van 'n eksterne antenna kan gee. Para fazer este procedimento, usa passos propostos pela própria Qualcomm:
Stap 12: Verwysings
Bootloader
builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/
Linaro
builds.96boards.org/releases/dragonboard410c/linaro/debian/latest/
As installasie van DragonBoard 410c
www.embarcados.com.br/linux-linaro-alip-na-qualcomm-dragonboard-410c/
Dokumentasie van GPS vir DragonBoard
discuss.96boards.org/t/gps-software/170/16
GPS -demo
gist.github.com/wolfg1969/4653340
Python OBD
github.com/brendan-w/python-OBD
Verbind RaspberryPi à um OBD Bluetooth
gersic.com/connecting-your-raspberry-pi-to-a-bluetooth-obd-ii-adapter/
Instrucões para criação do túnel SSH
gist.github.com/kr0no/63e34c77b02843b46a8d89d8f7b5e4b6
Installeer of SSH sonder Linux
ask.xmodulo.com/install-autossh-linux.html
Aanbeveel:
Desenvolvendo Aplicações Remotamente Para a Dragonboard 410c Usando IDE Eclipse: 17 Stappe
Desenvolvendo Aplicações Remotamente Para a Dragonboard 410c Usando IDE Eclipse: O objetivo deste documento é meer as wat ons noodwendig nodig het om die desenvolvimento, die modo que of HostPC (Computador / Notebook) te versamel, kan IDE Eclipse saamstel om ons te versamel en te eksporteer (Drag
Hoe om 'n lamp aan te sluit en te beheer via die ZigBee -module op Dragonboard: 5 stappe
Hoe om 'n lamp aan te sluit en te beheer deur middel van ZigBee -module op Dragonboard: Hierdie instruksie leer die gebruiker hoe om die ZigBee -module op die Dragonboard aan te sluit en korrek te installeer en dit te kommunikeer met 'n ZigBee -beheerde lamp (OSRAM), wat 'n ZigBee IOT -netwerk maak. : Dragonboard 410c; CC2531 USB -Dongle; T
OBD II -kodes P0420/P0430 Fix: 5 stappe
OBD II -kodes P0420/P0430 Fix: Het u hierdie irriterende lig op die streep van u Mustang? Het u u uitlaatstelsel verander? As u 'n off-road h-pyp of x-pyp (geen katalitiese omsetters) geïnstalleer het of u katalitiese omsetters verwyder het vir spoorgebruik
Vision 4all - Sistema Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo for Android: 6 Stappe
Vision 4all - Sistema Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Aplicativo Android: DESCRI Ç Ã OO intuito do projeto é dar autonomia para deficientes visuais se locomoverem em ambientes indoor como casas ou shopping centers e aeroportos.A locomo ç ã o em ambientes j á mapeados pode ou n ã o s
Verander u OBD-II-kabel om die motor se battery nie te ontlaai nie: 5 stappe
Pas u OBD-II-kabel aan om die motor se battery nie te ontlaai nie: sedertdien is alle voertuie toegerus met 'n ingeboude diagnostiese poort. Hierdie poort is baie keer beskikbaar as 'n OBD-II-aansluiting. Daar is verskeie toestelle wat met hierdie aansluiting kan kommunikeer, baie van hulle is gebaseer