Portál AbcLinuxu, 12. května 2025 21:48

Dotaz: Čtení z portu a ukončení

11.12.2009 11:32 portman
Čtení z portu a ukončení
Přečteno: 212×
Odpovědět | Admin
Dobrý den,

Řeším situaci, kdy je třeba číst z portu /dev/ttyUSB0.
Rychlost   9600 Baud 
Počet datových bitů  8 
Parita   žádná 
Počet stopbitů  1 
Používám BASH. Chtěl bych docílit stavu kdy je hodnota z Portu ( teplotní čidlo ) načtena do proměnné a opravdu tam byla ( nikoliv treba pulka toho co se z portu nacetlo ) a čtení ukončeno, tak aby mohl skript dále pokračovat ve zpracování. Zkoušel jsem cat /dev/ttyUSB0 , to ovšem čte stále dokola a neukončí se.

Díky za každou radu.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.12.2009 12:03 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Čtení z portu a ukončení
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na to by bylo potřeba vědět, jak vypadá formát těch dat, která vám čidlo posílá.
11.12.2009 13:31 portman
Rozbalit Rozbalit vše Re: Čtení z portu a ukončení
*B1E1+005.1

hodnoty se pohybuji od -055.0 az +125.0
11.12.2009 13:43 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Čtení z portu a ukončení
Jestli je to text po řádcích, tak je v shellovém skriptu asi nejjednodušší číst to příkazem read ve while cyklu a následně zpracovat.
11.12.2009 14:33 portman
Rozbalit Rozbalit vše Re: Čtení z portu a ukončení
Již jsem zkusil příkaz pod touto odnoží a funguje. Díky za nakopnutí.
11.12.2009 12:37 komodo | skóre: 27 | blog: komodo
Rozbalit Rozbalit vše Re: Čtení z portu a ukončení
Odpovědět | | Sbalit | Link | Blokovat | Admin
Delal jsem si na tohle plugin do nagiosu a pouzivam tam tohle
    read -t $timeout out < $device

    if [ "$?" != "0" ]; then
    echo "CRITICAL: Sensor timeout after $timeout sec"
    exit $STATE_CRITICAL
    fi

    if [ "$out" == "Err" ]; then
    echo "CRITICAL: Sensor ERROR"
    exit $STATE_CRITICAL
    fi
Samozrejme je potreba zmenit promenne $timeout a $device a v $out je pak vystup.

Je to jenom priklad, snad to pomuze.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.