Оглавление:

DragonBoard Com OBD: 12 шагов
DragonBoard Com OBD: 12 шагов

Видео: DragonBoard Com OBD: 12 шагов

Видео: DragonBoard Com OBD: 12 шагов
Видео: Skyrim: The Dragonborn Comes | EPIC VERSION (feat. @Colm_R_McGuinness​) 2024, Ноябрь
Anonim
DragonBoard Com OBD
DragonBoard Com OBD

Вы можете читать протокол OBD2, чтобы получить доступную информацию. Используйте DragonBoard 410c, чтобы получить новый проект, и использовать его для детального воспроизведения звука.

Этот проект создан для того, чтобы получить доступ к оборудованию для мелочей, в том числе и для других профессиональных пользователей.

Участие в проекте:

Temos total interesse em ajudar você a finalir o seu projeto, então não deixe de entrar em contato conosco!

Чтобы следить за этим проектом на английском языке, щелкните здесь:

www.instructables.com/id/DragonBoard-and-OBD2/

Проект должен включать в себя отдельные компоненты, соответствующие 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 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

Использует Qualcomm DragonBoard 410c, инициирует или запускает проект по установке дистрибутива Linaro для Linux, который разрешает полную конфигурацию для устройства.

Чтобы использовать образ Linaro для DragonBoard, используйте Ubuntu, VirtualBox, FastBoot, который применяется на базе Linux. Это необходимо для установки Linux в среде.

Для установки или быстрой загрузки, доступа к терминалу на компьютере Máquina Virtual Ubuntu, электронная версия:

sudo apt-get android-tools-fastboot

  • Para instalar o Linaro, Precisamos passar por 2 passos muito importantes:

    • Instalando или BOOTLOADER
    • Nome do arquivo: dragonboard410c_bootloader_emmc_linux-79.zip

      • https://builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/
      • Retire os arquivos de dentro do ZIP
      • Энтра на паста:

        cd / NomeDaPasta (caminho da pasta descompactada)

      • Fazer o comando:

        устройства sudo fastboot

      • Resposta esperada:

        (шестнадцатеричный) fastboot

      • Então digite:

        sudo./flashall

      • Resposta esperada:

        законченный. общее время 1.000 с (сем. ошибки)

        (Семь ошибок)

    • Instalando или Sistema Operacional

      • https://builds.96boards.org/releases/dragonboard410c/linaro/debian/latest/
      • Baixar dois arquivos:
      • загрузка-linaro-stretch-qcom-snapdragon-arm64-20170607-246.img.gz

        Este arquivo é última versão (Junho / 17) и nome futuro pode ser alterado. Основа для nome que Você deve buscar é «boot-linaro-NomeDaVersão». Используйте версию «Stretch» и переднюю часть «Jessie»

      • linaro-stretch-alip-qcom-snapdragon-arm64-20170607-246.img.gz

        Este arquivo é última versão (Junho / 17) и nome futuro pode ser alterado. Приобрести por «linaro-NomeDaVersão-alip»

      • Retirar os arquivos de dentro do. GZ
      • Entrar na pasta «raiz» em relação aos arquivos compactados

        Пример: «/ Загрузки», который находится в локальном хранилище файлов

      • Entre com os comandos:

        устройства sudo fastboot

        sudo fastboot flash boot boot-linaro-NomeDaVersão-qcom-snapdragon-arm64-DATA.img

      • Resposta esperada (lembrando que o tempo pode varar):

        законченный. общее время: 100.00 с

  • Conecte um Mouse, Teclado e um монитор / телевизор с портом HDMI
  • Использовать:

    • Усуарио: linaro
    • Сенья: линаро
  • Откройте интерфейс Lxterminal и фасад, чтобы загрузить список установленных пакетов:

    sudo apt-get update

  • Реализуйте 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 для решения проблем.

Шаг 2: Fazendo O GPS Da DragonBoard 410c Localizar Seu Dispositivo

