GNU/Linux >> Tutoriels Linux >  >> Linux

Comment envoyer des données à un port série et voir une réponse ?

Sous Linux, je souhaite envoyer une chaîne de commande (c'est-à-dire des données) à un port série (contenant des caractères de contrôle) et écouter la réponse (qui peut également contenir des caractères de contrôle).

Comment puis-je faire cela le plus simplement possible sous Linux? Un exemple est apprécié !

Réponse acceptée :

Tous les périphériques sous Unix sont mappés sur un fichier de périphérique, les ports série seraient /dev/ttyS0 /dev/ttyS1 … .

Jetez d'abord un coup d'œil aux autorisations sur ce fichier, supposons que vous utilisez /dev/ttyS1 .

ls -l /dev/ttyS1

Vous voudrez un accès en lecture.écriture, s'il s'agit d'un système partagé, vous devez tenir compte des conséquences sur la sécurité de son ouverture pour tout le monde.

chmod o+rw /dev/ttyS1

Une méthode brute très simple pour écrire dans le fichier, utiliserait le simple echo commande.

echo -ne '
Linux
  1. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  2. Comment mapper les périphériques /dev/sdX et /dev/mapper/mpathY à partir du périphérique /dev/dm-Z

  3. Que sont les fichiers /dev/zero et /dev/null sous Linux

  4. Comment encoder en base64 /dev/random ou /dev/urandom ?

  5. Quand dois-je utiliser /dev/shm/ et quand dois-je utiliser /tmp/?

Comment échanger /dev/sda avec /dev/sdb ?

Comment savoir quel /dev/ttyS* est mon port série ?

Comment Linux utilise /dev/tty et /dev/tty0

Est-ce une erreur de lier /dev/random à /dev/urandom sous Linux ?

echo ou print /dev/stdin /dev/stdout /dev/stderr

Pourquoi < ou > sont-ils nécessaires pour utiliser /dev/tcp