Spisu treści:

DragonBoard i OBD2: 12 kroków
DragonBoard i OBD2: 12 kroków

Wideo: DragonBoard i OBD2: 12 kroków

Wideo: DragonBoard i OBD2: 12 kroków
Wideo: DIAGNOSTICO DE CONECTOR OBD2, no enciende el Scanner 2024, Listopad
Anonim
DragonBoard i OBD2
DragonBoard i OBD2

Czytając dane, które wychodzą z portu OBD2 w Twoim samochodzie, można z niego wydobyć niesamowite informacje. Korzystając z DragonBoard 410c, pracowaliśmy nad tym projektem i opisaliśmy go tutaj, abyś mógł to zrobić sam.

Ten projekt był możliwy tylko dzięki partnerstwu z #Qualcomm #Embarcados #Linaro #Arrow #BaitaAceleradora, które pozwoliło nam mieć dostęp do najlepszego sprzętu na rynku, a także kontakt z najlepszymi profesjonalistami w celu wsparcia rozwoju.

Zespół składał się z tych gości:

Jesteśmy bardzo chętni, aby pomóc Ci osiągnąć Twój cel i upewnić się, że ukończysz swój projekt, więc daj nam znać, jeśli potrzebujesz pomocy wykraczającej poza poniższe instrukcje.

Para seguir este projeto em Português, clique aqui:

www.instructables.com/id/DragonBoard-Com-OBD

Do tego projektu wykorzystaliśmy następujące elementy:

  • Qualcomm DragonBoard 410c
  • ELM327 Interfejs Bluetooth OBD2
  • Klucz USB 3G/4G
  • Ładowarka samochodowa z falownikiem napięcia (110 v)

Krok 1: Wykonywanie wstępnej konfiguracji DragonBoard 410c**

Wykonywanie wstępnej konfiguracji DragonBoard 410c**
Wykonywanie wstępnej konfiguracji DragonBoard 410c**
Wykonywanie wstępnej konfiguracji DragonBoard 410c**
Wykonywanie wstępnej konfiguracji DragonBoard 410c**
Wykonywanie wstępnej konfiguracji DragonBoard 410c**
Wykonywanie wstępnej konfiguracji DragonBoard 410c**

Korzystając z Qualcomm DragonBoard 410c, rozpoczęliśmy projekt od zainstalowania dystrybucji Linuksa o nazwie Linaro, która pozwoliła nam skonfigurować wszystkie potrzebne urządzenia.

Aby utworzyć obraz Linaro dla DragonBoard, użyj Ubunto na VirtualBox, dzięki czemu możesz użyć FastBoot (czyli aplikacji opartej na systemie Linux). Więc w zasadzie to, co musisz zrobić, to otworzyć Terminal w VM Ubuntu i wpisać:

sudo apt-get android-tools-fastboot

Aby zainstalować Linaro, musimy wykonać 2 ważne kroki:

1) Instalacja BOOTLOADERA

Nazwa pliku: dragonboard410c_bootloader_emmc_linux-79.zip

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

Rozpakuj pliki i wybierz folder:

cd /FolderName (ścieżka do rozpakowanego folderu)

Wpisz następujący kod:

urządzenia sudo fastboot

Spodziewany powrót:

(szesnastkowy) fastboot

Następnie wpisz:

sudo./flashall

Spodziewany powrót:

skończone. całkowity czas 1.000s (bez błędów)

Instalacja SYSTEMU OPERACYJNEGO

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

Pobierz te 2 pliki:

boot-linaro-stretch-qcom-snapdragon-arm64-20170607-246.img.gz

Jest to najnowsza wersja dostępna do tej pory (17 czerwca), więc nazwa może się zmienić w przyszłości. Wzorzec, którego szukasz, to „boot-linaro-VersionName”. Ten nazywa się „Stretch”, a poprzedni to „Jessie”.

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

Jest to najnowsza wersja do tej pory (17 czerwca), a nazwa może się zmienić w przyszłości. Poszukaj wzoru „linaro-VersionName-alip”.

Rozpakuj pliki z. GZ

Uzyskaj dostęp do folderu „root” w odniesieniu do rozpakowanych plików

