SomLABS-owe CAN-owanie .... co tam w aucie słychać panie ??

SBC na iMX6 ....
https://somlabs.com/
ODPOWIEDZ
Awatar użytkownika
SunRiver
Administrator
Posty: 684
Rejestracja: 08 paź 2017, 11:27
Lokalizacja: Opole
Kontakt:

SomLABS-owe CAN-owanie .... co tam w aucie słychać panie ??

Post autor: SunRiver » 09 mar 2019, 17:01

W sumie to na wstępie powiem że decyzja o użyciu SomLabsa była jak najbardziej nie odpowiedzialna
i nie przemyślana w żaden sposób ... ot taki impuls , który zakończył się głupim pomysłem i zasadniczo
mógł się źle skończyć .....

Obrazek

Dlaczego ??
W sumie to proste .... po pierwsze mizerne wsparcie dla produktu -- od producenta dostajemy tak naprawdę
tylko coś co jakoś działa i tyle reszta to zmartwienie użytkowników ....

iMX6 zastosowany w SomLABSIE nie jest bezpośrednio wspierany przez CAN-Utils , który skromnie opisałem tu:

viewtopic.php?f=82&t=443

Nie wdając się w szczegóły - mogę powiedzieć ze wielu nie odpali interfejsu CAN, a na tą chwile nie będę się zajmował szczegółami :)

Tymczasem jednak zszedłem do auta i postanowiłem posłuchać co tam gada mój freelek,
Podłączenia standardowe i nic odkrywczego ....

Gniazdo siedzi w powiedzmy dostępnym miejscu pod gumową zaślepką / osłonką z którą trzeba trochę powalczyć :)

Obrazek

Potrzeba więc naszego SomLAbS'a kilku kabelków i laptopa ...
z racji ciasnoty i braku wygody fotek nie będzie :( może gdy już pozbieram wszystko do kupy --- choć to pojęcie względne

Obrazek

po ustanowieniu połaczenia SSH z Visionem ...
 ! Wiadomość z: SunRiver
Możemy uzyć w zasadzie 3ch komend , dla nas przydatnych "

---> candump - wyświetla wszystkie komunikaty
---> cansniffer - wyświetla tylko te które ulegają zmianie
---> cansend - umożliwia nam wysłanie ramki



Zatem wpisujemy w konsoli :

# cansniffer -c can2
 ! Wiadomość z: SunRiver

W większości waszych wypadków CAN2 nie zostanie znaleziony w SomLABSIE bo jest to interfejs CAN0
jednakże ja sobie zrobiłem aliasa by wskazywał mi po prostu kanał fizyczny którego używam , a nie
urządzenie w systemie .... jeśli zerkniecie do /dev/ zobaczycie że macie CAN0 i CAN1 :)
parametr -c powoduje kolorowanie składni tego co ulega zmianie ,co na ekranie naszego terminala wygląda tak:

Obrazek

uzyskałem takie informacje , puki co nie wiem co jest czym i dlaczego ... dlatego teraz uruchomię silnik
i poszukam czegoś co może mi pokazać który komunikat jest czym ....

Obrazek

Po dłuższej obserwacji na uwagę zasługuje komunikat 0.200001 o ID C9 , który zdaje się pokazywać obroty silnika :) są tam 4 bajty które się zmieniają podczas naciskania na pedał gazu .... trzeba więc ustalić który
jest który bowiem nie każdy musi mieć coś z RPM wspólnego :)

po obserwacji wynika że:

-- bajt 07 zmienia wartość wprawdzie ale w małym zakresie bo od 07 do 24 i raczej nie są to obroty
-- bajt A8 wygląda obiecująco , ale gdy puszczam gaz -- wskazuje 00 - 01 więc wygląda na to że wskazuje
położenie przepustnicy

-- za to pozostałe 2 bajty 25 i C0 reagują na przepustnicę bardzo dokładnie ... można powiedzieć
że to 25 i C0 odpowiada ~2500 obr .

Wynika więc z obserwacji że ów 2 bajty są 16 bitową liczbą całkowitą ...

Po dłuższej obserwacji jestem już pewny że właśnie tak jest ... aby to sprawdzić gaszę silnik
i wysyłam komunikat :
 ! Wiadomość z: SunRiver

UWAGA ....
SILNIK MUSI BYĆ WYŁĄCZONY / UNIERUCHOMIONY -- TYLKO SAM ZAPŁON !!
# cansend can2 0C9 # 8025C007A8101000

Nic się nie dzieje ....
ale to dlatego że ECU wysyła co ok 0,2 sek swoją wiadomość oryginalną wiec pewnie moja została
zignorowana ... ( można wiec pokusić się o odpięcie ECU ale wieje u mnie trochę wiec nie chce mi
się podnosić maski )

Zatem zrobimy nieco zamieszania i zrobimy taki mały myk :)
wpisujemy w konsoli :

# while true; do cansend can2 0C9 # 8025C007A8101000; sleep 0.002; done

Po prostu będziemy sprytniejsi :) i będziemy nadawać co 0,002 sek. nasz komunikat :)

Jakby co CTRL+C przerywa pętlę kończąc wysyłanie komunikatu :)

i jest EFEKT ...

Obrazek

mogę sobie sterować wskazówką od obrotomierza :P


Na tym zakończę zabawy .... teraz czas się zająć zrobieniem jakiegoś poważnego czegoś , ale może
na czymś porządniejszym a , może na SomLabsie ...
.... z każdym bitem serca ....
💫SunDUINO
💦GitHUB
💦Google Drive
💦Sotton

Awatar użytkownika
SunRiver
Administrator
Posty: 684
Rejestracja: 08 paź 2017, 11:27
Lokalizacja: Opole
Kontakt:

Re: SomLABS-owe CAN-owanie .... co tam w aucie słychać panie ??

Post autor: SunRiver » 26 mar 2019, 19:31

Jednak się nieźle uparłem ... i powoli powstaje
Oparty o SomLABSA samochodowy system informacyjny ...
o sytuacji na placu boju będę informował w nowym temacie
Gdyż jednakowoż SOM wydaje mi się adekwatny do tego co chcę zrobić , a Linux
się tu idealnie spisze zwłaszcza że potrzebne apki sobie machnę w Cplusie albo
pójdę na łatwiznę i w Pythonie ... :)

-----> wprawdzie projekt nie jest wielkich lotów i pewnie nie zasługuje nawet na wzmiankę o nim
gdyż SomLabs został do poważniejszych rzeczy stworzony :) Na nasze amatorskie forum będzie pasował :P


taki tam przeciek z tajnej konsoli :P

Obrazek

Obrazek

na razie nie wiele .... ale powoli ...
.... z każdym bitem serca ....
💫SunDUINO
💦GitHUB
💦Google Drive
💦Sotton

ODPOWIEDZ