Fazendo O GPS Da DragonBoard 410c Localizar Seu Dispositivo
Fazendo O GPS Da DragonBoard 410c Localizar Seu Dispositivo
Fazendo O GPS Da DragonBoard 410c Localizar Seu Dispositivo
Fazendo O GPS Da DragonBoard 410c Localizar Seu Dispositivo

Приходите установить приложение для обслуживания клиентов для GPS, отправки сообщений или GNSS-GPSD, GPSD и GPSD-КЛИЕНТОВ. Faça isso usando o comando:

sudo apt-get install gnss-gpsd gpsd gpsd-clients

Com ele instalado, você Precisará rodar alguns comandos para iniciar o aplicativo, são eles:

sudo systemctl start qdsp-start.services sudo systemctl start gnss-gpsd.services sudo systemctl start qmi-gps-proxy.service

Leve sua DragonBoard 410c para um local aberto, com visada para o céu, e digite no terminal:

gpsmon –n

Pelos testes realizados, o tempo médio até as informações começarem a aparecer na tela, é de cerca de 10 minutos. Isso varia muito da localização da DragonBoard, quantidade de prédios ao seu redor, além de outras barreiras naturais que posam atrapalhar a Recepção do sinal do GPS.

Para conguir capturar essas informações e mandar para a núvem, используйте o código abaixo, alterando o endereço do seu веб-сайт:

Шаг 3: Instalando O Dongle USB 3G / 4G

USB-адаптер Instalando O Dongle 3G / 4G
USB-адаптер Instalando O Dongle 3G / 4G
USB-адаптер Instalando O Dongle 3G / 4G
USB-адаптер Instalando O Dongle 3G / 4G
USB-адаптер Instalando O Dongle 3G / 4G
USB-адаптер Instalando O Dongle 3G / 4G
USB-адаптер Instalando O Dongle 3G / 4G
USB-адаптер Instalando O Dongle 3G / 4G

Существующие параметры для DragonBoard 410c, поддерживающие 3G / 4G:

  • Установите Shield / BreakoutBoard через модем GSM и слот для SimCard;
  • Utilizar um Dongle USB 3G / 4G;

Для этого проекта, поддерживающего USB-ключ 3G / 4G с моделью Huawei E3272, можно легко использовать для этого устройства.

Для настройки модема, вокала используется или терминала (через приложение WVDial), он может использоваться в качестве интерфейса графического интерфейса пользователя (GUI) для Линаро. Faça da seguinte forma:

  • Com o Dongle USB conectado, нажмите на кнопку, чтобы запустить директиву без звукового сопровождения «редес», но не ниже песни для телеграммы.
  • «Изменить подключения»> «Добавить»
  • Escolha a opção: «Мобильный широкополосный доступ»
  • Нажмите "Создать"

Siga a tela de instalação do sistema operacional, conforme images acima, configurando a operadora de telefonia conorme sim card comprado. Для создания проекта, используйте Sim Card da Tim (модем, начинающий продавать пела Vivo).

Шаг 4. Преобразование точки доступа / точки доступа WiFi DragonBoard 410c Em

Трансформация точки доступа / точки доступа WiFi DragonBoard 410c Em
Трансформация точки доступа / точки доступа WiFi DragonBoard 410c Em
Трансформация точки доступа / точки доступа WiFi DragonBoard 410c Em
Трансформация точки доступа / точки доступа WiFi DragonBoard 410c Em
Преобразование точки доступа / точки доступа WiFi DragonBoard 410c Em
Преобразование точки доступа / точки доступа WiFi DragonBoard 410c Em

Для использования DragonBoard 410c с роутером или Wi-Fi (настройка соединения с Интернетом) простое управление с использованием специального интерфейса для системы. Сига ос пассос абайшу:

  • Clique no botão direito no ícone de «redes» no canto inferior direito.
  • «Изменить подключения»> «Добавить»
  • Escolha a opção «WiFi»
  • Нажмите "Создать"

Выберите один из вариантов, чтобы изменить значение параметра SSID и изменить параметр «Режим» для «Точка доступа».

Для гарантии или функций:

  • Vá na aba «Настройки IPv4»
  • Veja se o «Method» está marcado como «Совместно с другими компьютерами»

