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 » :
Mettez en surbrillance l’option « SPI » et activez « ».
Sélectionnez et activez «
Mettez en surbrillance et activez «
Lorsque vous êtes invité à redémarrer, mettez en surbrillance et activez «
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
Ensuite, il vous suffit de sélectionner l’onglet « Interfaces » et de définir SPI sur « Activé » :
Cliquez sur le bouton « OK ». Si vous êtes invité à redémarrer, sélectionnez « Oui » pour que les modifications prennent effet.
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é.