[bglug] Controllare pc dalla seriale con arduino
Giuseppe Capizzi
redstarlabs@gmail.com
Lun 14 Lug 2008 14:56:19 CEST
Il giorno dom, 13/07/2008 alle 23.09 +0200, emuboy ha scritto:
> "tail -f /dev/ttyUSB0 | bash "
>
> ecco un ottima risposta, l'unico problema è che non
> funziona....ovvero...se faccio "tail -f /dev/ttyUSB0" e l'arduino
> manda su "/usr/bin/play" (il mio comando che punta a uno script) e
> per me fin qui va tutto bene, ma se gli do "| bash " bash non capisce
> il comandi,quasi fosse corrotto...
Ho provato a fare la stessa cosa sostituendo a /dev/ttyUSB0 un file di
testo e facendo
$ echo "ls -l" >> file.txt
e tutto funziona. Se uso > anziché >> (cioè sostituisco il contenuto del
file anziché aggiungere le righe in coda) invece non funziona e dice che
"il file è stato troncato". Tu non ricevi nessun errore?
> sono nel buio più completo...mi
> manca forse un carattere endline oppure dimentico qualcosa?
Prova a postare l'output dei tuoi esperimenti, con e senza il "|bash".
Altra domanda: una volta letto, il device si presenta come un file vuoto
finché non viene riscritto o conserva il contenuto?
Solo nel *primo* caso potresti provare ste 2 righe di python...
---8<---cut here---8<---
#!/usr/bin/env python
from time import sleep as sleep
from os import system as system
while True:
system(open('/dev/ttyUSB0', 'r').read())
sleep(1.0)
---8<---cut here---8<---
Ti basta incollarle in un file, renderlo eseguibile e lanciarlo. Ad ogni
secondo legge il contenuto del device e lo esegue.
Attento perché se il device dopo la lettura non si "svuota" il comando
viene eseguito ad oltranza...
--
Giuseppe Capizzi
Maggiori informazioni sulla lista
bglug