Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: čtení dat z /dev/ttyUSB0  (Přečteno 4409 krát)

usobak

  • Aktivní člen
  • *
  • Příspěvků: 85
čtení dat z /dev/ttyUSB0
« kdy: 19 Prosince 2013, 10:03:28 »
Dobrý den,

řeším problém se čtením dat z /dev/ttyUSB0 (používám převodník USB - rs485). Pod win vše ok pod linuxem data odešlu, převodník signalizuje příjem a odeslání dat zpět do pc ale při čtení málo kdy hodnotu načtu. Testuji v terminálu pomocí

sudo echo *B1TR > /dev/ttyUSB0 - poslání žádosti s vrácení stavu teploměru

sudo cat < /dev/ttyUSB0 - příjem dat

z 10ti pokusů se mi data pod linuxem vrátí cca 1x. příjde mi , že nějaká aplikace naslouchá na /dev/ttyUSB0 a danou hodnotu mi bere.

Nebudete mít radu co s daným problémem?

Moc děkuji :-)
FSC V5505, C2D T8100 (2x 2.1GHz, 800MHz, 45nm), 2x 2GB DDR II, 320 GB HDD, Windows 7 64b

Myrmica

  • Závislák
  • ***
  • Příspěvků: 1701
    • MYRMICA
Re:čtení dat z /dev/ttyUSB0
« Odpověď #1 kdy: 19 Prosince 2013, 10:46:34 »
1. Uživatel pod kterým to spouštíš musí být členem skupiny dialout
2. Jak nastavuješ parametry sériového portu? Může být špatně nastaveno řízení komunikace
Stolní strojek: OS– UBUNTU 16.04 x86_64, MB ASUS P8 Z68-V/GEN3, Intel® Core™ i5-3470 CPU @ 3.20GHz × 4 , 16GiB DDR3, GeForce GTX 670...
Notebook: ASUS U53Jc OS– UBUNTU 16.04 x86_64, Windows 7, Processor – Intel Core i5-460M (2,53 GHz), Graphics – switchable NVIDIA GeForce 310M and Intel GMA HD

usobak

  • Aktivní člen
  • *
  • Příspěvků: 85
Re:čtení dat z /dev/ttyUSB0
« Odpověď #2 kdy: 19 Prosince 2013, 10:55:20 »
aplikaci mám v PHP, přidal jsem uživatele www-data do dané skupiny pomocí příkazu:
$ sudo usermod -G www-data,dialout www-data
z terminálu se prvně vždy přihlasím pod rootem pomocí sudo -i a nasledně testuji.

k nastavení rychlosti, stopbitů a dalších - vypsal jsem si výchozí konfiguraci portu a ta je schodná s čidlem , které používám. Stejné nastavení pod win funguje.
FSC V5505, C2D T8100 (2x 2.1GHz, 800MHz, 45nm), 2x 2GB DDR II, 320 GB HDD, Windows 7 64b

Myrmica

  • Závislák
  • ***
  • Příspěvků: 1701
    • MYRMICA
Re:čtení dat z /dev/ttyUSB0
« Odpověď #3 kdy: 19 Prosince 2013, 11:11:03 »
Mrkni sem třeba Ti to pomůže, je tu jak nastavit sériové porty a jak s nimi pracovat: http://www.abclinuxu.cz/clanky/hardware/seriova-komunikace-pod-linuxem-i
V seriovém portu jsem doma, ale nedělám s ním přes bash :)
Stolní strojek: OS– UBUNTU 16.04 x86_64, MB ASUS P8 Z68-V/GEN3, Intel® Core™ i5-3470 CPU @ 3.20GHz × 4 , 16GiB DDR3, GeForce GTX 670...
Notebook: ASUS U53Jc OS– UBUNTU 16.04 x86_64, Windows 7, Processor – Intel Core i5-460M (2,53 GHz), Graphics – switchable NVIDIA GeForce 310M and Intel GMA HD

Myrmica

  • Závislák
  • ***
  • Příspěvků: 1701
    • MYRMICA
Re:čtení dat z /dev/ttyUSB0
« Odpověď #4 kdy: 19 Prosince 2013, 11:13:05 »
Ještě připomínka, největší problém mi, po vyřešení přístupových práv, dělalo řízení toku dat. Zkontroluj si to.
Stolní strojek: OS– UBUNTU 16.04 x86_64, MB ASUS P8 Z68-V/GEN3, Intel® Core™ i5-3470 CPU @ 3.20GHz × 4 , 16GiB DDR3, GeForce GTX 670...
Notebook: ASUS U53Jc OS– UBUNTU 16.04 x86_64, Windows 7, Processor – Intel Core i5-460M (2,53 GHz), Graphics – switchable NVIDIA GeForce 310M and Intel GMA HD

