INHOUDSOPGAWE:

DragonBoard Com OBD: 12 stappe
DragonBoard Com OBD: 12 stappe

Video: DragonBoard Com OBD: 12 stappe

Video: DragonBoard Com OBD: 12 stappe
Video: Как безопасно заменить автомобильный аккумулятор - какой провод отсоединить первым? 2024, Julie
Anonim
DragonBoard Com OBD
DragonBoard Com OBD

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:

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

Fazendo O Setup Inicial Da DragonBoard 410c
Fazendo O Setup Inicial Da DragonBoard 410c
Fazendo O Setup Inicial Da DragonBoard 410c
Fazendo O Setup Inicial Da DragonBoard 410c
Fazendo O Setup Inicial Da DragonBoard 410c
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

Fazendo O GPS Da DragonBoard 410c Localisar Seu Dispositivo
Fazendo O GPS Da DragonBoard 410c Localisar Seu Dispositivo
Fazendo O GPS Da DragonBoard 410c Localisar Seu Dispositivo
Fazendo O GPS Da DragonBoard 410c Localisar 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

Installeer O Dongle USB 3G/4G
Installeer O Dongle USB 3G/4G
Installeer O Dongle USB 3G/4G
Installeer O Dongle USB 3G/4G
Installeer O Dongle USB 3G/4G
Installeer O Dongle USB 3G/4G
Installeer O Dongle USB 3G/4G
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

Verander 'n DragonBoard 410c Em Hotspot / Access Point WiFi
Verander 'n DragonBoard 410c Em Hotspot / Access Point WiFi
Verander 'n DragonBoard 410c Em Hotspot / Access Point WiFi
Verander 'n DragonBoard 410c Em Hotspot / Access Point WiFi
Verander 'n DragonBoard 410c Em Hotspot / Access Point WiFi
Verander '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

Kry toegang tot DragonBoard 410c deur SSH Sem Fio, op die Hotspot
Kry toegang tot DragonBoard 410c deur SSH Sem Fio, op die 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

Ligando en DragonBoard 410c Ao OBD Do Seu Carro via Bluetooth - Passo 1/2
Ligando en DragonBoard 410c Ao OBD Do Seu Carro via Bluetooth - Passo 1/2
Ligando en DragonBoard 410c Ao OBD Do Seu Carro via Bluetooth - Passo 1/2
Ligando en 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

Ligando en DragonBoard 410c Ao OBD Do Seu Carro via Bluetooth - Passo 2/2
Ligando en DragonBoard 410c Ao OBD Do Seu Carro via Bluetooth - Passo 2/2
Ligando en DragonBoard 410c Ao OBD Do Seu Carro via Bluetooth - Passo 2/2
Ligando en 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

Ligando en DragonBoard 410c Ao OBD Do Seu Carro Usando PyOBD
Ligando en 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

Bykomende inligting oor Carro Usando Python
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

Repetição De Scripts E Armazenamento De Dados Capturados Do Carro
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

Dificuldades Encontradas
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

Verwysings
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: