RS-485 do hvezdy

Miroslav Mraz mrazik na volny.cz
Pondělí Září 7 09:32:00 CEST 2015


Taky jde použít /dev/serial/by-id/nejake_silene_jmeno, které zůstává i 
když se změní USB sběrnice (díra, kam se to zastrčí). Většinou si na to 
udělám někde v home symlink a tem pak používám v programu. Není nutné se 
starat o udev.

Mrazík

Dne 7.9.2015 v 00:17 Martin Vancl napsal(a):
> Zatim se mi zda nejlepsi to zkusit nijak neresit a u PC vsechny vetve
> spojit dohromady.
> Pokud by nastaly problemy, tak pouzit pro kazdou vetev samostatny USB prevodnik.
>
> Dne 6. září 2015 23:32 Slavomir Skopalik <skopalik na elektlabs.cz> napsal(a):
>> U USB, pokud je vysunuto a zasunuto uvolnit a znovu alokovat handle, takze
>> to trochu komplikuje programovani
>> + nejaka detekce, ze nedoslo k prohozeni sbernic.
>
> Ja na detekci pouzivam UDEV.
> Mam levne cinske prevodniky s CP2102. Na webu vyrobce
> http://www.silabs.com/products/Interface/Pages/interface-application-notes.aspx
> je program "CP210x Device Customization", pomoci ktereho se daji menit
> parametry, jako VID a PID.
> Ja na to pouzivam atribut iProduct. Poprve jsem ho pouzil v praci,
> kdyz se mi ztracely prevodniky - svoje jsem si podepsal
> https://pbs.twimg.com/media/CA3q4pNW4AAsbSg.png:large
>
> Prohozeni sbernic resim nasledovne:
> Pomoci programu od Silabs jsem u prevodniku za nazev dopsal "vetev_1".
> V udev mam pravidla, pomoci kterych se mi podle nazvu vytvori
> symlinky. V souboru /etc/udev/rules.d/99-rs485.rules mam:
> SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60",
> ATTRS{product}=="CP2102 USB to UART Bridge Controller vetev_1",
> SYMLINK+="rs485_vetev1"
> SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60",
> ATTRS{product}=="CP2102 USB to UART Bridge Controller vetev_2",
> SYMLINK+="rs485_vetev2"
>
> V dev pak vidim:
> # ls -lh /dev/
> ...
> lrwxrwxrwx  1 root root             7 zář  7 00:03 rs485_vetev1 -> ttyUSB0
> ...
> crw-rw----  1 root dialout   188,   0 zář  7 00:03 ttyUSB0
> ...
> a ve sve aplikaci pracuji s portem /dev/rs485_vetev1
>
> A takhle ho detekuje udeadm:
> $ udevadm info -a -n /dev/ttyUSB0
> ...
>      ATTRS{interface}=="CP2102 USB to UART Bridge Controller vetev1"
> ...
>      ATTRS{product}=="CP2102 USB to UART Bridge Controller vetev1"
> ...
>
>
>
>
>


Další informace o konferenci Hw-list