Aller au contenu

Faire communiquer 2 Raspberry Pi en Python par liaison série avec PySerial

Publié dans Python, et Raspberry

Installer le matériel

Il suffit de trois fils :

  • Brancher le port 6 du Raspberry 1 sur le port 6 du Raspberry 2 (GND)
  • Brancher le port 8 (BCM14 –TX) du Raspberry 1 sur le port 10 (BCM15-RX) du Raspberry 2
  • Brancher le port 10 (BCM15 –RX) du Raspberry 1 sur le port 8 (BCM14-TX) du Raspberry 2

Installation du module Pyserial

Dans un premier temps, il faut autoriser la liaison série en utilisant l’outil raspi-config:

sudo raspi-config

Choisir l’option 5 (Interfacing Options) puis le P6 Serial.

Désactiver le shell accessible du port série mais activer le port série (pour pouvoir communiquer via ce port).

Enfin , installer la librairie pyserial en utilisant la commande :

sudo pip install pyserial

Sur le 1er Raspberry, créer un fichier emetteur.py  et coller le code python suivant:

import serial

ser = serial.Serial(« /dev/ttyAMA0« , baudrate=9600,  timeout=3.0)
print(« Port serie :  » + ser.name)
ser.write(b’>>> Ping\n’)
ser.flush()

chaine = ser.readline()
print(« Chaine recue :  » + chaine)
ser.close()

Faire de même sur le 2nd Raspberry dans un fichier recepteur.py avec le code suivant:

import serial

ser = serial.Serial(‘/dev/ttyAMA0‘, baudrate=9600, timeout=10.0)
print(« Port serie :  » + ser.name)
chaine = ser.readline()
print(« Chaine recue : » + chaine)

ser.flush()
ser.write(b'<<< Pong\n’)
ser.close()

Lancer le récepteur en 1er puis l’émetteur …

Liens :

Partager cet article