Съдържание:
- Стъпка 1: Настройка на Fazendo O Inicial Da DragonBoard 410c
- Стъпка 2: Fazendo O GPS Da DragonBoard 410c Localizar Seu Dispositivo
- Стъпка 3: Instalando O Dongle USB 3G/4G
- Стъпка 4: Преобразувайте DragonBoard 410c Em Hotspot / WiFi точка за достъп
- Стъпка 5: Acessando a DragonBoard 410c Por SSH Sem Fio, Utilizando O Hotspot
- Стъпка 6: Ligando a DragonBoard 410c Ao OBD Do Seu Carro Чрез Bluetooth - Passo 1/2
- Стъпка 7: Ligando a DragonBoard 410c Ao OBD Do Seu Carro Чрез Bluetooth - Passo 2/2
- Стъпка 8: Ligando a DragonBoard 410c Ao OBD Do Seu Carro Usando PyOBD
- Стъпка 9: Допълнителна информация за Carro Usando Python
- Стъпка 10: Повторете скриптове E Armazenamento De Dados Capturados Do Carro
- Стъпка 11: Dificuldades Encontradas
- Стъпка 12: Препратки
Видео: DragonBoard Com OBD: 12 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Através da leitura do protocolo OBD2 do carro, e possível Receber informações do veículo. Използвайте DragonBoard 410c começamos a trabalhar neste projeto, e trazemos aqui o caminho detalhado para você reproduzir isso.
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 doprinosi com o desenvolvimento.
Participaram deste projeto:
- Марсел Огандо - Хакер - [email protected]
- Леандро Алверназ - Хакер - [email protected]
- Тиаго Паулино Родригес - Маркетинг - [email protected]
Temos total interesse em ajudar você a заключение o seu projeto, então não deixe de entrar em contato conosco!
За да следвате този проект на английски, щракнете тук:
www.instructables.com/id/DragonBoard-and-OBD2/
A estrutura deste projeto inclui os seguintes componentsntes, conforme apresentados na imagem acima:
- Qualcomm DragonBoard 410c
- ELM327 Bluetooth OBD2 интерфейс
- USB ключ 3G/4G
- Carregador Veicular de Inversão de Tensão (110v)
Стъпка 1: Настройка на Fazendo O Inicial Da DragonBoard 410c
Използвайте Qualcomm DragonBoard 410c, стартирайте или проектирайте да инсталирате, за да разпространявате Linaro до Linux, нямате пълна конфигурация за разрешаване.
За да използвате Linaro за DragonBoard, използвайте Ubuntu, VirtualBox или други, използвайте FastBoot, използвайте базата за Linux. Това е необходимо за амбиентен Linux за инсталиране на подер.
За инсталиране на Fastboot, за достъп до терминал, за да използвате Máquina Virtual Ubuntu, електронно:
sudo apt-get android-tools-fastboot
-
Para instalar o Linaro, precisamos passar por 2 passos muito importantes:
- Instalando или BOOTLOADER
-
Номе за arquivo: dragonboard410c_bootloader_emmc_linux-79.zip
- https://builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/
- Оттеглете се от arquivos de dentro do ZIP
-
Вход за паста:
cd /NomeDaPasta (caminho da pasta descompactada)
-
Fazer o comando:
sudo устройства за бързо зареждане
-
Отговор на есперада:
(шестнадесетично) бързо стартиране
-
Então digite:
sudo./flashall
-
Отговор на есперада:
завършен. общо време 1.000s (полу грешки)
(полу грешки)
-
Instalando o Sistema Operacional
- https://builds.96boards.org/releases/dragonboard410c/linaro/debian/latest/
- Допълнителна информация:
-
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. База за nome que você deve buscar é „boot-linaro-NomeDaVersão“. Nesta versão o nome é „Stretch“e an anterior foi „Jessie“
-
linaro-stretch-alip-qcom-snapdragon-arm64-20170607-246.img.gz
Este arquivo é a última versão (Junho/17) e o nome futuro pode ser alterado. Поръчайте „linaro-NomeDaVersão-alip“
- Retirar os arquivos de dentro do. GZ
-
Въведете паста „raiz“em relação aos arquivos compactados
например: „/Изтегляния“que é o local onde os arquivos baixados estão
-
Entre com os comandos:
sudo устройства за бързо зареждане
sudo fastboot флаш зареждане boot-linaro-NomeDaVersão-qcom-snapdragon-arm64-DATA.img
-
Resposta esperada (lembrando que o tempo pode variar):
завършен. общо време: 100.00s
- Мишка с мишка, Teclado и монитор/телевизор с порта HDMI
-
Използвайте:
- Обикновено: линаро
- Сенха: Линаро
-
Абра интерфейс Lxterminal e faça или изтеглете, за да декларирате списъка с актуализации, които са спонсовирани до пакоти инсталирани:
sudo apt-get update
-
Реализирайте инсталационен пакет с информация за спонсодис кодиго:
sudo apt-get надстройка
Dicas: O Linaro tem um boot extremamente rápido, e uma comunidade bastante angajada para solução de problemas.
Стъпка 2: Fazendo O GPS Da DragonBoard 410c Localizar Seu Dispositivo
Заповядайте да инсталирате приложения за обслужване на клиенти за GPS, изпращане на GNSS-GPSD, o GPSD или GPSD-КЛИЕНТИ. Faça isso usando o comando:
sudo apt-get инсталирате gnss-gpsd gpsd gpsd-клиенти
Com ele instalado, você precisará rodar alguns comandos para iniciar o aplicativo, são eles:
sudo systemctl старт qdsp-start.servicesсудо systemctl старт gnss-gpsd.servicesсудо systemctl старт qmi-gps-proxy.service
Leve sua DragonBoard 410c за локален аберто, com visada para o céu, e digite no terminal:
gpsmon –n
Pelos testes реализира, или темпо медио ате като информация commescare aparecer на тела, é de cerca от 10 минути. Isso varia muito da localização da DragonBoard, quantidade de prédios ao seu redor, além de outras barreiras naturais que possam atrapalhar and recepção do sinal do GPS.
Para conseguir capturar essas informações e mandar para a núvem, use o código abaixo, alterando o endereço do seu уебсайт:
Стъпка 3: Instalando O Dongle USB 3G/4G
Existem algumas formas de fazer a DragonBoard 410c acessar a rede 3G/4G:
- Instalando um Shield / BreakoutBoard com Модем GSM и слот за SimCard;
- Използвайте Dongle USB 3G/4G;
Като опция за проектиране на Dongle USB 3G/4G до модела на Huawei E3272, който е подходящ за обезпечаване на разположение.
За конфигуриране на модем, използване на терминал за използване на терминал (като приложение за WVDial), за използване или използване на интерфейс за графичен интерфейс (GUI) до Linaro. Faça da seguinte forma:
- Com o Dongle USB свързване, кликване com botão direito no ícone de „redes“no canto inferior direito da tela.
- „Редактиране на връзки“> „Добавяне“
- Escolha a opção: „Мобилен широколентов достъп“
- Кликнете върху „Създаване“
Siga a tela de instalação to operational system, conforme imagens acima, configurando a operadora de telefonia conforme sim card comprado. Para criação deste projeto, използвайте Sim Card да Тим (e um modem inicialmente vendido pela Vivo).
Стъпка 4: Преобразувайте DragonBoard 410c Em Hotspot / WiFi точка за достъп
За да използвате DragonBoard 410c, като използвате ротационен wifi (преди това можете да конфигурирате връзка с интернет), можете да използвате прости и удобни интерфейси за системата. Siga os passos abaixo:
- Clique no botão direito no ícone de „redes“no canto inferior direito.
- „Редактиране на връзки“> „Добавяне“
- Escolha и опция „WiFi“
- Кликнете върху „Създаване“
Coloque o nome da rede que você quer criar no campo "SSID" e depois altere o "Mode" para "Hotspot".
Пара гаранция или функционалност:
- Вижте „Настройки за IPv4“
- Това е „Методът“или „Споделено с други компютри“
Стъпка 5: Acessando a DragonBoard 410c Por SSH Sem Fio, Utilizando O Hotspot
Criamos um jeito de acessar a placa remotamente, Independente da forma que ela esteja conectada, não dependendo de estar próximo a Dragonboard para conectar diretamente à ela, ou ao wifi em que ela esteja conectada. Este é o método de conexão dos servidores Linux до Amazon.
Começamos instalando или Auto SSH, използване или codigo abaixo.
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 install
Agora vamos gerar uma chave criptografada com padrão de segurança RSA. Esta chave обслужва за всички потребители, които имат достъп до крайната точка, изключващи без Linux, за да получат IP достъп до модем 3G, обективни главни дестинации. В секвенция, или código faz a copia da chave para или repositório de chaves confiáveis за Linux, garantindo ainda mais confiança за conexão.
ssh -keygen -t rsa
scp ~/.ssh/id_rsa.pub потребител@отдалечен сървър:.ssh/оторизирани_ключове autossh -M 0 -q -f -N -i /home/pi/.ssh/id_rsa -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -R 2222: localhost: 22 потребител@отдалечен_сървър
Com isso, acabamos de transformer a DragonBoard 410c em um servidor cloud! / o/
Стъпка 6: Ligando a DragonBoard 410c Ao OBD Do Seu Carro Чрез Bluetooth - Passo 1/2
Интерфейс за комуникация com os carros é feita através да порта OBD2. A informação que transita nesta porta precisa ser traduzida, e para isso precisamos de um interpretador que trate os dados. Другите опции за хардуер: ELM327 или STN1170.
Като проектор, използвайте и разположете Bluetooth com чип с ELM327.
Важен дестакар, който е разположен на разположение на хардуера, който не е необходим за представяне на версия ORIGINAL до ELM327. A maior parte disponível está на версия 1.5, que foi quando или chip original foi clonado e colocado a venda no mercado. Оригинален чипсет с версия 2.2. A evolução deste versionamento traz ao chip mais informações sobre os carros mais novos. É Importante sabre disco, pois dependendo dos testes realizados, poderá ou não conseguir obter determinadas informações de veículos mais novos.
Можете да използвате серия OBD2 Bluetooth, която включва порта OBD2, която ви позволява да използвате USB. Ela pode estar localizada logo abaixo do volante, без централна конзола или perto da caixa de fusíveis. O местни варианти bastante entre като montadoras e modelos. Uma opção para localizar é usar esta ferramenta:
Acesse a DragonBoard 410c com SSH, използване на se Notebook (lembrando que agora você está no carro, e não possui mais uma tela para conectar a placa).
Асимирайте que o dispositivo OBD2 Bluetooth за вмъкване без свързване до carro, siga os passos abaixo para ter controle da conectividade bluetooth:
sudo bluetoothctl
може да се постави на агент при сканиране на агент по подразбиранеNeste momento é importante que você copie o MAC Address pois precisará para os próximos passos
Дигитален:
доверете се на МАКАДРЕС
чифт МАКАДРЕС
Новият момент, който трябва да се използва, е да въведете PIN код или PIN за Bluetooth OBD2.
O PIN е общо 1234 или 0000
Após a tela de sucesso de conexão, digitando este comando, você sai to program controlador to Bluetooth digitando:
напусна
Agora é preciso fazer um "BIND" do dispositivo com a porta serial:
sudo rfcomm bind 0 MACADDRESS 1
Para validar o sucesso da operação digite:
ls /dev
Порта „Rfcomm0“, който се намира на списък.
Стъпка 7: Ligando a DragonBoard 410c Ao OBD Do Seu Carro Чрез Bluetooth - Passo 2/2
Objetivo deste passo é garantir o funcionamento da comunicação entre os dispositivos:
ELM327, DragonBoard 410c e Veículo
Направете приложение за „екран“, за да изпратите съобщения за Porta Serial
sudo apt-get екран за инсталиране
Портален сериен сървър, използван за получаване на Comandos AT, въвежда DragonBoard 410c или ELM327.
Para sabre mais sobre Comandos AT, acesse:
ATENÇÃO:
Tome muito cuidado nesta parte! Todas as informações enviadas para o dispositivo conectado ao carro, poderão ser interpretadas e enviadas ao carro de maneira errada e ocasionar o mal-funcionamento do seu carro! Estude bastante os comandos antes de tentar inovar nos comandos. Препоръчваме ви да се запознаете с инструкциите за подробности и подробности.
Siga a sequência de comandos abaixo para dar início à comunicação:
-
Esta função fará abrir или terminal de comunicação serial.
screen /dev /rfcomm0
Assim que o terminal carregar, digite os comandos abaixo nesta sequência (e entenda o que cada um deles faz):
-
Reinicia o dispositivo. Както vezes você precisará fazer isso.
ATZ
-
Liga a funcionalidade de quebra de linha nos comandos, улесняваща визуализацията.
ATL1
-
Лига os cabeçalhos dos comandos.
ATH1
-
Liga o espaçamento entre palavras.
ATS1
-
Определете protocolo de comunicação do carro para „Automático“.
ATSP0
Тест на комуникацията финал:
-
Digite без конзола:
ATI
- Ele deve retornar “ELM327 v1.5” ou a versão do ELM do seu dispositivo.
- Isso prova que o ELM327 está comunicando com a placa sem problemas, e podemos prosseguir.
Дика
За да приложите „Екран“и необходим апертар: Ctrl-A seguido de Ctrl-D
Стъпка 8: Ligando a DragonBoard 410c Ao OBD Do Seu Carro Usando PyOBD
PyOBD е ума библиотека на Python específica para comunicação com o padrão OBD2 dos veículos. Com ela, podemos extrair diversas informações da rede de comunicação do carro, включителноindodoos como velocidade e até mesmo erros da parte elétrica.
Para estata, precisamos garantir que as seguintes bibliotecas estejam instaladas no Linaro da sua DragonBoard 410c:
-
PIP - Gerenciador de módulos do Python
sudo apt-get install python-pip
-
SetupTools - gestor de arquivos de instalação
sudo pip install -U pip setuptools
-
Колело - formatador de arquivos para instalação
sudo apt-get инсталирайте python-wheel
-
OBD - библиотека за тълкуване на OBD
sudo apt-get python-obd
-
GPS - biblioteca com dados do gps
sudo pip инсталирате gps
-
Заявки - módulo de solicitações
искания за инсталиране на sudo pip
Para sabre se a biblioteca de Python está funcionando corretamente, precisamos rodar os comandos:
sudo python
Следващият момент на курсора към терминала, който е подходящ за иконата „>>>”, показва каква програма е свързана с Python. Podemos começar a digitar os comandos para serem interpretados conforme abaixo.
- Comece importando a biblioteca
внос obd
-
Para fazer a conexão com a porta серийна употреба или comando
връзка = obd. OBD (“/dev/rfcomm0”)
-
Para descobrir се отнася до Python, който осигурява допълнителна информация за carro, passando pelo Bluetooth, ELM327 и chegar no carro, цифри:
connection.protocol_name ()
Стъпка 9: Допълнителна информация за Carro Usando Python
Vamos criar um arquivo chamado: OBD.py, conforme instruções abaixo e código na sequência.
Importamos a biblioteca OBD para dentro do Python para iniciar as conexões.
Por motivos desconhecidos, primeira conexão com nosso hardware, falha semper. Na segunda tentativa, funciona semper. Por isso, no código verá que há duas linhas de conexão (con).
Seguindo o funcionamento do código, com a conexão feita, iniciamos um loop infinito que busca os dados do OBD, formata de acordo com os parâmetros estabelecidos. Depois cria a URL, use Query String, para que possa enviar ao servidor using or método POST.
No exemplo abaixo pegamos as seguintes informações:
- RPM
- Velocidade
- Odômetro *
As funções para captura dos dados utilizam dois parâmetros. Por exemplo, usando [1] [12] estamos buscando [módulo] [PID]. Esta lista pode ser encontrada em:
В крайна сметка, един хум URL адрес, който е информационен като concatenadas и adicionadas em um arquivo, като „obd_data.dat“.
Código за OBD.py:
import obdimport timeodoInicial = -1 paramOdo = 0 #Conect OBDprint "Primeira conexao" con = obd. OBD ("/dev/rfcomm0") печат "Segunda conexao" con = obd. OBD ("/dev/rfcomm0"), докато е True: respRPM = con.query (obd.commands [1] [12]) печат respRPM respVelo = con.query (obd.commands [1] [13]) печат respVelo respOdo = con.query (obd.commands [1] [49]) отпечатайте respOdo paramRPM = int (float (str (respRPM).replace ("revolutions_per_minute", ""))) paramVelo = int (float (str (respVelo).replace ("kph", ""))) paramOdo = int (float (str (respOdo).replace ("километър", ""))) url = "https://www.website.com/OBD?vel="+str(paramVelo)+"&rpm="+str (paramRPM)+"& odo ="+str (paramOdo)+"\ n" time.sleep (0.2) print url файл = open ("obd_data.dat", "a+") file.write (url) file.close () отпечатайте url
Depois da conexão e captura dos dados, vamos criar o arquivo chamado: envia_OBD.py
Esta parte do código fica mais прости. Começamos importando 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.
Código para o arquivo OBD.py:
заявки за импортиране
импортиране на време, докато True: опитайте: time.sleep (0.2) url = '' с отворен ('obd_data.dat', 'r') като fin: data = fin.read (). splitlines (True) url = data [0] requests.post (url) с отворен ('obd_data.dat', 'w') като fout: fout.writelines (data [1:]) с изключение на: print 'exception'
Caso tenha algum problem copiando estes códigos, baixe os arquivos abaixo:
Стъпка 10: Повторете скриптове E Armazenamento De Dados Capturados Do Carro
Тук можете да се възползвате от ерата на агората, като се ориентирате и гарантирате, че DragonBoard изчислява комуникацията на различни компоненти за разрешаване, като комуникационен 3G, WiFi, Bluetooth, Дадос за GPS, въвеждане на изходи.
Vamos usar o código abaixo para editar o arquivo 'rc.local', que já tem algumas funções e comandos pré-definidos, e fica no diretório '/etc'. Para fazer a edição, използвайте o comando:
sudo nano /etc/rc.local
Agora precisamos configurar a inicialização de todos os processos, serviços e funções, criando rotinas para que funcionem automaticamente ao iniciar a Dragonboard. Можете да използвате o BASH para fazer isso. O BASH (Bourne-Again-SHell) е приложение за тълкуване на командите Unix.
No próximo código, que tem comandos BASH, você precisará inserir или MacAddress do seu dispositivo OBD/Bluetooth, e também precisa ter bastante cuidado para garantir que o código seja colocado semper antes do comando "exit 0" que éo.
ако [! -f/etc/ssh/ssh_host_rsa_key]
след това 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
Partr de agora, semper que a place for iniciada, ela já vai se conectar através do 3G e enviar os dados de GPS e OBD para or servidor escolhido.
Стъпка 11: Dificuldades Encontradas
Списъкът abaixo algumas barreira que encontramos ao longo do desenvolvimento do projeto, que resolutionmos antes de criar este Instructable, mas que é importante alertá-lo, caso esteja tendo dificuldades também.
-
PyOBD
É preciso ter muito cuidado na hora de transmitir os dados e comunicar com o carro. Nas primeira tentativas, quando a comunicação ainda não era estável com o dispositivo, enviamos alguns comandos para o carro, e acabamos causando algum problem на ECU. Neste momento o câmbio automático não aceitava mais mudanças, ficou travado. Além disos, както luzes do painel começaram a piscar aleatoriamente. Решение за събитие, което се случва, за да се делигаментираме до cabos da bateria, mantendo assim за 15 минути. Desta forma, forçamos или reset за завършване на ECUs до carro, retornando ele ao estágio original de fábrica, portanto Cancelando qualquer comando que tenhamos enviado erroneamente pela porta OBD
-
Линаро
Tivemos um problem de boot no Linaro, quando aleatoriamente или OS reiniciava. Това е проблем за разрешаването на ao longo do desenvolvimento do projeto, pela equipe do Linaro, que soltou uma atualização, e já construímos este tutorial utilizando a informação mais atualizada
-
GPS и DragonBoard
Qualcomm Dragonboard 410c не е оборудван с GPS антени, които са подходящи за приемане на синал, прецизно инсталиране или свързване и допълнително приложение за външна антена. За да прегледате процедурата, можете да използвате Pualprio Qualcomm:
Стъпка 12: Препратки
Буутлоудър
builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/
Линаро
builds.96boards.org/releases/dragonboard410c/linaro/debian/latest/
Като инсталатор за Linaro на DragonBoard 410c
www.embarcados.com.br/linux-linaro-alip-na-qualcomm-dragonboard-410c/
Документация за GPS за DragonBoard
discuss.96boards.org/t/gps-software/170/16
GPS демонстрация
gist.github.com/wolfg1969/4653340
OBD на Python
github.com/brendan-w/python-OBD
Conectando RaspberryPi като OBD Bluetooth
gersic.com/connecting-your-raspberry-pi-to-a-bluetooth-obd-ii-adapter/
Инструкции за работа с SSH
gist.github.com/kr0no/63e34c77b02843b46a8d89d8f7b5e4b6
Instalando или SSH без Linux
ask.xmodulo.com/install-autossh-linux.html
Препоръчано:
Desenvolvendo Приложения за дистанционно управление за Dragonboard 410c Usando IDE Eclipse: 17 стъпки
Desenvolvendo Приложения за дистанционно управление за Dragonboard 410c Usando IDE Eclipse: O обективиране на документи é най -много като етапи, необходими за настройка на ambiente de desenvolvimento, de modo que o HostPC (Computador / Notebook), atrav é s do IDE Eclipse компилиране os c ó digos e експортиране за Alvo (Плъзнете
Как да свържете и управлявате лампа чрез модул ZigBee на Dragonboard: 5 стъпки
Как да свържете и контролирате лампа чрез ZigBee модул на Dragonboard: Тази инструкция учи потребителя как да се свърже и правилно да инсталира модула ZigBee на Dragonboard и да го взаимодейства с лампа, управлявана от ZigBee (OSRAM), създавайки ZigBee IOT мрежа. : Dragonboard 410c; CC2531 USB Dongle; T
OBD II кодове P0420/P0430 Fix: 5 стъпки
OBD II кодове P0420/P0430 Fix: Имате ли тази досадна светлина върху таблото на вашия Mustang? Сменял ли си изпускателната система? Ако сте инсталирали офроуд h-тръба или x-тръба (без каталитични преобразуватели) или сте премахнали катализаторите си за използване на писта, вашите кислородни сензори ще
Vision 4all - Система Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Приложение Android: 6 стъпки
Vision 4all - Система Visão Assistida Para Deficientes Visuais Usando OpenCV, Dragonboard 410c E Приложение Android: DESCRI Ç Ã OO intuito do projeto é dar autonomia para defeentes 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
Променете кабела си OBD-II, за да не разреждате батерията на автомобила: 5 стъпки
Променете своя OBD-II кабел, за да не разреждате батерията на автомобила: Отдавна всички превозни средства са оборудвани с вграден диагностичен порт. Много често този порт се предлага като OBD-II конектор. Има няколко устройства, които могат да комуникират с помощта на този конектор, много от тях са базирани