Question Comment relier deux ports série dans GNU / Linux?


Je dois avoir un port série pour recevoir des données et un autre pour transmettre les mêmes données. Comment puis-je effectuer une telle configuration dans GNU / Linux. L'un sera un port créé par Bluetooth et un autre sera un adaptateur USB vers série.

Je vais probablement utiliser la dernière version de Mint 64 bits (12, si ma mémoire est bonne).


4
2018-03-21 18:03


origine




Réponses:


socat peut gérer les ports série.

Normalement, il est utilisé avec des interfaces réseau et peut relayer des données, mais il gère également les appareils TTY série. Les exemples dans le lien ci-dessus n'incluent pas le relais série-série, mais à partir de ces exemples, vous pouvez probablement déterminer les paramètres de commande qui doivent accomplir cela.


Mettre à jour:

Pour relier le port série ttyS0 à un autre port série:

 socat /dev/ttyS0,raw,echo=0,crnl /dev/ttyS1,raw,echo=0,crnl

de http://technostuff.blogspot.co.uk/2008/10/some-useful-socat-commands.html

socat a également des options pour que vous puissiez, si vous le souhaitez, enregistrer les données relayées.


7
2018-03-21 21:11





Pour une procédure rapide et sale, configurez une émulateur de terminal programme, tel que minicom, pour chaque port série. Cela vous donnera une interface interactive en duplex intégral pour le transfert de texte entre les ports. Plusieurs protocoles de transfert de modem sont intégrés pour les transferts de fichiers et de données binaires.

Pour un transfert de données plus complexe, par ex. En manipulant une partie du format / protocole de données personnalisé, vous devrez écrire un programme pour accéder au port série afin de gérer les données.

METTRE À JOUR

Veuillez fournir plus de détails sur ce que vous essayez de faire. Les deux ports série doivent-ils être connectés au même ordinateur ou à chaque port sur un seul PC? Y a-t-il une raison pour laquelle les deux ports série ne peuvent pas être connectés l'un à l'autre si tel est le but de cette "question de liaison"?

L'un des "ports série" étant un adaptateur USB-RS232, il n'y a aucune raison de connecter chaque port série à un PC. Connectez les deux ports série l'un à l'autre (un adaptateur de connecteur peut être nécessaire), puis branchez le périphérique USB sur un PC. Utilisez un programme d'émulation de terminal pour gérer le port série maintenant connecté au PC.

Bluetooth <---->  USB adapter  <--->  PC

2
2018-03-21 18:50



Semble intéressant. Existe-t-il un moyen (relativement facile) de dire un fichier de capture de canalisation pour qu'un processus de minicom transmette ce que l'autre reçoit? Dans le pire des cas, même coller un fichier de capture dans une autre fenêtre pourrait suffire. - AndrejaKo
Vous pouvez enregistrer (enregistrer) tout ce qui est envoyé et reçu à chaque programme de minicom. La journalisation peut être désactivée / mise en pause et réactivée en utilisant des frappes. Vous devez arrêter de vous connecter complètement pour commencer à enregistrer dans un fichier journal différent. - sawdust
Bluetooth prend en charge l'émulation série lorsque des adaptateurs Bluetooth des deux appareils créent des ports série virtuels qui, sous forme de logiciels, apparaissent comme de véritables ports série. La pile Bluetooth du système d'exploitation est généralement utilisée pour cela et les adaptateurs Bluetooth qui ont de véritables ports série matériels sont coûteux et (du moins pour moi) difficiles à obtenir. Mon téléphone portable possède un récepteur GPS et un logiciel capable d'envoyer des phrases NMEA via le port série Bluetooth que je peux recevoir sur un émulateur de terminal sur mon PC et je souhaite le rediriger vers un microcontrôleur qui traitera ultérieurement ces données. - AndrejaKo
Le microcontrôleur sera ensuite utilisé avec un récepteur GPS doté d'un véritable port série que je n'ai pas pour le moment et je souhaite utiliser le téléphone portable pour développer des logiciels sur le microcontrôleur car les deux modules émettent le type de phrase NMEA I avoir besoin. - AndrejaKo
Merci pour la clarification. J'espère que vous trouvez une solution. - sawdust