Activer l’interface SPI sur le Raspberry Pi

Activer l'interface SPI sur le Raspberry Pi

Le Raspberry Pi dispose d’un bus SPI (Serial Peripheral Interface) qui peut être activé sur les broches 19,21,23,24 et 26. Il s’agit d’une norme de liaison de données série synchrone et est utilisée pour la communication à maître unique à courte distance entre les appareils. En ce qui concerne le Pi, cela concerne généralement certains capteurs et cartes d’extension.

Étape 1 – Activer l’interface SPI

L’image Raspbian par défaut désactive SPI par défaut, donc avant de pouvoir l’utiliser, l’interface doit être activée. Cela peut être fait en utilisant l’une des trois méthodes. Je vais décrire toutes les méthodes, mais la première est probablement plus facile et plus rapide.

Méthode 1 – Utilisation de « Raspi-config » sur la ligne de commande

Depuis la ligne de commande ou la fenêtre Terminal, commencez par exécuter la commande suivante :

sudo raspi-config

Cela lancera l’utilitaire raspi-config. Sélectionnez « Options d’interfaçage » :

Raspi-Config - Interfaçage

Mettez en surbrillance l’option « SPI » et activez «  ».Raspi-Config - Interfaçage - SPI

Sélectionnez et activez «  » :
Raspi-Config - Interfaçage - SPI 1

Mettez en surbrillance et activez «  » :

Raspi-Config - Interfaçage - SPI 2Lorsque vous êtes invité à redémarrer, mettez en surbrillance et activez «  » :

Raspi-Config - Invite de redémarrage

Le Raspberry Pi va redémarrer et l’interface sera activée.

Méthode 2 – Utilisation de la « Configuration Raspberry Pi »

Si votre Pi démarre sur le bureau, vous pouvez soit ouvrir une fenêtre de terminal et utiliser la méthode 2, soit utiliser l’outil graphique « Raspberry Pi Configuration ». Celui-ci se trouve sous Menu > Préférences > Configuration Raspberry Pi

Lancement de la configuration Raspberry Pi à partir du menu

Ensuite, il vous suffit de sélectionner l’onglet « Interfaces » et de définir SPI sur « Activé » :

Configuration Raspberry Pi - Onglet Interfaces - SPI

Cliquez sur le bouton « OK ». Si vous êtes invité à redémarrer, sélectionnez « Oui » pour que les modifications prennent effet.

Configuration Raspberry Pi - Invite de redémarrage

Le Raspberry Pi va redémarrer et l’interface SPI sera activée.

Méthode 3 – Activation en modifiant un fichier manuellement

Ce processus suppose que vous utilisez la dernière version de Raspbian à partir du page de téléchargement officielle. Vous pouvez mettre à jour votre image actuelle en utilisant :

sudo apt-get update
sudo apt-get upgrade

Pour activer le SPI matériel sur le Pi nous devons apporter une modification à un fichier système :

sudo nano /boot/config.txt

Ajoutez la ligne suivante en bas :

dtparam=spi=on

Utilisez CTRL-X, puis Y, puis RETOUR pour enregistrer le fichier et quitter. Redémarrez en utilisant ce qui suit :

sudo reboot

Étape 2 – Vérifier si SPI est activé (facultatif)

Pour vérifier si le module SPI est chargé par le système exécutez la commande suivante :

lsmod

Vous devriez voir « spi_bcm2708 » ou « spi_bcm2835 » répertorié dans la sortie. Vous pouvez utiliser la commande suivante pour filtrer la liste et faciliter le repérage de l’entrée spi :

lsmod | grep spi_

SPI est maintenant activé.

Étape 3 – Installer Python SPI Wrapper

Afin de lire les données du bus SPI en Python, nous avons besoin de bibliothèques supplémentaires. Ceux-ci sont peut-être déjà installés mais vous pouvez vérifier en utilisant :

sudo apt-get install -y python-dev python3-dev

et :

sudo apt-get install -y python-spidev python3-spidev

Ensuite, pour finir, nous pouvons télécharger ‘py-spidev’ et le compiler prêt à l’emploi :

cd ~
git clone https://github.com/Gadgetoid/py-spidev.git
cd py-spidev
sudo python setup.py install
sudo python3 setup.py install
cd ~

Vous devriez maintenant être prêt à communiquer avec des cartes d’extension en utilisant leurs propres bibliothèques (par exemple le PiFace) ou d’autres périphériques SPI (par exemple le MCP3008 ADC).

Une liste complète des tutoriels présentant cette interface est disponible en cliquant ici.

Enfin, il y a plus d’informations techniques sur SPI sur le page Wikipédia Si tu es intéressé.