Obtenez automatiquement le port où Arduino est bloqué en Python

Lors de l'envoi d'une chaîne de caractères en série de Python à Arduino, je pense qu'elle sera écrite comme ça en utilisant pyserial.

import serial

ser = serial.Serial()
ser.baudrate = 9600
ser.port = 2 # COM3->2,COM5->4
ser.open()
ser.write("Hello")

Comme ser.port change à chaque fois que vous connectez ou déconnectez l'USB, vérifiez le port avec Arduino IDE, ser.port =" / dev / tty.usbmodem1451 " pour Mac et COM3 pour Windows, Il est écrit comme ser.port = 2, mais c'est gênant car il change à chaque fois qu'il est inséré ou supprimé, donc une telle méthode d'écriture est également préparée.

import serial
import serial.tools.list_ports

ser = serial.Serial()
ser.baudrate = 9600
ser.port = list(serial.tools.list_ports.comports())[0][0]
ser.open()
ser.write("Hello")

Ce style d'écriture semble échouer en fonction de l'environnement, et si vous êtes sur un Mac, vous pouvez le trouver en recherchant correctement sous / dev, donc quand j'ai essayé ce style d'écriture, cela a bien fonctionné.

ser = serial.Serial()
ser.baudrate = 9600
for file in os.listdir('/dev'):
    if "tty.usbmodem" in file:
        ser.port = '/dev/'+file
        ser.open()

Dans le cas de Windows, il est spécifié par un nombre, vous pouvez donc l'écrire comme ceci.

ser = serial.Serial()
ser.baudrate = 9600
for i in range(100):
  try:
    ser.port = i
    ser.open()
    break
  except:
    i = i

Recommended Posts

Obtenez automatiquement le port où Arduino est bloqué en Python
Obtenez le chemin du bureau en Python
Obtenez le chemin du script en Python
Obtenez le chemin du bureau en Python
Récupère le nom de la classe où la méthode est définie dans le décorateur
Obtenez le nom d'hôte en Python
Comment est le progrès? Continuons le boom ?? en Python
Où est écrit le processus d'instanciation python?
Qu'est-ce que "mahjong" dans la bibliothèque Python? ??
Obtenir la liste de codes EDINET en Python
[Python] Récupérez les fichiers dans le dossier avec Python
Récupérer l'appelant d'une fonction en Python
Qu'est-ce que wheezy dans l'image Docker Python?
À propos de la différence entre "==" et "is" en python
Obtenez le titre de la fenêtre du système X Window en Python
Comment obtenir les fichiers dans le dossier [Python]
Obtenir la région dans laquelle AWS Lambda s'exécute
Obtenir la date en Python
Vérifiez si la chaîne est un nombre en python
Comment obtenir le nom de la variable lui-même en python
[Python] Obtenez les nombres dans l'image graphique avec OCR
[python] Récupère la liste des classes définies dans le module
Obtenez des résultats au format dict avec Python psycopg2
Obtenir la taille (nombre d'éléments) de Union Find en Python
Obtenez la valeur sélectionnée dans le menu déroulant Selenium Python VBA
Obtenez l'URL de la destination de la redirection HTTP en Python
Utilisation de l'application LibreOffice en Python (1) Où sont les macros?
dict conserve maintenant l'ordre de stockage dans python3.7, mais la sortie pprint est automatiquement triée
Obtenez le mois dernier en Python
Obtenez votre fréquence cardiaque à partir de l'API fitbit en Python!
Trouver des erreurs en Python
Obtenez le type MIME en Python et déterminez le format de fichier
Obtenez le nombre d'éléments spécifiques dans la liste python
Obtenir la taille du terminal en Python
[Python] Récupérez le mois précédent
Obtenir explicitement EOF en python
Obtenez la date et l'heure actuelles en Python, en tenant compte du décalage horaire
Obtenez des notes Evernote en Python
Obtenez l'index de chaque élément de la matrice de confusion en Python
Obtenez des synonymes japonais avec Python
Obtenez le symbole boursier d'une action cotée en bourse américaine en Python
Jouez des sons en Python en supposant que le clavier est un clavier de piano
Si vous êtes bloqué dans Impossible de charger mkl_intel_thread.dll en Python sous Windows
Python: Mettez à jour pyenv sans réfléchir et résolvez le phénomène "Où est Python?"
Redimensionner automatiquement les captures d'écran de l'App Store pour chaque écran en Python
python> Afficher 3 fractions au format ".3f, .3f, .3f" / Obtenir 3 valeurs de coordonnées dans la plage [-1: 1]
Supprimer un caractère spécifique en Python s'il s'agit du dernier
Comment déterminer qu'une clé croisée a été entrée dans Python3
Comment utiliser l'astérisque (*) en Python. C'est peut-être tout? ..
Accédez à l'API New Relic en Python pour obtenir l'état du serveur
[Python] La valeur écrite par Openpyxl est affichée sous forme d'exposant (E).
[python] Obtenez le rang des valeurs dans la liste par ordre croissant / décroissant
Obtenez la formule dans le fichier Excel sous forme de chaîne en Python
Que faire lorsque le type de valeur est ambigu en Python?
Obtenez le titre et la date de livraison de Yahoo! News en Python
Obtenez le nombre de lecteurs d'articles sur Mendeley en Python
Obtenez des données LeapMotion en Python.
Différence entre == et est en python
Python dans le navigateur: la recommandation de Brython