RPI
Le site officiel de la Raspberry Pi se trouve à l'adresse https://www.raspberrypi.com/
Systèmes d'exploitation
La carte Raspberry Pi accepte différents systèmes d'exploitation en fonction des besoins
L'installation de la carte SD se fait via le logiciel officiel rpi-imager.
- Raspberry Pi OS pour la plupart des cas
- MotionEyeOs pour transformer la RPI en système de vidéo surveillance
- Retropie pour faire du Retro gaming
- LibreElec pour un système multimedia
- Volumio pour une radio numérique
I2C et Raspberry Pi
Afin de pouvoir communiquer avec des périphériques I2C depuis le Raspberry il y a plusieurs solution.
- depuis le shell avec i2c-tools
- depuis un script Python avec SMBus
Cependant il existe des limitations. Seule la plage 0x08 à 0x77 est accessible.
I2C-Tools
L'installation se fait avec la commande sudo apt install i2c-tools
Plusieurs outils seront alors disponibles.
- i2cdetect : permet de lister les périphériques i2c ;
- i2cget : permet de lire sur le bus I2C ;
- i2cset : permet d'écrire sur le bus I2C ;
- i2ctransfer : permet de lire ou écrire plusieurs blocs.
A noter que l'outil i2cdump n'est pas compatible avec les mémoires utilisant plus de 8 bits d'adresse pour les données. (> 256 octets)
Pour lire une mémoire nécessitant 2 octets d'adresse, il faut procéder comme suit : exemple avec l'adresse i2c 0x50 (24C16)
Positionner le pointeur de lecture : i2cset -y 1 0x50 0x00 0x42
soit i2cset -y busnumber deviceaddr MSB_memaddr LSB_memaddr
Lire le contenu et incrémenter le pointeur : i2cget -y 1 0x50
Renvoyer la commande pour chaque octet à lire.
Il est aussi possible de réaliser la lecture avec la commande i2ctransfer -y 1 r4@0x50
Il faut que le pointeur soit préalablement positionné.
Pour écrire dans la mémoire, il faut utiliser la commande i2cset -y 1 0x50 0x00 0x00 0xCA 0xFE i
ou avec i2ctransfer i2ctransfer -y 1 w4@0x50 0x00 0x42 0xca 0xfe
Ecriture de CAFE à l'adresse 0x0042 de la mémoire.