Myrmica

  • Závislák
  • ***
  • Příspěvků: 1701
    • MYRMICA
Re:čtení dat z /dev/ttyUSB0
« Odpověď #5 kdy: 19 Prosince 2013, 13:05:14 »
Ještě pro zkoušení práce se sériovými porty celkem úspěšně používám gtkterm.
Kód: [Vybrat]
sudo apt-get -y install gtkterm
Stolní strojek: OS– UBUNTU 16.04 x86_64, MB ASUS P8 Z68-V/GEN3, Intel® Core™ i5-3470 CPU @ 3.20GHz × 4 , 16GiB DDR3, GeForce GTX 670...
Notebook: ASUS U53Jc OS– UBUNTU 16.04 x86_64, Windows 7, Processor – Intel Core i5-460M (2,53 GHz), Graphics – switchable NVIDIA GeForce 310M and Intel GMA HD

usobak

  • Aktivní člen
  • *
  • Příspěvků: 85
Re:čtení dat z /dev/ttyUSB0
« Odpověď #6 kdy: 28 Prosince 2013, 23:14:54 »
Děkuji za rady, problém byl v nastavení portu, pomohlo nastavení

stty -F /dev/ttyUSB0 1:0:cbd:0:3:1c:7f:15:4:1:3c:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0

prosím o radu, jak toto natavení mohu uložit natrvalo?

Děkuji
FSC V5505, C2D T8100 (2x 2.1GHz, 800MHz, 45nm), 2x 2GB DDR II, 320 GB HDD, Windows 7 64b

Myrmica

  • Závislák
  • ***
  • Příspěvků: 1701
    • MYRMICA
Re:čtení dat z /dev/ttyUSB0
« Odpověď #7 kdy: 31 Prosince 2013, 07:10:55 »
Dát do skriptu a ten spouštět v Aplikace spouštěné při přihlášení?
EDIT: Protože se však jedná o USB nebude při startu k dispozici. pak doporučuji se podívat na setserial. Dá se tam prokousat ke konfiguračním souborům, ale teď jsem na PC kde jsem RS232ToUSB převodník ještě nepoužíval, tak nejsem schopen nalézt podrobnosti. Zejména si prohlédni skript /etc/init.d/setserial.
« Poslední změna: 31 Prosince 2013, 07:56:24 od Myrmica »
Stolní strojek: OS– UBUNTU 16.04 x86_64, MB ASUS P8 Z68-V/GEN3, Intel® Core™ i5-3470 CPU @ 3.20GHz × 4 , 16GiB DDR3, GeForce GTX 670...
Notebook: ASUS U53Jc OS– UBUNTU 16.04 x86_64, Windows 7, Processor – Intel Core i5-460M (2,53 GHz), Graphics – switchable NVIDIA GeForce 310M and Intel GMA HD

usobak

  • Aktivní člen
  • *
  • Příspěvků: 85
Re:čtení dat z /dev/ttyUSB0
« Odpověď #8 kdy: 02 Ledna 2014, 09:25:59 »
Vyřešil jsem to tak, že před prácí s převodníkem z PHP pošlu vždy nastavení konfigurace na port a funguje to :-)
FSC V5505, C2D T8100 (2x 2.1GHz, 800MHz, 45nm), 2x 2GB DDR II, 320 GB HDD, Windows 7 64b

Myrmica

  • Závislák
  • ***
  • Příspěvků: 1701
    • MYRMICA
Re:čtení dat z /dev/ttyUSB0
« Odpověď #9 kdy: 02 Ledna 2014, 14:29:52 »
Ano, to je řešení pro hotovou aplikaci, které také obvykle používám. (Asi nejpoužívanější řešení.)
Pokud budeš chtít komunikovat z terminálu, pak budeš muset nejspíše před vlastní komunikací spouštět skript s nastavením.
Ale z tvého popisu problému jsem pochopil, že pro práci se sériovým portem potřebuješ mít hned po startu PC, je-li převodník připojen k USB, nebo při zapojení převodníku, mít nastavené komunikační parametry, aby jsi s ním mohl rovnou pracovat pomocí příkazů z terminálu, a k tomu směřovala i moje nápověda.
Stolní strojek: OS– UBUNTU 16.04 x86_64, MB ASUS P8 Z68-V/GEN3, Intel® Core™ i5-3470 CPU @ 3.20GHz × 4 , 16GiB DDR3, GeForce GTX 670...
Notebook: ASUS U53Jc OS– UBUNTU 16.04 x86_64, Windows 7, Processor – Intel Core i5-460M (2,53 GHz), Graphics – switchable NVIDIA GeForce 310M and Intel GMA HD

 

Provoz zaštiťuje spolek OpenAlt.