Шаг 5: доступ к DragonBoard 410c по SSH Sem Fio, Utilizando O Hotspot

Доступ к DragonBoard 410c Por SSH Sem Fio, Utilizando O Hotspot
Доступ к 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. Это метод соединения серверов Linux на Amazon.

Começamos instalando o Auto SSH, utilizando o código 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

Агора вамос Герар ума Чаве criptografada com padrão де segurança RSA. Esta chave serve para que a pessoa que a tenha, tenha autorização to acessar an instância do endpoint exclusivo no Linux, através do IP público do modem 3G, objetivo main deste passo. Na sequência, o código faz a copy da chave para o repositório de chaves confiáveis do Linux, garantindo ainda mais confiança para a conexão.

ssh-keygen -t rsa

scp ~ /.ssh / id_rsa.pub user @ remote_server:.ssh / authorized_keys autossh -M 0 -q -f -N -i /home/pi/.ssh/id_rsa -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -R 2222: локальный хост: 22 пользователя @ удаленный_сервер

Так что, вы можете преобразовать DragonBoard 410c в облако сервера! / o /

Шаг 6: Ligando a DragonBoard 410c Ao OBD Do Seu Carro через Bluetooth - Passo 1/2

Ligando a DragonBoard 410c Ao OBD Do Seu Carro через Bluetooth - Passo 1/2
Ligando a DragonBoard 410c Ao OBD Do Seu Carro через Bluetooth - Passo 1/2
Лигандо DragonBoard 410c Ao OBD Do Seu Carro через Bluetooth - Passo 1/2
Лигандо DragonBoard 410c Ao OBD Do Seu Carro через Bluetooth - Passo 1/2

Интерфейс связи через порт OBD2. Информация о том, что транзита не является портом точного перевода, и предназначена для точного толкования того, что нужно для перевода. Предусмотрены дополнительные возможности для аппаратного обеспечения: ELM327 или STN1170.

Для этого проекта используется устройство Bluetooth на базе чипа ELM327.

Важное значение имеет оборудование, которое не требуется представлять в ОРИГИНАЛЬНОЙ версии для ELM327. В главном меню есть версия 1.5, в которой используется оригинальный чип с клонадо и колокадо, а не меркадо. Оригинальный чипсет установлен на версию 2.2. Эволюция версии Traz ao Chip mais informações sobre os carros mais novos. É importante saber disso, pois dependendo dos testes realizados, poderá ou não conguir obter detect informações de veículos mais novos.

К этому устройству OBD2 Bluetooth можно подключить порт OBD2, подключенный к другому устройству. Ela pode estar localizada logo abaixo do volante, без центральной консоли или perto da caixa de fusíveis. O local varia bastante entre as montadoras e modelos. Uma opção para localizar é usar esta ferramenta:

Acesse a DragonBoard 410c com SSH, использовать свой Notebook (lembrando que agora Você está no carro, e não Possui Mais Uma tela para conectar a placa).

Assim que o dispositivo OBD2 Bluetooth for Inserido no conector do carro, siga os passos abaixo para ter control da conectividade bluetooth:

sudo bluetoothctl

pairable на агенте при сканировании агента по умолчанию наNeste momento é importante que voiceê copy o MAC Address pois Precisará para os próximos passos

Digite:

доверять MACADDRESS

пара MACADDRESS

Ничего подобного не происходит, когда вы получаете запрос на цифровой или PIN-код для Bluetooth OBD2.

O PIN geralmente é 1234 или 0000

Após a tela de sucesso de conexão, digitando este comando, voiceê sai do programa controlador do Bluetooth digitando:

покидать

Агора точная связь с "BIND" для устройства с последовательным портом:

sudo rfcomm bind 0 MACADDRESS 1

Для проверки или успешной работы в цифровой форме:

ls / dev

Порт «Rfcomm0» вырос на листе.

Шаг 7: Лигандирование DragonBoard 410c Ao OBD Do Seu Carro через Bluetooth - Passo 2/2