przykład: "/Downloads", czyli miejsce przechowywania pobranych plików.

Teraz zacznij od następujących poleceń:

urządzenia sudo fastboot

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

Oczekiwany zwrot (pamiętając o czasie może się różnić):

skończone. całkowity czas: 100,00s

Podłącz mysz, klawiaturę i monitor/telewizor za pomocą portu HDMI

Miej to pod ręką:

użytkownik: linaro

hasło: linaro

Otwórz aplikację Lxterminal i kontynuuj pobieranie listy dostępnych aktualizacji dotyczących zainstalowanych pakietów:

aktualizacja sudo apt-get

Upewnij się, że zainstalowałeś dostępne pakiety z listy:

sudo apt-get upgrade

Podpowiedź: Linaro zostało wybrane ze względu na niezwykle szybki rozruch i społeczność bardzo zaangażowaną i zorientowaną na rozwiązywanie problemów, co pozwala zaoszczędzić dużo czasu.

Krok 2: Lokalizowanie DragonBoard 410c za pomocą anteny GPS

Lokalizowanie DragonBoard 410c za pomocą anteny GPS
Lokalizowanie DragonBoard 410c za pomocą anteny GPS
Lokalizowanie DragonBoard 410c za pomocą anteny GPS
Lokalizowanie DragonBoard 410c za pomocą anteny GPS

Zacznij od zainstalowania niezbędnych aplikacji, które będą klientami modułu GPS. Nazwy aplikacji to: GNSS-GPSD, GPSD i GPSD-KLIENCI. Aby to zrobić, postępuj zgodnie z poleceniami:

sudo apt-get install gnss-gpsd gpsd gpsd-klienci

Po zainstalowaniu tych aplikacji będziesz potrzebować więcej poleceń, aby je poprawnie uruchomić:

sudo systemctl start qdsp-start.service

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

Teraz przenieś DragonBoard 410c na dużą otwartą przestrzeń, z wyraźnym widokiem nieba, umożliwiając odbiór sygnału z satelitów. Teraz wpisz w terminalu:

gpsmon – n

Z naszych testów dane zaczęły pojawiać się na ekranie średnio po 10 minutach. To bardzo się zmienia w zależności od miejsca, poza położeniem DragonBoard na oknie lub w pomieszczeniu, poza wieloma innymi barierami, które mogą zakłócać odbiór sygnału GPS.

Krok 3: Instalacja klucza USB 3G/4G

Instalowanie klucza USB 3G/4G
Instalowanie klucza USB 3G/4G
Instalowanie klucza USB 3G/4G
Instalowanie klucza USB 3G/4G
Instalowanie klucza USB 3G/4G
Instalowanie klucza USB 3G/4G
Instalowanie klucza USB 3G/4G
Instalowanie klucza USB 3G/4G

Istnieje kilka sposobów podłączenia DragonBoard 410c do sieci 3G/4G/GSM:

  • Używanie Shield / BreakoutBoard z modemem GSM, który ma również gniazdo karty SIM;
  • Użyj klucza USB 3G/4G.

Do tego projektu zdecydowaliśmy się użyć klucza USB Huawei E3272, ponieważ zakup był łatwy i szybki.

Aby skonfigurować modem, możesz użyć terminala (za pomocą aplikacji WVDial), ale najłatwiej to zrobić za pomocą graficznego interfejsu użytkownika (GUI) Linaro. Do tego w następujący sposób:

  • Gdy klucz sprzętowy USB jest podłączony do DragonBoard, kliknij prawym przyciskiem myszy ikonę „sieci” w prawym dolnym rogu ekranu;
  • „Edytuj połączenia” > „Dodaj”;
  • Wybierz „Mobilne łącze szerokopasmowe” z menu rozwijanego;
  • Kliknij „Utwórz”.

Postępuj zgodnie z instrukcjami kreatora, upewniając się, że wybrałeś odpowiedniego operatora z menu, umożliwiając odpowiednie połączenie urządzenia.

Krok 4: Przekształcenie DragonBoard 410c w hotspot / punkt dostępowy Wi-Fi

