Re: Oddělovač CR v bashi

Milan Suchánek such na spi.cz
Středa Září 11 07:54:34 CEST 2013


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
> 
> _______________________________________________
> Linux mailing list
> Linux na linux.cz
> http://www.linux.cz/mailman/listinfo/linux






Další informace o konferenci Linux