Stap 1: Lezen van de EEPROM
We beginnen door kraken open van deze licht sockets en het lezen van haar geheugen. Pak uw schroevendraaier en verwijder de twee schroeven van de phillips de behuizing samen. De zaak moet vallen open en onthullen de PCB binnen.
Als je rondkijkt, ziet u een paar condensatoren, sommige dioden, een grote doos (de estafette), een lange IC (de microcontroller), een apart bord geplakt op (de RF-ontvanger) en een kleine 8-DIP chip gemarkeerd 24C 04 - dit is de EEPROM opslag van de RF-opdracht voor het inschakelen van de lamp.
Neem een dichtere blik op wat de geheugenchip houdt, zullen we? Met behulp van de piraat van de bus en het gegevensblad voor de EEPROM-chip, kabellengte tot een circuit zoals weergegeven. U moet:
- Bus Pirate VCC -> chip VCC (en VPU, de pullup-pin van de Bus-piraat)
- Bus Pirate GND -> chip GND
- Bus Pirate SDA (MOSI, oranje voor Sparkfun BPs) -> chip SDA
- Bus Pirate SCL (CLK, geel voor Sparkfun BPs) -> chip SCL
- Bus Pirate VPU -> Bus Pirate VCC (de pullup I/O pinnen worden aangedreven uit deze pin)
Volgende, laten we een script uitvoeren waarmee de EEPROM gegevens naar een bestand met behulp van de I2C-circuit die wij enkel opstelling zal dumpen. Gebruikend de terminal of de opdrachtregel, navigeer naar de map waarin u het gedownloade i2c_dump.py en voer het als volgt:
Het zal produceren een hexadecimaal bestand tonen de hexadecimale waarden van de gegevens.
Open het txt-bestand. Wanneer het bevat niets maar 0x00 of niets anders dan 0xFF, zitten kansen dat u moet controleren uw circuit en opnieuw uitvoeren van de dump. Als u een paar verschillende waarden naar het begin van het bestand en een bos van 0x00's na zien, hebt u een succesvolle hex dump!
Het is een goed idee op dit punt om te proberen een paar van de andere bollen om te zien wat waarden veranderen in deze code dumping. Maak je geen zorgen als de hex stortplaatsen nog niet zinvol, maar u zou moeten opmerken dat slechts één specifieke waarde in hen aan het veranderen is. Hmmmm...