Przekształcenie DragonBoard 410c w hotspot / punkt dostępowy Wi-Fi
Przekształcenie DragonBoard 410c w hotspot / punkt dostępowy Wi-Fi
Przekształcenie DragonBoard 410c w hotspot / punkt dostępowy Wi-Fi
Przekształcenie DragonBoard 410c w hotspot / punkt dostępowy Wi-Fi
Przekształcenie DragonBoard 410c w hotspot / punkt dostępowy Wi-Fi
Przekształcenie DragonBoard 410c w hotspot / punkt dostępowy Wi-Fi

Najłatwiejszym sposobem skonfigurowania DragonBoard 410c jako routera Wi-Fi lub hotspotu (teraz, gdy masz skonfigurowane połączenie internetowe) jest skorzystanie z GUI systemu. Aby to zrobić, wykonaj poniższe czynności:

  • Kliknij prawym przyciskiem ikonę sieci w prawym dolnym rogu
  • Wybierz „Edytuj połączenia, a następnie „Dodaj”
  • Wybierz „WiFi”
  • Kliknij utwórz

Zmień nazwę sieci, którą chcesz utworzyć w polu „SSID” i zmień pole „Tryb” na „Hotspot”.

Aby upewnić się, że zadziała, zweryfikuj następujące elementy:

  • Przejdź do zakładki „Ustawienia IPv4”
  • Sprawdź, czy „Metoda”

Krok 5: Uzyskaj dostęp do DragonBoard 410c bezprzewodowo za pomocą protokołu SSH, za pośrednictwem połączenia z hotspotem

Bezprzewodowe uzyskiwanie dostępu do DragonBoard 410c za pomocą protokołu SSH, za pośrednictwem połączenia z hotspotem
Bezprzewodowe uzyskiwanie dostępu do DragonBoard 410c za pomocą protokołu SSH, za pośrednictwem połączenia z hotspotem

Udało nam się stworzyć sposób na zdalny dostęp do DragonBoard, bez względu na to, czy jesteś w pobliżu, czy nie. Zwykle musisz połączyć się z samą płytą za pomocą Wi-Fi lub bluetooth. Innym sposobem byłby dostęp do niego, łącząc się z tą samą siecią Wifi (np. z routera). Wykonując kolejne kroki, tworzymy samodzielne urządzenie, które generuje własną sieć i otwiera się na sieć, aby uzyskać do niej dostęp.

Możesz zacząć od zainstalowania "Auto SSH", używając poniższego kodu:

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

Teraz wygenerujemy klucz kryptograficzny, korzystając ze standardu RSA. Ten klucz będzie używany do bezpiecznego dostępu do instancji punktu końcowego systemu Linux za pośrednictwem publicznego adresu IP modemu 3G. Główny cel tego kroku. Poniższy kod skopiuje ten klucz do repozytorium zaufanych kluczy Linuksa, zapewniając jeszcze większe bezpieczeństwo połączenia.

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:localhost:22 użytkownik@zdalny_serwer

Wykonując te kroki, właśnie przekształciłeś Qualcomm DragonBoard 410c w serwer w chmurze! \o/

Krok 6: Podłączanie DragonBoard 410c do OBD samochodu za pomocą Bluetooth - część 1/2

Podłączanie DragonBoard 410c do OBD samochodu za pomocą Bluetooth - część 1/2
Podłączanie DragonBoard 410c do OBD samochodu za pomocą Bluetooth - część 1/2
Podłączanie DragonBoard 410c do OBD samochodu za pomocą Bluetooth - część 1/2
Podłączanie DragonBoard 410c do OBD samochodu za pomocą Bluetooth - część 1/2

Interfejs komunikacyjny samochodu odbywa się poprzez port OBD2. Informacje wymieniane w tym porcie muszą zostać przetłumaczone, a do tego potrzebujemy urządzenia tłumacza. Istnieją dwie alternatywy sprzętowe: ELM327 lub STN1170.

Do tego projektu wykorzystaliśmy urządzenie Bluetooth z chipsetem opartym na ELM327.

