Communication Arduino vers Raspberry Pi par liaison série (UART)

Il est possible de faire communiquer un Raspberry Pi et un Arduino par la liaison série.

Nous allons présenter un exemple d’une communication entre ces deux équipements :
– Arduino –> Raspberry Pi

Il faut déjà relier un câble USB entre la carte Arduino et un des ports USB du Raspberry Pi.

Communication d’une carte Arduino vers un Raspberry Pi

Cette partie concerne la communication d’une carte Arduino vers un Raspberry Pi.

Nous pouvons ainsi récupérer des valeurs de capteurs banchés sur l’Arduino, qui seront envoyées au Raspberry afin de, par exemple, remplir une base de données et afficher les informations sur une page web.

Le code suivant permet d’envoyer un message de test de l’Arduino vers le Raspberry. Ce message sera incrémenté de 1 toutes les secondes :

int i=0;

void setup() {
Serial.begin(9600);
Serial.println("Test d'une communication Arduino --> Rasbperry");
}

void loop() {
Serial.println("Message Test" + String(i));
delay(1000);
i = i + 1;
}

Sur le Raspberry Pi, nous allons écrire un code en Python permettant de récupérer sur cette liaison série les messages envoyés par la carte Arduino.
Mais avant, il faut trouver le nom du port série utilisé. Dans un terminal, il faut taper la commande :

ls /dev/tty*


Le port série se nomme généralement « /dev/ttyACM0 » ou « /dev/ttyACM1″.

# Import de la librairie serial
import serial

# Liaison série : Remplacer ACM0 par celle trouvée sur votre Raspberry
ComArduino = serial.Serial('/dev/ttyACM0', 9600)

# Ecriture des messages
while True :
print(ComArduino.readline())

Vous devez donc voir dans votre terminal sur votre Raspberry Pi, les messages envoyés par l’Arduino.

Démarrez une conversation

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.