Communication SPI et I2C


Niveau:3

Mise en service des bus:

Mise en place de la communication SPI et de l’I2C sur RPi.

Taper en mode terminal:

sudo nano /etc/modprobe.d/raspi-blacklist.conf

Ouvrir l’éditeur nano:

RPI_SPI_IC

Mettre un # devant les deux lignes.

RPI_SPI_IC1

Installation des outils pour I2C:

Taper la commande:

sudo apt-get install i2c-tools

Ajouter l’utilisateur PI au droit d’accès au bus I2C.

sudo adduser pi i2c

Mise en marche du bus au démarrage du Raspberry:

sudo nano /etc/modules

Éditer le fichier de configuration et ajouter i2c-dev.

RPI_SPI_IC2

Faire un crtl+o pour sauvegarder et rebooter le Raspberry:

sudo reboot

Vérification du bon fonctionnement du bus I2C:

Taper la commande:

ls /dev/i2c*

Cette commande permet de savoir si le bus i2c est bien accessible depuis l’espace utilisateur donc depuis vos programmes.

RPI_SPI_IC3

Puis la commande:

dmesg | grep i2c

Cette commande permet de visualiser les messages du noyau se rapportant au bus i2c.

RPI_SPI_IC4

Vérification du bon fonctionnement du bus SPI:

Vérification de l’installation. Taper:

cd /dev
ls

Vous devriez voir:

RPI_SPI_IC5

Test de communication.

Créer un répertoire test.

mkdir test

Installation du programme de test.

wget http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/Documentation/spi/spidev_test.c spidev_test.c

RPI_SPI_IC6

Édition du programme.

nano spidev_test.c

Modification du programme spidev.test. Changer spidev1.1en spidev0.0.

RPI_SPI_IC7

RPI_SPI_IC8
Faire un crtl+O pour sauvegarder les modifications.

Compilation du programme de test:

gcc spidev_test.c

lancement du programme de test:

sudo ./a.out

Voici le résultat:

RPI_SPI_IC9