Лигандирование DragonBoard 410c Ao OBD Do Seu Carro через Bluetooth - Passo 2/2
Лигандирование DragonBoard 410c Ao OBD Do Seu Carro через Bluetooth - Passo 2/2
Лигандирование DragonBoard 410c Ao OBD Do Seu Carro через Bluetooth - Passo 2/2
Лигандирование 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 и Veículo

Установите приложение «Экран» для mensagens pela Porta Serial

sudo apt-get экран установки

Серийный порт используется для установки и приема команд на борту DragonBoard 410c и ELM327.

Para saber mais sobre Comandos AT, acesse:

АТЕНЬО:

Tome muito cuidado nesta parte! Тоды как информационные среды для устройства conectado ao carro, poderão ser translations 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. Recomendamos que siga as Instruções abaixo detalhadamente.

Siga a sequência de comandos abaixo para dar início à comunicação:

  • Esta função fará abrir o terminal de comunicação serial.

    экран / 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. As Vezes Você Precisará Fazer Isso.

    ATZ

  • Liga a funcionalidade de quebra de linha nos comandos, облегчает визуализацию.

    ATL1

  • Liga os cabeçalhos dos comandos.

    ATH1

  • Liga o espaçamento entre palavras.

    ATS1

  • Определите протокол обмена сообщениями для «Automático».

    ATSP0

Teste de comunicação Final:

  • Digite без консоли:

    ATI

  • Установите «ELM327 v1.5» или замените ELM на другое устройство.
  • Isso prova que o ELM327 is comunicando com a placa sem issues, e podemos prosseguir.

Дика

Для использования «Экран» необходимо использовать: Ctrl-A, следуя Ctrl-D.

Шаг 8: Ligando a DragonBoard 410c Ao OBD Do Seu Carro Usando PyOBD

Ligando a DragonBoard 410c Ao OBD Do Seu Carro Usando PyOBD
Ligando a DragonBoard 410c Ao OBD Do Seu Carro Usando PyOBD

PyOBD - это библиотека Python, специально предназначенная для общения с OBD2 до конца. Com ela, podemos extrair diversas informações da rede de comunicação do carro, включая dados como velocidade e até mesmo erros da parte elétrica.

Para esta etapa, 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 - инструмент установки

    sudo pip install -U pip setuptools

  • Колесо - форматирование архива для установки

    sudo apt-get install 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 saber se a biblioteca de Python está funcionando corretamente, Precisamos rodar os comandos:

sudo python

Neste momento cursor do terminal vai mudar para este ícone «>>>» указывает на то, что программа является родственной для Python. Podemos começar a digitar os comandos para serem translations conforme abaixo.

  • Comece importando a biblioteca

    импорт OBD

  • Para fazer a conexão com a porta serial use or comando

    соединение = obd. OBD («/ dev / rfcomm0»)

  • Для описания Python есть дополнительная информация о carro, passando pelo Bluetooth, ELM327 até chegar no carro, digite:

    connection.protocol_name ()

Шаг 9: Дополнительная информация о Карро с использованием Python

Дополнительная информация Do Carro Usando Python
Дополнительная информация Do Carro Usando Python

Vamos criar um arquivo chamado: OBD.py, соответствует инструкциям abaixo e código na sequência.

Импортируйте библиотеку OBD для чтения Python для использования в качестве conexões.

Por motivos desconhecidos, простое соединение с аппаратным обеспечением, falha semper. Na segunda tentativa, funciona semper. Por isso, no código verá que há duas linhas de conexão (против).

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 installedelecidos. Создайте URL-адрес, используйте строку запроса, для того, чтобы получить доступ к серверу или использовать метод POST.

Нет примеров abaixo pegamos as seguintes informações:

  • Об / мин
  • Velocidade
  • Odômetro *

Как funções para captura dos dados utilizam dois parâmetros. Por exemplo, usando [1] [12] estamos buscando [módulo] [PID]. Этот список подойдет для контекста:

Por último, обычный URL-адрес, содержащийся в качестве информации в são concatenadas e adicionadas em um arquivo, chamado "obd_data.dat".

Код для OBD.py:

import obdimport timeodoInicial = -1 paramOdo = 0 # Подключить OBDprint "Primeira conexao" con = obd. OBD ("/ dev / rfcomm0") print "Segunda conexao" con = obd. OBD ("/ dev / rfcomm0") при 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]) print 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 file = 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 simples. 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.

Кодирование для архива OBD.py:

запросы на импорт

время импорта, пока True: попробуйте: time.sleep (0.2) url = '' с open ('obd_data.dat', 'r') как fin: data = fin.read (). splitlines (True) url = data [0] requests.post (url) с open ('obd_data.dat', 'w') как fout: fout.writelines (data [1:]) за исключением: print 'exception'

Caso tenha algum проблема copiando estes códigos, baixe os arquivos abaixo:

Шаг 10: Повторение скриптов 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

Tudo o que foi feito até agora era orientado, чтобы гарантировать, что DragonBoard имеет физическую связь с различными компонентами решения, с помощью связи 3G, Wi-Fi, Bluetooth, подключений к GPS, выходов.

Vamos usar o código abaixo para editar o arquivo 'rc.local', que já tem algumas funções e comandos pre-Definidos, e fica no diretório '/ etc'. Для создания редакции используйте команду:

sudo nano /etc/rc.local

Agora Precisamos configurar a initialização de todos os processos, serviços e funções, creando rotinas para que funcionem automaticamente ao iniciar a Dragonboard. Vamos utilizar o BASH para fazer isso. O BASH (Bourne-Again-SHell) - это приложение для интерпретации команд Unix.

Отсутствует предварительная кодировка, команда BASH, точный голосовой адрес или Mac-адрес для определенного устройства OBD / Bluetooth, а также точная настройка, используемая для обеспечения гарантии того, что команда "exit 0" должна ответить на этот вопрос..

если [! -f / и т.д. / 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 и выход 0

Участок агоры, который является площадкой для инициации, может быть подключен к 3G и окружению данных GPS и OBD для сервисного обслуживания.

Шаг 11: Dificuldades Encontradas

Dificuldades Encontradas
Dificuldades Encontradas

Listamos abaixo algumas barreira que encontramos ao longo do desenvolvimento do projeto, que resolvemos antes de criar este Instructable, mas que é importante alertá-lo, caso esteja teno 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 проблема на ECU. Neste momento o câmbio automático não aceitava mais mudanças, ficou travado. Além disso, как luzes do painel começaram a piscar aleatoriamente. Решение для этого события, которое может быть использовано для устранения лигатуры душ кабош-да-батерия, mantendo assim por 15 minutos. Desta forma, forçamos o reset complete das ECUs do carro, retornando ele ao estágio original de fábrica, portanto canclando qualquer comando que tenhamos enviado erroneamente pela porta OBD

  • Линаро

    Tivemos umblem de boot no Linaro, quando aleatoriamente o OS reiniciava. Este проблема для решения задачи о том, чтобы сделать проект, pela equipe do Linaro, que soltou uma atualização, e já construímos este tutorial с использованием информации mais atualizada

  • GPS на DragonBoard

    Qualcomm Dragonboard 410c не имеет внутренних антенн GPS, предназначен для приема сигнала, точной установки разъема и запроса на внешнюю антенну. Para fazer este procedure, siga os passos propostos pela própria Qualcomm:

Шаг 12: ссылки

Ссылки
Ссылки

Загрузчик

builds.96boards.org/releases/dragonboard410c/linaro/rescue/latest/

Линаро

builds.96boards.org/releases/dragonboard410c/linaro/debian/latest/

Как установить Linaro na 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

Python OBD

github.com/brendan-w/python-OBD

Подключение RaspberryPi к OBD Bluetooth

gersic.com/connecting-your-raspberry-pi-to-a-bluetooth-obd-ii-adapter/

Инструкции по использованию туннеля SSH

gist.github.com/kr0no/63e34c77b02843b46a8d89d8f7b5e4b6

Установка или SSH без Linux

ask.xmodulo.com/install-autossh-linux.html

Рекомендуемые: