12
votes

Comment puis-je utiliser les ports COM et USB dans Cygwin?

Je veux envoyer / recevoir des données de mon tableau Arduino avec un script Python. J'aimerais le faire en utilisant Python et son module pysérien qui semble correspondre à mes besoins. Donc j'ai installé python et pysérien dans les cygwin (Windows XP derrière).

Le script Python est plutôt simple: p> xxx pré>

Cependant, au moment de l'exécution, je reçois l'erreur suivante. p> xxx pré>

Impossible d'ouvrir le port 26: [errno 2] Aucun fichier ou répertoire de ce type: '/ dev / com27' p> BlockQuote>

Comment savoir mon Arduino est connecté à Port COM27? P>

Eh bien, c'est simple. L'IDE Arduino l'indique, je peux envoyer et recevoir des données de l'outil de moniteur de port série pour l'IDE en utilisant ce port. En outre, j'ai réussi à obtenir le travail hyperterminal en utilisant également ce port. P>

Cependant, il semble que Cygwin n'est pas au courant de tels ports USB et COM: P>

$ ls -lah /dev
total 4,0K
.
..
fd -> /proc/self/fd
mqueue
shm
stderr -> /proc/self/fd/2
stdin -> /proc/self/fd/0
stdout -> /proc/self/fd/1


4 commentaires

Pourquoi Cygwin? Supports pysériens WIN32 Nativement.


Parce que c'est tellement facile d'installer des packages et j'avais d'autres personnes à installer aussi. va essayer le python win32 natif alors je suppose


d'accord. Essayé que (Python natif sur Windows + Installateur Windows natif PYSERIAL) et le même code fonctionne comme prévu ... bizarre. mais j'ai vraiment besoin de comprendre pourquoi utiliser Cygwin ne fonctionne pas ici, j'ai le sentiment que c'est un problème de Cygwin, et non rien de liée à Python, je suppose


C'est un problème de cygwin - il n'apparaît pas mapper des ports COM sur l'espace de noms "/ dev". Je ne suis pas sûr que c'est capable de le faire.


5 Réponses :


1
votes

Si vous utilisez un ordinateur portable sans port COM, vous ne pouvez pas ouvrir ce port et commencer à effectuer des opérations.

dans Windows, il existe une fonction pour ouvrir ce port et modifier l'état de certaines lignes (TVR), lire des états et faire la transmission. Pour un port LPT, vous ne pouvez pas le faire sous Windows, vous devez utiliser une bibliothèque. Pour USB, il s'agit également de problème, vous devez connaître l'appareil connecté à USB.


0 commentaires

12
votes

Si HyperTerminal peut y accéder, il est installé comme un "port COM virtuel". Cygwin vous permettra d'y accéder comme / dev / ttys26 (appelé COM27 par Windows). Vous pouvez toujours avoir un problème avec le blocage des entrées jusqu'à ce qu'un CR soit reçu - je le fais. (Essayer de résoudre que est comme ça que j'ai trouvé ce .)


4 commentaires

Avez-vous déjà résolu? Je suis sur le point d'essayer d'utiliser un port série de Cygwin. Utilisant de préférence une sorte de logiciel terminal pour elle ...


Je n'ai jamais résolu celui-là. Et j'ai essayé des choses assez exotiques. Le mot dans la rue (forums liés à Cygwin) semble être que ce n'est pas possible.


Ok, j'ai trouvé un poteau de blog, qui fait ce que je veux, presque. Je peux modifier les pièces manquantes. La commutation commune fonctionne bien! plunk.org/~grantham/cgi-bin/blog. cgi? id = 00015


@Kaos. Merci pour le lien. J'essaie d'obtenir l'écran Travailler dans Cygwin avec un port série, sans succès. Serial semble fonctionner bien!



3
votes

mon fav est xxx pré>

il est COM16 (déjà configuré par Windows sur 115200, NOPARITY, NON-Flow, 8B) P>

Vous avez besoin de: P>

tty strong> et SOCAT STRT> P>


socat.exe - /dev/ttyS15,raw,echo=0,setsid,sane


0 commentaires

0
votes

J'ai trouvé Brad L'outil de Grantham très utile et l'utilise de manière approfondie au travail. Il est si facile de construire et d'utiliser.

Je suis juste en train de poster ici pour mentionner que j'ai corrigé un bogue dans celui-ci où il quitterait si vous avez tapé Tilde, un autre texte, puis un point. Donc, par exemple en tapant:

vim ~ / .tmux.conf vous éjecte de la session de série.

Vous pouvez le trouver ici: https://github.com/lime45/servial


0 commentaires

5
votes

Les ports série dans Windows sont mappés sur Cygwin comme suit:

com -> / dev / ttys

par exemple COM3 -> / dev / ttys2

l'exemple.py peut être réécrit pour l'ouverture COM3 comme suit: xxx


0 commentaires