Einführung in die serielle Kommunikation [Python]

Einführung

Es ist ein einfaches "** Erste Schritte zum Kennenlernen und Implementieren der seriellen Kommunikation **".

Was ist serielle Kommunikation?

Serielle Kommunikation: Eine Kommunikationsmethode, die digitale Daten Stück für Stück sequentiell überträgt Parallele Kommunikation: Kommunikationsmethode zur gleichzeitigen Übertragung mehrerer Bits digitaler Daten

Kommunikationsmethode Vorteile Nachteile
Serielle Kommunikation kostengünstig langsam
Parallele Kommunikation Hohe Kosten schnell

Wenn Sie mehr wissen möchten, wird dieser Artikel empfohlen. Ich habe versucht, die serielle Kommunikationsmethode für Anfänger elektronischer Arbeit leicht verständlich zusammenzufassen

Implementiert in Python (pyserial)

Installieren Sie pyserial

Drücken Sie zuerst den folgenden Befehl, um das Paket zu installieren. (Sie müssen nicht $ eingeben.)

python


$ pip install pyserial

Suchen Sie nach Geräten, die kommunizieren können

Suchen Sie zunächst nach Geräten, die kommunizieren können. Versuchen Sie, den folgenden Befehl auszuführen. (Die zweite Zeile ist die Antwort vom Terminal.)

python


$ ls -l /dev/tty.*
crw-rw-rw-  1 root  wheel   18,   0 11 28 17:48 /dev/tty.Bluetooth-Incoming-Port

Es wurde ein Gerät namens "/ dev / tty.Bluetooth-Incoming-Port" gefunden.

Lesen

Als nächstes lesen wir es.

read.py


import serial

readSer = serial.Serial('/dev/tty.Bluetooth-Incoming-Port',9600, timeout=3)
c = readSer.read() # 1 byte
string = readSer.read(10) # 10 byte
line = readSer.readline() # 1 line (upto '\n')
print("Read Serial:")
print(c)
print(string)
print(line)
readSer.close()

Codebeschreibung

  1. Installieren Sie das Paket.
  2. Stellen Sie den Gerätenamen, die Baudrate (Kommunikationsgeschwindigkeit) und das Timeout ein und öffnen Sie den Port.
    (serial.Serial (Gerätename, Baudrate, Timeout))
  3. Lesen und drucken.
  4. Schließen Sie den Port.

Schreiben

write.py


import serial

serialCommand = "test"
writeSer = serial.Serial('/dev/tty.Bluetooth-Incoming-Port',9600, timeout=3)
writeSer.write(serialCommand.encode())
writeSer.close()

Codebeschreibung

  1. Installieren Sie das Paket.
  2. Stellen Sie den Gerätenamen, die Baudrate (Kommunikationsgeschwindigkeit) und das Timeout ein und öffnen Sie den Port.
    (serial.Serial (Gerätename, Baudrate, Timeout))
  3. Codieren und schreiben Sie den Befehl, den Sie senden möchten.
  4. Schließen Sie den Port.

Ganzer Beispielcode

main.py


import serial

print("===== Start Program =====\n")

# Set Parameter
deviceName = '/dev/tty.Bluetooth-Incoming-Port'    # search by `ls -l /dev/tty.*`
baudrateNum = 9600
timeoutNum = 3
print("===== Set Parameter Complete =====\n")

# # Read Serial
readSer = serial.Serial(deviceName, baudrateNum, timeout=timeoutNum)
c = readSer.read()
string = readSer.read(10)
line = readSer.readline()
print("Read Serial:")
print(c)
print(string)
print(line)
readSer.close()
print("===== Read Serial Complete =====\n")

# Write Serial
serialCommand = "test"
writeSer = serial.Serial(deviceName, baudrateNum, timeout=timeoutNum)
writeSer.write(serialCommand.encode())
writeSer.close()
print("===== Write Serial Complete =====\n")

print("===== End Program =====\n")

Verweise

Recommended Posts