Ważne jest, aby pamiętać, że dostępność ELM327 nie oznacza, że jest to ORYGINALNA WERSJA ELM327. Większość dostępnych chipsetów jest oparta na wersji 1.5, kiedy to informacje o chipie zostały sklonowane i wyciekły na rynek. Oryginalny ELM327 jest teraz w wersji 2.2. Ewolucja tego chipsetu dostarcza więcej danych o nowszych samochodach. Warto o tym wiedzieć, ponieważ w zależności od testów dostęp do danych z nowszych pojazdów może być możliwy lub nie.

Za pomocą adaptera Bluetooth OBD2 znajdź port OBD2 swojego samochodu. Może znajdować się gdzieś pod kierownicą. Łatwiej będzie go poszukać za pomocą tego narzędzia:

Uzyskaj dostęp do DragonBoard 410c za pomocą SSH z notebooka (pamiętaj, że jesteś teraz w samochodzie i nie masz telewizora/monitora, aby podłączyć płytę). Jak tylko urządzenie Bluetooth OBD2 zostanie włożone do portu samochodowego, wykonaj poniższe czynności, aby uzyskać dostęp do łączności Bluetooth.

sudo bluetoothctl

można sparować na agencie na domyślnym skanowaniu agenta naNa tym etapie ważne jest, aby skopiować adres MAC, ponieważ będzie on potrzebny w kolejnych krokach

Wpisz te polecenia:

zaufaj MACADDRESS

sparuj MACADDRESS

Powinieneś zostać poproszony o wpisanie kodu PIN, aby sparować Bluetooth OBD2 z płytą.

Zwykle kod PIN to 1234 lub 0000 - w zależności od sprzętu

Teraz powinieneś zobaczyć ekran „połączenie udane”. Aby zamknąć aplikację Bluetooth, użyj następującego polecenia:

zrezygnować

Następnym krokiem jest powiązanie urządzenia z portem szeregowym:

sudo rfcomm bind 0 MACADDRESS 1

Aby upewnić się, że operacja się powiodła, wpisz:

ls / dev

Powinien zostać wyświetlony port „Rfcomm0”.

Krok 7: Podłączanie DragonBoard 410c do OBD samochodu za pomocą Bluetooth - część 2/2

Podłączanie DragonBoard 410c do OBD samochodu za pomocą Bluetooth - część 2/2
Podłączanie DragonBoard 410c do OBD samochodu za pomocą Bluetooth - część 2/2
Podłączanie DragonBoard 410c do OBD samochodu za pomocą Bluetooth - część 2/2
Podłączanie DragonBoard 410c do OBD samochodu za pomocą Bluetooth - część 2/2

Głównym celem tego kroku jest zagwarantowanie poprawnej komunikacji pomiędzy 3 urządzeniami:

ELM327, DragonBoard 410c i samochód

Pobierz aplikację „Ekran”, aby wysyłać wiadomości szeregowe przez port szeregowy

ekran instalacyjny sudo apt-get

Port szeregowy będzie używany do wysyłania poleceń AT i odbierania odpowiedzi między DragonBoard 410c a urządzeniem ELM327.

Uzyskaj dostęp do następującego łącza, aby uzyskać więcej informacji na temat poleceń AT:

elmelectronics.com/ELM327/AT_Commands.pdf

Ostrzeżenie:

Bądź bardzo ostrożny z tym krokiem! Wszystkie informacje, które wyślesz do urządzenia, zostaną zinterpretowane i wysłane do samochodu, jeśli zostanie wysłana niewłaściwa wiadomość, może ona zostać źle zinterpretowana przez samochód i spowodować problemy. Zwróć uwagę na polecenia i przestudiuj je, zanim spróbujesz własnego kodu. Zdecydowanie zalecamy przestrzeganie poniższych instrukcji co do litery.

Postępuj zgodnie z poniższą sekwencją poleceń, aby zainicjować komunikację:

  • Ta funkcja uruchomi komunikację szeregową za pomocą ekranu:

    ekran /dev/rfcomm0

Jak tylko terminal się załaduje, wpisz następujące polecenia w tej kolejności:

ATZ

ATL1 ATH1 ATS1 ATSP0

Końcowy test komunikacji:

Wpisz w konsoli:

ATI

