Es ist ein einfaches "** Erste Schritte zum Kennenlernen und Implementieren der seriellen 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
Drücken Sie zuerst den folgenden Befehl, um das Paket zu installieren. (Sie müssen nicht $ eingeben.)
python
$ pip install pyserial
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.
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()
serial.Serial (Gerätename, Baudrate, Timeout)
)write.py
import serial
serialCommand = "test"
writeSer = serial.Serial('/dev/tty.Bluetooth-Incoming-Port',9600, timeout=3)
writeSer.write(serialCommand.encode())
writeSer.close()
serial.Serial (Gerätename, Baudrate, Timeout)
)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")
Recommended Posts