Paso 4: Detectar i2c en RPI
También podemos enumerar nuestros autobuses. Parece siguiente:
PI $ i2cdetect -l
I2C-1 i2c 20804000.i2c I2C adaptador
Ya casi terminamos. Ahora podemos detectar i2c en rpi. Otra vez nos escriba belowing comandos en el shell de MDL. Nos ofrece algo más abajo.
PI $ sudo 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: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Con este i2cdetect -y 1 comando el I2C Bus 1 va a buscar dispositivos conectados. En este caso que no he conectado ningún dispositivo debido a esto nada que ver. Si se conecta cualquier dispositivo a la rpi, depende de dirección, parece como esta.
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- 21 -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Es decir, se conecta un dispositivo de esclavo i2c con dirección 0x21.
Otras herramientas de i2c adicionales, que se instala en rpi: i2cget y i2cset
Si quieres leer desde el dispositivo, puede utilizar i2cget
PI $ sudo i2cget -y 1
pi $ sudo i2cget -y 1 0x08
0 x 00
I2cget -y 1 dice que el IPC, que rpi debe leer un dispositivo i2c. 1 se utiliza autobuses en rpi.
Como un valor de retorno se verá 0 x 00. (En este caso conectado un dispositivo i2c con dirección 0x08.)
Por otra parte si quieres escribir en el dispositivo, puede utilizar i2cset
PI $ sudo i2cset -y 1
$ sudo i2cset -y 1 de PI 0x08 0x00
I2cset -y 1 0x08 0x00 dice rpi, que quiere escribir en la dirección de dispositivo i2c 0x08 y 0 x 00 es el valor de bytes de datos para él.
Última herramienta es i2cdump.
$ sudo i2cdump -y 1 de PI 0x08
Vuelca los valores de un periférico i2c. Si escribe esto puede tener algo como eso
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 XX X...
10: 00 00 00 00 00 00 00 00 00 XX XX XX XX XX XX XX XXXXXXX
20: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
...
a0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
B0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
........