Powinien zwrócić „ELM327 v1.5” lub wersję ELM twojego urządzenia

To dowód na to, że komunikacja między urządzeniem ELM a DragonBoard 410c działa

Szybka wskazówka

Aby wyjść z „Ekranu”, konieczne jest wpisanie Ctrl+A, a następnie Ctrl+D.

Krok 8: Podłączanie DragonBoard 410c do OBD samochodu za pomocą PyOBD

Podłączanie DragonBoard 410c do OBD samochodu za pomocą PyOBD
Podłączanie DragonBoard 410c do OBD samochodu za pomocą PyOBD

PyOBD to biblioteka Pythona umożliwiająca komunikację z urządzeniami OBD2, które można podłączyć do samochodów. Dzięki temu możemy wyodrębnić kilka informacji, w tym prędkość pojazdu i błędy elektryczne.

W tym kroku musimy upewnić się, że następujące biblioteki Pythona są zainstalowane w Linaro na DragonBoard 410c:

  • PIP - menedżer pakietów Pythona

    sudo apt-get zainstaluj python-pip

  • SetupTools - menedżer instalacji plików

    sudo pip install -U pip setupstools

  • Wheel - zainstaluj program do formatowania pakietów

    sudo apt-get zainstaluj python-wheel

  • OBD - biblioteka Python do komunikacji z urządzeniem OBD

    sudo apt-get zainstaluj python-obd

  • GPS - biblioteka Pythona do pobierania danych z GPS

    sudo pip zainstaluj gps

  • Requests - pakiet Pythona dla RESTful

    prośby o instalację sudo pip

Aby sprawdzić, czy pakiet OBD działa poprawnie, wykonaj następujące kroki:

sudo pyton

Teraz kursor terminala zostanie zmieniony na „>>>”, wskazując, że Python jest uruchomiony. Możesz teraz zacząć wpisywać poniższe polecenia:

  • Zacznij od zaimportowania biblioteki OBD:

    importuj obd

  • Aby połączyć się z portem szeregowym użyj polecenia:

    połączenie = stare. OBD(„dev/rfcomm0”)

  • To normalne, że wyświetla się komunikat o błędzie informujący, że komunikacja nie powiodła się, więc jeśli tak się stanie, spróbuj jeszcze raz.
  • Aby dowiedzieć się, czy Python otrzymuje informacje z samochodu przechodzącego przez ELM327 przez bluetooth, wpisz:

    połączenie.nazwa_protokołu()

Krok 9: Odczytywanie danych z samochodu za pomocą Pythona

Odczytywanie danych z samochodu za pomocą Pythona
Odczytywanie danych z samochodu za pomocą Pythona

Stworzymy plik o nazwie: OBD.py, zgodnie z poniższymi instrukcjami, a następnie kod.

Zacznij od zaimportowania biblioteki OBD do Pythona, aby rozpocząć połączenia.

Z niewiadomych przyczyn, korzystając z naszego sprzętu, pierwsza próba połączenia zawsze kończy się niepowodzeniem. Druga próba, zawsze działa. Dlatego w kodzie zauważysz dwie linijki komendy próbujące nawiązać połączenie.

Po pomyślnym nawiązaniu połączenia uruchomiliśmy nieskończoną pętlę, która wyszukuje dane OBD, formatuje je zgodnie z zadanymi parametrami. Następnie tworzy adres URL, używając Query String, co pozwala na przesłanie go do serwera metodą POST.

Na poniższym przykładzie udało nam się uzyskać następujące informacje:

  • RPM
  • Prędkość

Funkcje do przechwytywania danych wykorzystują dwa parametry. Na przykład używając [1][12] szukasz [modułu] [PID]. Listę funkcji można znaleźć pod adresem:

Na koniec wygeneruj adres URL ze wszystkimi informacjami połączonymi i dodanymi do pliku o nazwie „obd_data.dat”.

Kod dla OBD.py znajduje się poniżej.

Po podłączeniu i przechwyceniu danych utworzymy plik o nazwie: envia_OBD.py

Ta część kodu staje się prostsza. Zaimportuj biblioteki powiązane z danymi żądania/wysyłania, używając RESTFUL.

