Paso 1: Lectura de la EEPROM
Empezaremos por agrietamiento abierto uno de estos zócalos de luz y leer su memoria. Agarrar el destornillador y quitar los dos tornillos phillips con la caja juntos. El caso debe caer abierto y revelar la PCB interior.
Si miras, verás unos condensadores, algunos diodos, una caja grande (el relé), un IC larga (el microcontrolador), un tablero separado con tachuelas (el receptor de RF) y un chip de 8-DIP poco marcado 24C 04 - esto es la EEPROM que almacena el comando RF para encender la bombilla.
Echemos un vistazo a lo que tiene el chip de memoria, ¿vamos? Usando el bus pirate y la hoja de datos para el chip EEPROM, cable un circuito como el mostrado. Usted debe tener:
- Bus Pirate VCC -> chip VCC (y VPU, la clavija de la subida del Bus Pirate)
- Bus Pirate GND -> chip GND
- Bus Pirate SDA (MOSI, naranja de Sparkfun BPs) -> chip SDA
- Bus Pirate SCL (CLK, amarillo de Sparkfun BPs) -> chip SCL
- Bus Pirate VPU -> autobús pirata VCC (los pines de I/O de subida son conducidos desde este pin)
A continuación, vamos a ejecutar un script que descargará los datos de la EEPROM en un archivo mediante el circuito I2C que acaba de programar. Utilizando el terminal o la línea de comandos, desplácese a la carpeta donde descargaste i2c_dump.py y ejecutarlo como sigue:
Se va producir un archivo .hex que muestra los valores hexadecimales de los datos.
Abrir el archivo .txt. Si contiene nada o nada mas que 0xFF 0 x 00, lo más probable es que usted necesita controlar su circuito y vuelva a ejecutar el volcado. Si ves unos cuantos valores diferentes hacia el comienzo del archivo y un montón de 0x00's después, tienes un éxito volcado!
Es una buena idea en este momento para tratar de dumping un par de los otros bulbos para ver qué valores cambian en este código. No te preocupes si los volcados no tienen sentido todavía, pero usted notara que está cambiando solamente un valor específico en ellos. Hmmmm...