Oddělovač CR v bashi

Ladislav Vaiz spam na nagano.cz
Středa Září 11 08:33:38 CEST 2013


Psal jsem to v mailu, posílá teplotu sám po cca 10 sekundách. Takže mám 
démona, co to ukládá do souboru a sonda z nagiosu testuje obsah a stáří 
souboru.
L.

Milan Suchánek napsal(a):
> Zdravím,
>
>
> a tento Váš teploměr pasivně posílá data, nebo jde o variantu typu  modul Quido s připojeným teploměrem, kde je na vyčítání teploty nutné po sériáku poslat nějaký příkaz. Toto je přímo postup od Papoucha, snad to pomůže:
>
>
> #!/bin/bash                                                                                                                                                                     
>
> exec 4< /dev/ttyUSB1                                                                                                                                                            
> echo -en "$1\r" > /dev/ttyUSB1                                                                                                                                                  
> read -u 4 vystup                                                                                                                                                                
> echo $vystup 
>
>
> s pozdravem
>
> Milan Suchánek
>
>
> 10. 9. 2013 v 20:47, Ladislav Vaiz:
>
>   
>> Ahoj,
>> mám zařízení (Papouchovo teploměr), které posílá 1x za cca 10s po sériovém portu teplotu jako ASCII znaky zakončené CR. Jak to zpracovat ve skriptu?
>> Zkoušel jsem:
>> 1) Změnit je na LF přes tr '\r' '\n'. Na terminál funguje, do roury nic nevypíše, zřejmě bufferování výstupu, které neumím vypnout
>> 2) sed -u 's/\r/\n/' mi nefungoval. Možná napřed čeká na '\n' kvůli zpracování celé řádky?
>> 3) IFS=$'\r' cat /dev/ttyUSB | while read a; do echo $a; done mi taky nefungovalo.
>>
>> Nakonec jsem se naštval a vyřešil to programem v C, ale zajímalo by mě, jak na to v bashi.
>> Díky Láďa
>>     




Další informace o konferenci Linux