Lecture du numéro de série de SvxLink Card
Afin de permettre de stocker des informations, une EEPROM est installée à l'arrière de la SvxLink Card. Elle programmable et à une capacité de 16 kbits. Elle contient par ailleurs le numéro de série de votre carte.
Câblage
Activation du bus I2C
Commençons par faire les mise à jour avec les commandes système suivantes:
sudo apt-get update sudo apt-get upgrade sudo apt-get install i2c-tools
Activer l'I2C sur votre Raspberry Pi.
sudo raspi-config
Choisir 8-Advanced Options puis A7 I2C répondre Oui en appuyant sur entrée puis Ok puis Oui puis Ok.
Redémarrer le système par la commande
sudo reboot
Test de l'interface I2C
Démarrer le Raspberry Pi. Taper la commande ci-dessous pour voir si l'interface est reconnue:
sudo i2cdetect -y 1
<WRAP center round important 60%> Si vous utilisez une carte Raspberry Pi Révision 1, utilisez la commande : “sudo i2cdetect -y 0” </WRAP>
pi@raspberrypi:~ $ i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: 50 51 52 53 54 55 56 57 -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- pi@raspberrypi:~ $
Il s'agit dans notre exemple d'une EEPROM 24C16 qui contient 8 pages de 256 bits chacune.Nous avons équipé la carte d'une eeprom avoir une empreinte numérique de la carte et connaitre la version de la carte par interrogation logiciel. Merci de reserver la page 8 (57) pour l'utilisation SVXLink Card. Vous pourrez utiliser la place disponible pour vos enregistrements personnels.
<WRAP center round important 60%> Contenu à titre d'exemple. </WRAP>
i2cdump -y 1 0x57 i
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ f0: ff ff ff ff ff ff ff ff 39 39 39 39 39 39 39 39 ........99999999
/* Accès avec Python:
sudo apt-get install build-essential libi2c-dev i2c-tools python-dev libffi-dev
sudo apt-get install python-setuptools
sudo apt-get install git
sudo git clone https://github.com/bivab/smbus-cffi.git
cd smbus-cffi/ sudo python setup.py install
sudo nano test-i2c.py
from smbus import SMBus bus = SMBus(1) addr = 0x50 try: print bus.read_i2c_block_data(addr,15) except IOError, err: print err
*/