Utwórz WHILE, aby użyć POST i wyślij adres URL pierwszego wiersza pliku, wypełniony wcześniej przez OBD.py. Następnie, aby uniknąć ponownego wysłania danych, usuwa tę linię z pliku.

Kod pliku OBD.py znajduje się poniżej.

Krok 10: Skrypty cykliczne i procedura przechowywania danych dla przechwyconych danych

Skrypty cykliczne i procedura przechowywania danych dla przechwyconych danych
Skrypty cykliczne i procedura przechowywania danych dla przechwyconych danych

Wszystko, co do tej pory zrobiliśmy, było ukierunkowane na zapewnienie prawidłowej komunikacji DragonBoard z komponentami, takimi jak 3G, Wi-Fi, Bluetooth, dane GPS i inne.

Użyj poniższego kodu, aby edytować plik „rc.local”, który ma już pewne funkcje i predefiniowane polecenia. Znajduje się w '/etc'. Aby edytować, użyj polecenia:

sudo nano /etc/rc.local

Teraz musimy skonfigurować wszystkie usługi i funkcje, tworząc procedury, które inicjują się automatycznie po uruchomieniu DragonBoard. Użyjmy do tego BASH. BASH (Bourne-Again-SHell) to aplikacja interpretująca polecenia systemu Linux.

Poniższy kod zawiera polecenia BASH i będziesz musiał wprowadzić adres MAC Bluetooth/OBD. Zachowaj szczególną ostrożność, aby zakończyć kod „exit 0”, czyli odpowiedzią systemu, że akcja się powiodła.

Jeśli [! -f /etc/ssh/ssh_host_rsa_key]

następnie 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 i sudo python /home/linaro /Documents/FadaDoCarro/OBD.py i sudo python /home/linaro/Documents/FadaDoCarro/envia_OBD.py i wyjdź 0

Od teraz za każdym razem, gdy włączysz DragonBoard, połączy się on z 3G i wyśle dane GPS i OBD na wybrany serwer.

Krok 11: Kłopoty po drodze

Kłopoty po drodze
Kłopoty po drodze

Poniżej wymieniliśmy niektóre problemy, które znaleźliśmy po drodze przed napisaniem tej instrukcji, ale pomyśleliśmy, że może ci to pomóc, jeśli ci się to przydarzy.

  • PyOBD

    Musisz być bardzo ostrożny, aby przesyłać dane podczas komunikacji z samochodem. W jednej z naszych pierwszych prób, gdy komunikacja nie była stabilna, wysłaliśmy niewłaściwe polecenie, które w zasadzie spowodowało awarię ECU. Dźwignia zmiany biegów utknęła na parkingu, a niektóre kontrolki na desce rozdzielczej migały losowo. Znalezione rozwiązanie polegało na odłączeniu jednego z kabli akumulatora na około 15 minut. Spowoduje to zresetowanie ECU do domyślnego stanu fabrycznego, anulując wszelkie polecenia lub zmiany, które mogliśmy wprowadzić

  • Linaro

    Mieliśmy problem z naszym DragonBoardem, który sporadycznie uruchamiał się ponownie. Problem został rozwiązany przez zespół Linaro, który wydał nowszą wersję systemu operacyjnego. Napisaliśmy ten samouczek ze zaktualizowaną wersją

  • GPS DragonBoard

    DragonBoard 410c firmy Qualcomm nie ma wewnętrznej anteny GPS, więc aby zwiększyć akwizycję sygnału GPS, musimy zainstalować złącze anteny zewnętrznej. Ten proces jest lepiej wyjaśniony w następującym łączu:

Krok 12: Referencje

Bibliografia
Bibliografia

Program rozruchowy

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

Linaro

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

Instalacja Como na Linaro na DragonBoard 410c

www.embarcados.com.br/linux-linaro-alip-na-qualcomm-dragonboard-410c/

Dokumentacja GPS dla DragonBoard

discuss.96boards.org/t/gps-software/170/16

Demo GPS

gist.github.com/wolfg1969/4653340

Python OBD

github.com/brendan-w/python-OBD

Podłącz RaspberryPi do OBD Bluetooth

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

Zalecana: