Sto usando un dispositivo seriale per un progetto, e quello che sto cercando di realizzare sul lato PC, è ascoltare un comando inviato dal dispositivo seriale, interpretare la query, eseguire codice in base alla query e trasmettere di nuovo il risultato.Interprete e interprete di porte seriali Linux?
A dire il vero ho provato a utilizzare PHP come ascoltatore e funziona, purtroppo il ciclo infinito richiesto per far funzionare lo script come ricevitore, carica la CPU al 25%. Quindi non è davvero l'opzione migliore.
Attualmente sto usando cygwin, mi piacerebbe creare uno script bash usando i comandi nativi di linux.
posso ricevere dati utilizzando:
cat /dev/ttyS2
E inviare una risposta con:
echo "command to send" > /dev/ttyS2
La mia domanda è, come faccio a fare un ascoltatore automatizzato per essere in grado di ricevere e inviare dati ? Il problema principale che ho, è in realtà come faccio a interrompere il comando cat/dev/ttyS2 una volta che le informazioni sono state ricevute, metterle in una variabile che poi potrei confrontare con un interruttore o una serie di if else then blocks. In seguito rispedisci una risposta e ricomincia il ciclo?
Grazie
bash non sarebbe la mia prima scelta. Potrebbe essere un buon momento per provare un po 'di python o perl - entrambi hanno librerie ed esempi per questo. – stark
Oppure prova ad usare la programmazione del sistema C e linux. Ancora. Stai cercando di creare un tipo di programma client-server nello script di bash? – askmish
Ho provato ad usare C++, tuttavia non ho mai messo le mani su quel tipo di linguaggio di programmazione, quindi non ho funzionato .. Usare bash ha più senso per me, dato che posso usare facilmente sia Windows che Linux con Cygwin . Un comando può usare un file eseguibile o bat di Windows per salvare l'output su una variabile che io passo al dispositivo seriale, e posso usare comandi Linux (come wget) sull'altra linea senza dover scrivere un'intera funzione da fare quindi in C++. – Matt