Wirtualny port szeregowy
-
- Piegowaty Guziec
- Posty: 21
- Rejestracja: 05 paź 2008, 17:50
- Płeć: Mężczyzna
- Środowisko graficzne: GNOME
Wirtualny port szeregowy
Witam,
Chciałem poprosić Was o przedstawienie koncepcji(algorytmu) do napisania wirtualnego portu szeregowego pod linuxem. Ostatecznym celem tego projektu, ma być realizacja połączenia pomiędzy komputerem, a urządzeniem od strony którego łączę go przez port RS232 z komputerem przez interfejs USB. Z góry dziękuję za odpowiedź. Pozdrawiam
Chciałem poprosić Was o przedstawienie koncepcji(algorytmu) do napisania wirtualnego portu szeregowego pod linuxem. Ostatecznym celem tego projektu, ma być realizacja połączenia pomiędzy komputerem, a urządzeniem od strony którego łączę go przez port RS232 z komputerem przez interfejs USB. Z góry dziękuję za odpowiedź. Pozdrawiam
- mszubart
- Sędziwy Jeż
- Posty: 43
- Rejestracja: 14 lis 2006, 08:44
- Płeć: Mężczyzna
- Wersja Ubuntu: 11.04
- Środowisko graficzne: Unity
- Architektura: x86
Re: Wirtualny port szeregowy
Jeśli masz jedną z tych przejściówek USB<->RS232 za 27,90 zł z elektronicznego za rogiem, to po podłączeniu jej do PC
będzie widoczna jako /dev/ttyUSBx, gdzie x to numerek od 0 do (ile tam sobie ich podłączysz).
Potem już (bo zakładam, że sam chcesz napisać software)
http://en.wikibooks.org/wiki/Serial_Pro ... rial_Linux
czy jakieś tam podobne wygoglujesz sobie
Pamiętaj tylko, że w przejściówce USB za 28 zł (te droższe są takie same) masz tylko 3 piny aktywne (w przypływach więcej, ale to już za większą kasę): Tx, Rx i GND.
W tym oczywiście GND sobie nie posterujesz.
Marzenia o podłączeniu tak starej myszki poszły właśnie w kąt :>
będzie widoczna jako /dev/ttyUSBx, gdzie x to numerek od 0 do (ile tam sobie ich podłączysz).
Potem już (bo zakładam, że sam chcesz napisać software)
http://en.wikibooks.org/wiki/Serial_Pro ... rial_Linux
czy jakieś tam podobne wygoglujesz sobie
Pamiętaj tylko, że w przejściówce USB za 28 zł (te droższe są takie same) masz tylko 3 piny aktywne (w przypływach więcej, ale to już za większą kasę): Tx, Rx i GND.
W tym oczywiście GND sobie nie posterujesz.
Marzenia o podłączeniu tak starej myszki poszły właśnie w kąt :>
-
- Piegowaty Guziec
- Posty: 21
- Rejestracja: 05 paź 2008, 17:50
- Płeć: Mężczyzna
- Środowisko graficzne: GNOME
Re: Wirtualny port szeregowy
Witam,
Dziękuję za odpowiedź. Mam jednak taki problem, że w katalogu /dev mam utworzone stałe węzły do USB:
Posiadam dwa porty USB i po podłączeniu urządzenia jego struktura się nie zmienia. Moje pytanie jest następujące, w jaki sposób rozpoznam, który plik powinienem użyć do otwarcia i manipulacją portu USB?
Z góry dziękuję za odpowiedź. Pozdrawiam
PS. Czy wirtualny port tworzy się jedynie dla RS <-> USB ?
Dziękuję za odpowiedź. Mam jednak taki problem, że w katalogu /dev mam utworzone stałe węzły do USB:
Kod: Zaznacz cały
usb1
usb2
usbdev1.1_ep00
usbdev1.1_ep81
usbdev1.2_ep00
usbdev1.2_ep81
usbdev2.1_ep00
usbdev2.1_ep81
usbdev2.2_ep00
usbdev2.2_ep02
usbdev2.2_ep03
usbdev2.2_ep81
usbdev2.2_ep84
Z góry dziękuję za odpowiedź. Pozdrawiam
PS. Czy wirtualny port tworzy się jedynie dla RS <-> USB ?
- mszubart
- Sędziwy Jeż
- Posty: 43
- Rejestracja: 14 lis 2006, 08:44
- Płeć: Mężczyzna
- Wersja Ubuntu: 11.04
- Środowisko graficzne: Unity
- Architektura: x86
Re: Wirtualny port szeregowy
Porty szeregowe (przynajmniej w Ubuntu) to zwykle /dev/ttySx dla zwykłych portów (np. karta z portami na PCI) oraz
/dev/ttyUSBx dla przejściówek na USB.
Ważne jest, żebyś odwoływał się niejako do terminala, a nie samej przejściówki (tego usbdev).
Zauważ też, że ttySx będzie występował dla wszystkich możliwych portów szeregowych na płycie głównej (u mnie np do ttyS31) (nie koniecznie wyprowadzonych nawet z chipsetu).
Jak dowiedzieć się który jest który?
hmm... Z ttyUSB jest łatwo, jeśli Twoje urządzenie coś wysyła, to cat /dev/ttyUSBx wypluje Ci jakieś krzaczki
Pewnie znajdzie się tu jakiś guru i poda łatwiejszy sposób niż na chybił trafił (oby).
/dev/ttyUSBx dla przejściówek na USB.
Ważne jest, żebyś odwoływał się niejako do terminala, a nie samej przejściówki (tego usbdev).
Zauważ też, że ttySx będzie występował dla wszystkich możliwych portów szeregowych na płycie głównej (u mnie np do ttyS31) (nie koniecznie wyprowadzonych nawet z chipsetu).
Jak dowiedzieć się który jest który?
hmm... Z ttyUSB jest łatwo, jeśli Twoje urządzenie coś wysyła, to cat /dev/ttyUSBx wypluje Ci jakieś krzaczki

