Holen Sie sich automatisch den Port, an dem Arduino in Python steckt

Wenn Sie eine Zeichenkette seriell von Python an Arduino senden, wird sie meiner Meinung nach mit pyserial so geschrieben.

import serial

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

Da sich ser.port jedes Mal ändert, wenn Sie den USB-Anschluss anschließen oder trennen, überprüfen Sie den Anschluss mit der Arduino-IDE "ser.port =" / dev / tty.usbmodem1451 "" für Mac und COM3 für Windows " Es wird als ser.port = 2` geschrieben, ist jedoch problematisch, da es sich jedes Mal ändert, wenn es eingefügt oder entfernt wird. Daher wird auch eine solche Schreibmethode vorbereitet.

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")

Dieser Schreibstil scheint je nach Umgebung fehlzuschlagen. Wenn Sie einen Mac verwenden, können Sie ihn finden, indem Sie unter / dev richtig suchen. Als ich diesen Schreibstil ausprobierte, funktionierte er einwandfrei.

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

Im Fall von Windows wird es durch eine Nummer angegeben, sodass Sie es so schreiben können.

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

Recommended Posts

Holen Sie sich automatisch den Port, an dem Arduino in Python steckt
Holen Sie sich den Desktop-Pfad in Python
Holen Sie sich den Skriptpfad in Python
Holen Sie sich den Desktop-Pfad in Python
Rufen Sie den Klassennamen ab, in dem die Methode im Dekorator definiert ist
Holen Sie sich den Hostnamen in Python
Wie ist der Fortschritt? Lassen Sie uns mit dem Boom in Python weitermachen
Wo ist der Python-Instanziierungsprozess geschrieben?
Was ist "Mahjong" in der Python-Bibliothek? ??
Ruft die EDINET-Codeliste in Python ab
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Holen Sie sich den Aufrufer einer Funktion in Python
Was ist im Docker Python-Image pfeifend?
Über den Unterschied zwischen "==" und "is" in Python
Ruft den Fenstertitel des X-Fenstersystems in Python ab
So erhalten Sie die Dateien im Ordner [Python]
Holen Sie sich die Region, in der AWS Lambda ausgeführt wird
Holen Sie sich Datum in Python
Überprüfen Sie, ob die Zeichenfolge eine Zahl in Python ist
So erhalten Sie den Variablennamen selbst in Python
[Python] Holen Sie sich die Zahlen im Diagramm mit OCR
[Python] Ruft die Liste der im Modul definierten Klassen ab
Mit Python psycopg2 erhalten Sie Ergebnisse im Diktatformat
Ermitteln Sie die Größe (Anzahl der Elemente) von Union Find in Python
Rufen Sie den im Pulldown-Menü Selenium Python VBA ausgewählten Wert ab
Rufen Sie die URL des HTTP-Umleitungsziels in Python ab
dict behält jetzt die Speicherreihenfolge in python3.7 bei, aber die pprint-Ausgabe wird automatisch sortiert
Holen Sie sich letzten Monat in Python
Holen Sie sich Ihre Herzfrequenz von der Fitbit-API in Python!
Finde Fehler in Python
Holen Sie sich den MIME-Typ in Python und bestimmen Sie das Dateiformat
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Holen Sie sich die Terminalgröße in Python
[Python] Holen Sie sich den Vormonat
Holen Sie sich explizit EOF in Python
Holen Sie sich das aktuelle Datum und die aktuelle Uhrzeit in Python unter Berücksichtigung des Zeitunterschieds
Holen Sie sich Evernote-Notizen in Python
Ruft den Index jedes Elements der Verwirrungsmatrix in Python ab
Holen Sie sich japanische Synonyme mit Python
Holen Sie sich das Tickersymbol für eine an der US-Börse notierte Aktie in Python
Spielen Sie Sounds in Python ab, vorausgesetzt, die Tastatur ist eine Klaviertastatur
Wenn Sie nicht weiterkommen, können Sie mkl_intel_thread.dll in Python unter Windows nicht laden
Python: Aktualisieren Sie pyenv ohne nachzudenken und lösen Sie das Phänomen "Wo ist Python?"
Ändern Sie automatisch die Größe von Screenshots für den App Store für jeden Bildschirm in Python
Python> 3 Brüche im Format ".3f, .3f, .3f" anzeigen / 3 Koordinatenwerte im Bereich [-1: 1] abrufen
Löschen Sie ein bestimmtes Zeichen in Python, wenn es das letzte ist
So stellen Sie fest, dass in Python3 ein Kreuzschlüssel eingegeben wurde
Verwendung von Sternchen (*) in Python. Vielleicht ist das alles? ..
Klicken Sie in Python auf die New Relic-API, um den Status des Servers abzurufen
[Python] Der von Openpyxl geschriebene Wert wird als Exponent (E) angezeigt.
[Python] Ermittelt den Rang der Werte in der Liste in aufsteigender / absteigender Reihenfolge
Rufen Sie die Formel in der Excel-Datei als Zeichenfolge in Python ab
Was tun, wenn der Werttyp in Python nicht eindeutig ist?
Holen Sie sich den Titel und das Lieferdatum von Yahoo! News in Python
Holen Sie sich die Anzahl der Leser von Artikeln über Mendeley in Python
Holen Sie sich LeapMotion-Daten in Python.
Unterschied zwischen == und ist in Python
Python im Browser: Brythons Empfehlung