Introduction à la communication série [Python]

introduction

C'est un simple "** Premiers pas pour connaître et mettre en œuvre la communication série **".

Qu'est-ce que la communication série?

Communication série: méthode de communication qui transmet séquentiellement des données numériques bit par bit Communication parallèle: méthode de communication pour la transmission simultanée de plusieurs bits de données numériques

Méthode de communication Avantages Désavantages
Communication série à bas prix lent
Communication parallèle Coût élevé vite

Si vous souhaitez en savoir plus, cet article est recommandé. J'ai essayé de résumer la méthode de communication série pour les débutants du travail électronique d'une manière facile à comprendre

Implémenté en Python (pyserial)

Installez pyserial

Tout d'abord, appuyez sur la commande suivante pour installer le package. (Vous n'êtes pas obligé de saisir «$».)

python


$ pip install pyserial

Rechercher des appareils capables de communiquer

Tout d'abord, recherchez les appareils capables de communiquer. Essayez d'appuyer sur la commande suivante. (La deuxième ligne est la réponse du terminal.)

python


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

Un périphérique appelé / dev / tty.Bluetooth-Incoming-Port a été trouvé.

Lis

Ensuite, lisons-le.

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

Description du code

  1. Installez le package.
  2. Définissez le nom de l'appareil, la vitesse de transmission (vitesse de communication), le délai d'expiration et ouvrez le port.
    (serial.Serial (nom de l'appareil, débit en bauds, délai d'expiration))
  3. Lisez et imprimez.
  4. Fermez le port.

Écrire

write.py


import serial

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

Description du code

  1. Installez le package.
  2. Définissez le nom de l'appareil, la vitesse de transmission (vitesse de communication), le délai d'expiration et ouvrez le port.
    (serial.Serial (nom de l'appareil, débit en bauds, délai d'expiration))
  3. Encodez et écrivez la commande que vous souhaitez envoyer.
  4. Fermez le port.

Exemple de code complet

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

Les références

Recommended Posts

Introduction à la communication série [Python]
Communication série avec Python
Communication série avec python
Introduction au langage Python
Introduction à OpenCV (python) - (2)
Introduction à Python Django (2) Win
[Introduction à Python] <liste> [modifier le 22/02/2020]
Introduction à Python (version Python APG4b)
Une introduction à la programmation Python
Introduction à Python pour, pendant
[Présentation de l'application Udemy Python3 +] 58. Lambda
[Présentation de l'application Udemy Python3 +] 31. Commentaire
Introduction à la bibliothèque de calcul numérique Python NumPy
Entraine toi! !! Introduction au type Python (conseils de type)
[Introduction à Python] <numpy ndarray> [modifier le 22/02/2020]
[Présentation de l'application Udemy Python3 +] 57. Décorateur
Introduction à Python Hands On Partie 1
[Introduction à Python3 Jour 13] Chapitre 7 Chaînes de caractères (7.1-7.1.1.1)
[Introduction à Python] Comment analyser JSON
[Introduction à Python3 Jour 14] Chapitre 7 Chaînes de caractères (7.1.1.1 à 7.1.1.4)
Introduction à Protobuf-c (langage C ⇔ Python)
[Présentation de l'application Udemy Python3 +] 59. Générateur
[Introduction à Python3 Jour 15] Chapitre 7 Chaînes de caractères (7.1.2-7.1.2.2)
[Introduction à Python] Utilisons les pandas
[Introduction à Python] Utilisons les pandas
[Introduction à l'application Udemy Python3 +] Résumé
Introduction à l'analyse d'image opencv python
[Introduction à Python] Utilisons les pandas
Premiers pas avec Python pour les non-ingénieurs
Introduction à Python Django (2) Édition Mac
[AWS SAM] Présentation de la version Python
[Introduction à Python3 Day 21] Chapitre 10 Système (10.1 à 10.5)
[Tutoriel Python] Une introduction facile à Python
Introduction à MQTT (Introduction)
Introduction à Scrapy (1)
[Introduction à Udemy Python3 + Application] 18. Méthode List
Introduction à Scrapy (3)
[Introduction à l'application Udemy Python3 +] 28. Type collectif
[Introduction à Python] Comment utiliser la classe en Python?
Premiers pas avec Supervisor
Introduction à Tkinter 1: Introduction
[Introduction à Udemy Python3 + Application] 25. Méthode de type dictionnaire
[Introduction à l'application Udemy Python3 +] 33. instruction if
Introduction à la simulation d'événements discrets à l'aide de Python # 1
[Introduction à Python3, jour 17] Chapitre 8 Destinations de données (8.1-8.2.5)
[Introduction à l'application Udemy Python3 +] 55. Fonctions intégrées
[Introduction à l'application Udemy Python3 +] 48. Définition des fonctions
[Introduction à Python3, jour 17] Chapitre 8 Destinations de données (8.3-8.3.6.1)
Super Introduction Arithmétique Bit Python
[Introduction à l'application Udemy Python3 +] 10. Valeur numérique
[Introduction à l'application Udemy Python3 +] 21. Type Taple
[Python] [Windows] Communication série en Python à l'aide de DLL
Introduction à PyQt
[Introduction à l'application Udemy Python3 +] 45. fonction enumerate
Introduction à Scrapy (2)
[Introduction à l'application Udemy Python3 +] 41. fonction d'entrée
[Introduction à Python] Utilisons foreach avec Python
[Introduction à Python3 Jour 19] Chapitre 8 Destinations de données (8.4-8.5)
[Introduction à l'application Udemy Python3 +] 17. Opération de liste
[Introduction à l'application Udemy Python3 +] 65. Gestion des exceptions