Pewnie znajdzie się tu jakiś guru i poda łatwiejszy sposób niż na chybił trafił (oby).
-
- Piegowaty Guziec
- Posty: 21
- Rejestracja: 05 paź 2008, 17:50
- Płeć: Mężczyzna
- Środowisko graficzne: GNOME
Re: Wirtualny port szeregowy
Super, dziękuję za wyjaśnienie. Chciałbym jeszcze zapytać, bo widzę, że posiadasz wiedzę na ten temat, w jaki sposób jest reprezentowane połączenie poprzez czyste USB, za pomocą którego mógłbym traktować ten plik, jako strumień do komunikacji przez zwykły kabel USB ? Jeszcze raz dziękuję za pomoc. Pozdrawiam.
- mszubart
- Sędziwy Jeż
- Posty: 43
- Rejestracja: 14 lis 2006, 08:44
- Płeć: Mężczyzna
- Wersja Ubuntu: 11.04
- Środowisko graficzne: Unity
- Architektura: x86
Re: Wirtualny port szeregowy
Widzisz, na końcu przejściówki USB<->RS232 jest wytczka DB-9, ale nie oznacza to, że dane lecą jakoś magicznie z usb na 232.
W tej końcówce jest cały układzik sterujący transmisją - emulator terminala ( coś w stylu usb driver + procek + przetwornica np. max232 ).
Sterownik w jądrze komunikuje się z tą wtyczką po USB i razem udają zwykły port szeregowy.
Jeśli interesuje Cię jak pisać sterowniki do urządzeń USB to zerknij na to:
http://free-electrons.com/doc/linux-usb.pdf
Ewentualnie w zrozumieniu tematu może pomóc Ci:
http://www.recursion.jp/avrcdc/index.html
W tej końcówce jest cały układzik sterujący transmisją - emulator terminala ( coś w stylu usb driver + procek + przetwornica np. max232 ).
Sterownik w jądrze komunikuje się z tą wtyczką po USB i razem udają zwykły port szeregowy.
Jeśli interesuje Cię jak pisać sterowniki do urządzeń USB to zerknij na to:
http://free-electrons.com/doc/linux-usb.pdf
Ewentualnie w zrozumieniu tematu może pomóc Ci:
http://www.recursion.jp/avrcdc/index.html
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 9 gości