Zobacz pełną wersję : [Focus 2011-2014] Dane z samochodu do Raspberry PI
Witam.
Noszę się z zamiarem zamontowania w FF2012 raspberry pi z ekranem dotykowym i zastanawiam się jak poza standardowymi danymi z ELM327 wyciągnąć informacje np o przejechanych kilometrach otwartych drzwiach etc.
druga sprawa to klimatyzacja, posiadam manualną ale widzę że nie ma w niej linek tylko te pokrętła są przełącznikami dobrze myślę? Ktoś z was badał temat?
chciałem monitor umieści w miejscu panelu od klimy a klimę ustawiać z dotykowego ekranu
Mocny projekt. Nie wiem czy sam bym się czegoś takiego podejmował.
ee wcale nie :) takie embedded :D parę elektroniki i softu ale bez "zrozumienia" jak działa ford będzie ciężko, a ma ktoś może zdjęcia wtyczek manualnego sterowania klimy jak to tam wygląda ?
technikibart 30-04-2017, 17:25 Możesz zbudować listwę z przekaźnikami do sterowania, zamiast pokręteł, coś takiego mógłbyś zaprogramować nawet na zwykłym atmega.
wolałbym tranzystory i RPi bo można by jakieś fajne audio zrobić przy okazji + kusi mnie czy jakby się udało to nie zrobić coś a'la klimatronik. uwzględniając histerezy itp. to byłby fajny temat embedded. Nie mnie jednak wolałbym najpierw poznać zasade działania panelu a potem dlubać w aucie :)
z obserwacji wynika że nawiew na szybę np zawsze włącza klimę a nawiew na kabine + zimnie powietrze robi to samo więc ten panel musi mieć jakąś minimalną "logikę"
są tu jacyś programiści na forum ?
Szymon_Zy 30-04-2017, 22:16 Na Pi na fajne audio nie licz - nawet te nowe eksperymentalne drivery na analogu słabo wypadają. Chyba, że dasz kartę na usb.
Do cana chcesz się przez elm'a wpinać?
Rudyjerz 01-05-2017, 17:55 Na Pi na fajne audio nie licz - nawet te nowe eksperymentalne drivery na analogu słabo wypadają. Chyba, że dasz kartę na usb.
Do cana chcesz się przez elm'a wpinać?
Hifiberry i porządny wzmacniacz i gra bardzo fajnie.
Pytanie tylko jak tym sterować.
Ja nie lubię paneli dotykowych w aucie bo trzeba na nie patrzyć jak się chce coś kliknąć.
W miejscu na kubki na środku zrobię swój "kubek" z enkoderem który ma funkcję przycisku i będzie jak w BMW, to akurat jest proste jak i nawigacja po menu, najmniej wiedzy mam z odczytem can przez obdii
mr-fix.pl 02-05-2017, 15:33 Przypuszczam, że będziesz musiał podsłuchiwać komunikacji nadawanej przez GEM i tego co jest adresowane do zestawu wskaźników. Chyba TJA1050 powinien to ogarnąć.
Na Linuxa było takie bardzo fajne narzędzie do komunikacji CAN, które pokazywało tylko zmiany w ramkach, co ułatwiało rozszyfrowanie komunikacji. Niestety nie pamiętam nazwy...
Zeby maksymalnie duzo odczytac wartosci z szyny can i niezaklocac transmisji na szynie wczasie jazdy w mk3 nalezy podlaczyc sie pod schowkiem pasazera do can low i high w module gem, a nie do portu obd. Beda to piny 2 i 3 od dolu w lewej kolumnie (nr pinow to 40 i 41) wtyczka jasnozielona (chyba prawy gorny rog modulu gem). Z tego samego miejsca pseudofabryczny alarm bierze dane z can wiec mozna sie do wiazki od alarmu podlaczyc zeby wtyczki nierozpinac. Centralka alarmu w nadkolu za schowkiem, na 90% kolory przewodow can w wiazce alarmu to: can low pomaranczowo brazowy, can high pomaranczowo zielony. Mozesz z tego podlaczenia rozszyfrowywac ramki can bez zadnych obaw i jestes podlaczony do can najblizej jak sie da wiec nie jest potrzebny zaden rezystor na wzmocnienie sygnalu.
technikibart 04-05-2017, 09:21 Tranzystor wzmacnia sygnał elektryczny.
Tranzystor wzmacnia sygnał elektryczny.
Chodzi o dodatkowy 'rezystor terminujący'. Powinno się go stosować na końcach magistrali CAN lub dodatkowo przy dużych odległościach między podpięciem pod can a końcowym urządzeniem aby zapewnić właściwe napięcie, a to odbija się na poziomie sygnału oraz aby zapobiec zakłóceniom na can (odbicia sygnałów). Jeżeli podłączenie jest blisko nie trzeba stosować dodatkowego rezystora pomiędzy can low i high. Bardzo często tego typu dodatkowy rezystor stosuje się na magistrali CAN2 (potocznie zwanej FMS w ciężarówkach) bo tam jest mnóstwo zakłóceń sygnałów. W mk3 nie jest on potrzebny jeżeli podłączymy się tam gdzie opisałem.
Ktoś wcześniej zauważył że do tego typu rzeczy chyba się nie powinno podłączać tzn: interfejsów typu elm. Wydaje mi się że się po prostu tam tego się nie da zrobić do końca ponieważ elmy zwracają już kontretne PIDY i wartości a nie całą ramkę can łącznie z sumą kontrolną. Czyba że da się to jakoś wymusić? Ja pamiętam że po podłączeniu elma trzeba było do neigo wysłać komende z wyborem protokołu, nie było komendy do przekazywania danych jeden do jednego. Czyli mamy PIDY i jesteśmy poniekąd zamknięci już, można rozszyfrowywać PIDY a nie ramki can. Jak komuś potrzebne jest wyświetlenie RPM czy prędkości to mu wystarczy (bo rpm i prędkość będą miały różne pidy), ale już z lampkami z deski rozdzielczej lub innymi mniej standardowymi rzeczami może być problem i ich za pomocą elma po prostu nie odczyta (bo wybrany protokół w elm nie będzie identyfikował takich ramek z can albo będzie je wrzucał pod jeden numer pidu jako pid nieznany).
aktywowałem sobie w telefonie program FORScan i przy pomocy ELM327 BT udało mi się odczytać sporo ciekawych informacji (np skręt kierownicy) tak jak jest napisane tu (http://webcache.googleusercontent.com/search?q=cache:wx_oDiIUDHcJ:www.ecoboostperformanc eforum.com/index.php%3Ftopic%3D651.0+&cd=5&hl=pl&ct=clnk&gl=pl) da się więcej ale trzeba przerabiać ELMa na MS-CAN wszystko spoko tylko teraz jak zastąpić program FORScan swoim własnym
http://www.stuffaboutcode.com/2013/07/raspberry-pi-reading-car-obd-ii-data.html
http://www.instructables.com/id/OBD-Pi/
http://gersic.com/connecting-your-raspberry-pi-to-a-bluetooth-obd-ii-adapter/
http://fabcirablog.weebly.com/blog/reading-a-cars-obdii-port-with-a-raspberry-pi
Lukasz2525 05-05-2017, 16:14 Da radę wykorzystać czujnik skrętu kierownicy do zapalania halogenów ?
nie mam wyczajone czy da się coś w locie zapisywać przez tego elm'a (czyli zapalać halogeny np.) ale jeśli tak to kwestia programu na procka i będzie doświetlanie zakrętów
mr-fix.pl 05-05-2017, 20:19 Ktoś wcześniej zauważył że do tego typu rzeczy chyba się nie powinno podłączać tzn: interfejsów typu elm. Wydaje mi się że się po prostu tam tego się nie da zrobić do końca ponieważ elmy zwracają już kontretne PIDY i wartości a nie całą ramkę can łącznie z sumą kontrolną. Czyba że da się to jakoś wymusić?
Dałoby radę ELMem. Ograniczenia, o których mówisz, to wynik tylko i wyłącznie oprogramowania, które działa w uniwersalnym standardzie. Jeżeli użyjesz programu, który wychodzi poza te standardy (foCCCus, FORscan, ELMConfig), to funkcjonalność ELM327 staje się imponująca.
Jeżeli dobrze pamiętam, to w Focusie (przynajmniej w MK2) są dwie magistrale CAN. Wysokiej i średniej prędkości. Prosta modyfikacja ELMa pozwalała na przepinanie się miedzy nimi, co dawało możliwość komunikacji ze wszystkimi modułami w samochodzie. Więc docelowo fajnie by było mieć dwa moduły, aby jednocześnie działać w obu magistralach.
ok pytanie czy te programy o których piszesz wysyłają do ELM327 komendy po serialu poza tym uniwersalnym standardem, czy jest to jakoś inaczej rozwiązane ( nie wydaje mi się) muszę poszukać jakiegoś sniffera
mr-fix.pl 05-05-2017, 21:31 ok pytanie czy te programy o których piszesz wysyłają do ELM327 komendy po serialu poza tym uniwersalnym standardem, czy jest to jakoś inaczej rozwiązane ( nie wydaje mi się) muszę poszukać jakiegoś sniffera
Wydaje mi się, że zarówno te zaawansowane programy jak i uniwersalne używają poleceń AT, do komunikacji komputer<>ELM327. Po prostu jest kilka polecenia, które działają w każdym aucie (PIDy, stan check engine, DTC silnika...) oraz polecenia specyficzne dla konkretnych marek, modeli i podzespołów samochodu, które są używane przez ELMConfig, foCCCus, FORscan...
Wystarczy (:razz:) wiedzieć jak wygląda standard komunikacji między modułami, a będzie można odczytywać więcej danych niż standardowe PIDy, odczytywać i zapisywać nowe konfiguracje modułów, wykonywać zaawansowane funkcje (wymuszona regeneracja DPF, adaptacja EGR...) oraz wstrzykiwać swoje ramki podszywając się pod moduły, które chce się zastąpić przez swój moduł.
Można by podpiąć do samochody jednocześnie ELM327 z foCCCus i sniffera, żeby zobaczyć jak dokładnie wygląda komunikacja. Pewnie da się to nawet zrobić łatwiej przez monitor portu na komputerze z FORscan'em.
udało mi się zdobyć trochę logów z portu COM podczas pracy z FORScan'em
logi (https://docs.google.com/document/d/1VF-N0qF9XgPBrzG0vEy3LLhjWwG3vr49z4xLPrn5k7c/edit?usp=sharing)
generalnie jak program jest połączony ale nie ma włączonego monitorowania to leci komenda ATI do utrzymania łączność chyba :) czy tam do jej monitorowania
od pozycji 0000 do 439 to się dzieje kiedy FORScan szuka jakie są dostępne moduły
to fragment rozpoczęcia monitorowania poziomu paliwa
000452: ATI
000453:
000454: >ELM327 v1.4
000455: ATSH0007E0
000456:
000457: >OK
000458: ATCRA7E8
000459:
000460: >OK
000461: 22F42F1
000462:
000463: >62F42FBB
000464: 22F42F1
000465:
000466: >62F42FBB
000467: 22F42F1
a tu zaczynam sprawdzać położenie kierownicy
>ELM327 v1.4
000707: ATI
000708:
000709: >ELM327 v1.4
000710: ATI
000711:
000712: >ELM327 v1.4
000713: ATSH000797
000714:
000715: >OK
000716: ATCRA79F
000717:
000718: >OK
000719: 22EE302
000720:
000721: >00E
000722: 0:62EE30002200
000723: 1:00041D00000001
000724: 22EE302
000725:
000726: >00E
000727: 0:62EE30002200
000728: 1:000C9D00000001
000729: 22EE302
000730:
000731: >00E
000732: 0:62EE30002200
000733: 1:00023D00000001
000734: 22EE302
000735:
000736: >00E
000737: 0:62EE30002200
000738: 1:0008DD00000001
000739: 22EE302
000740:
000741: >00E
000742: 0:62EE30002200
000743: 1:15013800000001
000744: 22EE302
000745:
000746: >00E
000747: 0:62EE30002200
000748: 1:0007ED00000001
000749: 22EE302
000750:
000751: >00E
000752: 0:62EE30002200
000753: 1:00005D00000001
000754: 22EE302
000755:
000756: >00E
000757: 0:62EE30002200
000758: 1:000ABD00000001
000759: 22EE302
000760:
000761: >00E
000762: 0:62EE30002200
000763: 1:00032D00000001
000764: 22EE302
000765:
000766: >00E
000767: 0:62EE30002200
000768: 1:000D8D00000001
000769: 22EE302
000770:
000771: >00E
000772: 0:62EE30001F00
000773: 1:00042000000001
000774: 22EE302
000775:
000776: >00E
000777: 0:62EE30001F00
000778: 1:000CA000000001
000779: 22EE302
000780:
000781: >00E
000782: 0:62EE30001F00
000783: 1:00024000000001
000784: 22EE302
000785:
000786: >00E
000787: 0:62EE30001F00
000788: 1:0008E000000001
000789: 22EE302
000790:
000791: >00E
000792: 0:62EE30001F00
000793: 1:000D9000000001
000794: 22EE302
000795:
000796: >00E
000797: 0:62EE30001F00
000798: 1:0008E000000001
000799: 22EE302
000800:
000801: >00E
000802: 0:62EE30001F00
000803: 1:000E8000000001
000804: 22EE302
000805:
000806: >00E
000807: 0:62EE30001F00
000808: 1:00042000000001
000809: 22EE302
000810:
000811: >00E
000812: 0:62EE30001D00
000813: 1:0E0AB400000001
000814: 22EE302
000815:
000816: >00E
000817: 0:62EE30000000
000818: 1:ED001201E00101
000819: 22EE302
000820:
000821: >00E
000822: 0:62EE30007603
000823: 1:7C097A04500101
000824: 22EE302
000825:
000826: >00E
000827: 0:62EE3000F304
000828: 1:5B019D04800101
000829: 22EE302
000830:
000831: >00E
000832: 0:62EE30015E04
000833: 1:CF075D05580101
000834: 22EE302
000835:
000836: >00E
000837: 0:62EE30024D06
000838: 1:28026206600101
000839: 22EE302
000840:
000841: >00E
000842: 0:62EE3002F705
000843: 1:5F0BF204800101
000844: 22EE302
000845:
000846: >00E
000847: 0:62EE30034302
000848: 1:1B054C01080101
000849: 22EE302
000850:
wygląda to obiecująco :D
mr-fix.pl 06-05-2017, 19:47 ATI - odpytanie o wersję ELMa.
leci pewnie co jakiś czas, żeby potwierdzić, że urządzenie jest nadal dostępne.
ATSH - ustawienie nagłówka
ATCRA - ustawienie adresata komunikatu
Tutaj sporo wyjaśnione: https://www.elmelectronics.com/wp-content/uploads/2016/07/ELM327DS.pdf
mr-fix.pl 07-05-2017, 20:37 Wydobyłem kilka adresów modułów. Pewnie się przyda:
IPC - Instrument Panel Cluster (IPC) Control Module [0x720]
BCM - Body Control Module [0x726]
TCM - Transmission Control Module [0x7E1]
FCDIM - Front Control/Display Interface Module [0x7A5]
HVAC - HVAC Control Module [0x733]
PCM - Powertrain Control Module [0x7E0]
ABS - Anit-Lock Brake System (ABS) Control Module [0x760]
|