Einführung in die serielle Kommunikation [Python]
Serielle Kommunikation mit Python
Serielle Kommunikation mit Python
Einführung in die Python-Sprache
Einführung in OpenCV (Python) - (2)
Einführung in Python Django (2) Win
[Einführung in Python] <Liste> [Bearbeiten: 22.02.2020]
Einführung in Python (Python-Version APG4b)
Eine Einführung in die Python-Programmierung
Einführung in Python For, While
[Einführung in die Udemy Python3 + -Anwendung] 58. Lambda
[Einführung in die Udemy Python3 + -Anwendung] 31. Kommentar
Einführung in die Python Numerical Calculation Library NumPy
Trainieren! !! Einführung in Python Type (Type Hints)
[Einführung in Python] <numpy ndarray> [edit: 2020/02/22]
[Einführung in die Udemy Python3 + -Anwendung] 57. Decorator
Einführung in Python Hands On Teil 1
[Einführung in Python3 Tag 13] Kapitel 7 Zeichenfolgen (7.1-7.1.1.1)
[Einführung in Python] So analysieren Sie JSON
[Einführung in Python3 Tag 14] Kapitel 7 Zeichenfolgen (7.1.1.1 bis 7.1.1.4)
Einführung in Protobuf-c (C-Sprache ⇔ Python)
[Einführung in die Udemy Python3 + -Anwendung] 59. Generator
[Einführung in Python3 Tag 15] Kapitel 7 Zeichenfolgen (7.1.2-7.1.2.2)
[Einführung in Python] Verwenden wir Pandas
[Einführung in Python] Verwenden wir Pandas
[Einführung in die Udemy Python3 + -Anwendung] Zusammenfassung
Einführung in die Bildanalyse opencv python
[Einführung in Python] Verwenden wir Pandas
Erste Schritte mit Python für Nicht-Ingenieure
Einführung in Python Django (2) Mac Edition
[AWS SAM] Einführung in die Python-Version
[Einführung in Python3 Tag 21] Kapitel 10 System (10.1 bis 10.5)
[Python Tutorial] Eine einfache Einführung in Python
Einführung in MQTT (Einführung)
Einführung in Scrapy (1)
[Einführung in die Udemy Python3 + -Anwendung] 18. Listenmethode
Einführung in Scrapy (3)
[Einführung in die Udemy Python3 + -Anwendung] 28. Kollektiver Typ
[Einführung in Python] Wie verwende ich eine Klasse in Python?
Erste Schritte mit Supervisor
Einführung in Tkinter 1: Einführung
[Einführung in die Udemy Python3 + -Anwendung] 25. Wörterbuchmethode
[Einführung in die Udemy Python3 + -Anwendung] 33. if-Anweisung
Einführung in die diskrete Ereignissimulation mit Python # 1
[Einführung in Python3, Tag 17] Kapitel 8 Datenziele (8.1-8.2.5)
[Einführung in die Udemy Python3 + -Anwendung] 55. In-Function-Funktionen
[Einführung in die Udemy Python3 + -Anwendung] 48. Funktionsdefinition
[Einführung in Python3, Tag 17] Kapitel 8 Datenziele (8.3-8.3.6.1)
Python Bit Arithmetic Super Einführung
[Einführung in die Udemy Python3 + -Anwendung] 10. Numerischer Wert
[Einführung in die Udemy Python3 + -Anwendung] 21. Taple-Typ
[Python] [Windows] Serielle Kommunikation in Python über DLL
Einführung in PyQt
[Einführung in die Udemy Python3 + -Anwendung] 45. Aufzählungsfunktion
Einführung in Scrapy (2)
[Einführung in die Udemy Python3 + -Anwendung] 41. Eingabefunktion
[Einführung in Python] Verwenden wir foreach mit Python
[Einführung in Python3 Tag 19] Kapitel 8 Datenziele (8.4-8.5)
[Einführung in die Udemy Python3 + -Anwendung] 17. Listenoperation
[Einführung in die Udemy Python3 + -Anwendung] 65. Ausnahmebehandlung