Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Emulacja potru COM/USB jako zewnętrzne urządzenie z IP

konradwielki 30 Apr 2014 14:29 2589 6
  • #1
    konradwielki
    Level 11  
    Witam,

    Oryginalne urządzenie diagnostyczne Chryslera (wiTech) składa się z urządzenia Wi-Fi podłączanego do gniazda diagnostycznego samochodu i komunikującego się bezprzewodowo z PC/Laptopem oraz wspomianego PC/Laptopa z zainstalowanym programem diagnostycznym. W programie podaje się IP tego urządzenia podpiętego do gniazda diagnostycznego samochodu.

    Pytanie brzmi: czy jest jakiś sposób (program/emulator) aby użyć zwykłego interfejsu diagnostycznego przewodowego (mam EurosCAN ELM 327) podpiętego do USB (ale widzianego jako COM - bo sterownik tak emuluje) i przekonwertować tenże sygnał tak, aby był widziany w systemie jako nadawany przez zewnętrzne urządzenie o konkretnym adresie IP? Wtedy można by wprowadzić to IP do programu i mieć nadzieję, że program rozpozna go jako zdalny interfejs bezprzewodowy.

    W samym programie nie ma opcji aby zmienić sposób komunikacji z bezprzewodowej na przewodową...

    Program uruchamia się w wirtualnym systemie XP, w WIN7 ma jakiś problem, więc najlepsze byłoby rozwiązanie na WIN XP.

    Temat ten celowo umieściłem w dziale komputerowym (proszę nie przenosić) a nie samochodowym, ponieważ problem dotyczy łączności urządzeń w sieci a nie techniki samochodowej.
  • #2
    opamp
    User under supervision
    Nie masz zielonego pojęcie o elektronice.
  • #3
    tplewa
    Level 39  
    i tak i nie :)

    Nie da sie w programie wprowadzic sobie adresu IP zamiast portu COM skoro program nie obsluguje komunikacji po sieci tylko po porcie szeregowym.

    Istnieje szansa jesli w interfejsie jest tylko przejscie z RS232 na USB np. za pomoca FTDI itp. kupienie plytki np. RS232 to Ethernet.... i wtedy masz oprogramowanie ktore symuluje na komputerze port COM... z tym ze to jest ethernet, a nie WiFi czyli wiele dla ciebie nie zmienia bo masz kabel tylko inny. Natomiast gotowych plytek RS232 na WiFi to nie widzialem, wiec pozostaje cos takiego zrealizowac samemu (a na to ci po prostu wiedzy nie starczy - oceniajac po zadanym pytaniu). Jednak jak wspomnialem to da sie zrealizowac jak w interfejsie jest wizyczny RS232 i dorobiona jest przejsciowka. Nie da sie tego tak zrealizowac jak w interfejsie jest procesor ktory ma wbudowane USB i oprogramowanie realizuje VCP.
  • #4
    Anonymous
    Anonymous  
  • #5
    konradwielki
    Level 11  
    Dzięki za rzeczową odpowiedź!

    Wg mnie samochód nadaje po RS232 a w interfejsie jest konwerter na USB. Potem sterownik znowu sprowadza ten sygnał do RS232 i wyświetla jako sygnał na wirtualnym porcie COM.

    Będę więc szukał w tym kierunku aby podmienić płytkę w interfejsie na RS232-> Ethernet. Raczej nie jest istotne to że będzie to na kablu. Programowi potrzebne jest IP urządzenia gdzie będzie szukał sygnału.

    Co do budowy konwertera RS232 -> WiFi to masz rację - nie jestem elektronikiem ani informatykiem, więc przyjmuję, że dużo (za dużo) czasu by mi zajęło zanim bym do czegoś doszedł.

    Co do gotowego programu to jest jeden, nazywa się Bloom (był o tym temat na elektrodzie). Konwertuje sygnał z portu COM na sygnał Ethernet. Na drugim komputerze instaluje się inny program (nie pamiętam nazwy), który ściąga sygnał po IP pierwszego komputera i z powrotem przekształca do sygnału RS232. Niestety wymaga to 2 komputerów...


    Dzięki za pomoc!



    Sprawdzę i tę możliwość LAN/UART. Niestety schematu interfejsu nie mam, ale nie spodziewam się znaleźć tam nic więcej niż tylko przejściówkę RS232 -> USB.

    Dzięki.
  • #6
    tplewa
    Level 39  
    Jesli chodzi o wykorzystanie innego komputera to sa tez roziwazania np. USB <-> Ethernet (lepesze niestety platne) np. znam osoby co w ten sposob podpinaja klucze sprzetowe na USB do wirtualnych maszyn pracujacych pod Hyper-V. Hardwerowe rozwiazania tez istnieja niestety wiekszosc ma spore ograniczenia co do obslugiwanych urzadzen.

    Do tego w samochodzie nie masz interfejsu RS232 ;) jak sie juz tym zajmujesz i cos tam grzebiesz to podstawy warto poznac ;) bo sama nazwa interfejsu wskazuje ze masz w samochodzie CAN :)

    Co do podpiecia to poszukaj lepiej elektronika z praktyka bo tam plytki do podmiany to nie bedzie, trzeba bedzie za pewno wpinac sie w plytke, ciac sciezki itp.. Do tego trzeba miec pojecie z jakimi pozomami napiec ma sie do czynienia w interfejsie bo tam bedzie za pewne interfejs szeregowy ale z poziomami TTL, a nie +-12V jak w RS232...

    Tutaj masz np. cos takiego: http://arduinosolutions.com/pl/p/CP2102-EVAL-BOARD/676
  • #7
    konradwielki
    Level 11  
    Emulacja potru COM/USB jako zewnętrzne urządzenie z IP

    Zasięgnąłem trochę wiedzy w zakresie podstaw problemu. Np. tutaj:

    http://www.cnblogs.com/shangdawei/p/3570546.html

    Wynika z tego, że urządzenia w samochodzie komunikują się pomiędzy sobą za pomocą szyny PCI (czyli coś w stylu szyny CAN) protokołem SAE J1850 typu VPWM. Przewód komunikacyjny szyny PCI doprowadzony jest również do pinu #2 gniazda diagnostycznego. Dodatkowo do 3 pinów gniazda doprowadzone są przewody SCI, gdzie SCI jest interfejsem diagnostycznym i komunikuje się protokołem ISO 15765-4 CAN oraz ISO 9141-2. Pin #6 służy do wysyłania żądań do sterownika silnika ECM, pin #14 do wysyłania żądań do sterownika skrzyni biegów TCM, a pin #7 do odbierania odpowiedzi z obydwu modułów.

    Wynika z tego, że za pomocą komunikacji PCI można mieć dostęp do wszystkich urządzeń samochodu a za pomocą SCI tylko do silnika i skrzyni? Może komunikacja PCI służy producentowi (ASO) a SCI jest wymagana przez prawo jako ogólnodostępny sposób diagnozowania silnika w standardzie OBD-II?
    Jest też wzmianka, że w przypadku uszkodzenia szyny PCI można diagnozować samochód poprzez SCI. Wyglądałoby na to w takim razie, że oryginalny soft diagnostyczny potrzebuje podłączenia do pinów #2, #6, #7 i #14 (oprócz GND na pinie #4 i #5 i zasilania na #16)?

    Z tego, co wyczytałem to uniwersalne kable diagnostyczne (takie jak mój) mają dostęp do różnych pinów złącza diagnostycznego, ale tylko po to aby odszukać właściwy pin komunikacji ze sterownikiem silnika i z niego korzystać. Wątpię aby były w stanie obsługiwać jednocześnie 4 piny komunikacyjne i to komunikujące się innymi protokołami...

    Nie znalazłem też nigdzie żadnego schematu oryginalnego interfejsu ani zasady w jaki sposób konwertuje on i rozdziela sygnał z poszczególnych pinów złącza. I raczej nie znajdę - tajemnica producenta.


    Co do konwertowania sygnału RS232 do Ethernet to są nawet gotowe interfejsy OBD komunikujące się poprzez wifi, cena ok 120zł. Nie chcę natomiast kupować w ciemno po kolei różnych interfejsów do testowania, bo już wątpię, że są w stanie obsłużyć te 4 piny złącza na raz.