Récupération d'un code erreur sur périphérique série

Bonjour à tous, j’ai une petite question:

Comment récupérer la valeur de retour d’une commande lancée sur un périphérique branché en série (via un connecteur USB to Serial donc sur le /dev/ttyUSB0).

En gros, j’ai un module Siemens TC35i, je lui lance la commande “AT” (pour voir si il répond), et je voudrai récupérer la valeur de retour pour la contrôler dans mon script bash.

Précisions:

  • J’utilise screen pour me connecter: screen /dev/ttyUSB0 9600.
  • Je lance mes commandes en utilisant printf, donc là dans mon script ça donne: printf ‘at\r’ > /dev/ttyUSB0
    Le but étant de lire la valeur de retour “OK” si elle existe (et si c’est pas “ERROR” ) pour contrôler sa présence dans mon script.
  • Le classique “$?” ne marche pas car la commande passe bien, j’ai donc un code erreur à 0 même si j’ai eu un problème sur le périphérique série.

Au même titre que tu lui envoies des commandes sur stdout (avec echo/printf), tu lis les réponses sur stdin (avec read par exemple).