Stap 2: Codering en knippert
Ik gebruikte de Arduino IDE schrijven en compileren van de bijgevoegde code voor de twee MCU's - garagefinger.ino voor de ATMega328p in het Configuratiescherm en tiny_switch.ino voor de ATTiny85 binnen de garage. NokiaLCD.cpp en NokiaLCD.h zijn barebones bibliotheken voor het LCD-scherm dat ik samen te stellen van voorbeelden op de site van de Arduino - zij moeten worden gezet in de "bibliotheken" map voor uw Arduino IDE, waar die woont (op Windows is het meestal % HOMEPATH%\Documents\Arduino\libraries).
Je moet ook verkrijgen van Arduino bibliotheken voor de FPS. Merk op dat de bibliotheken van de FPS van SparkFun site gekoppeld niet werken zal - ze zijn voor het duurdere model (GT - 511C 3) en niet deze cheapo versie. Werken van bibliotheken voor de GT-511C1R kan worden gevonden op github.
Als u denkt dat een slimme hacker kan dit lezen en soldeer de draden die uit uw garage op iets met een seriële verbinding, moet u ter vervanging van alle exemplaren van "secretstring" elk bestand om uw eigen wachtwoord - u kunt om het langer te maken , als je echt paranoïde. Ook moet u de tekenreeks buf in tiny_switch.ino zodat er dezelfde lengte als uw wachtwoord wijzigen. De variabele overrideCode gedefinieerd bij de bovenkant van de garagefinger.ino bevat ook een 8-bits weergave van de volgorde van de omhoog/omlaag knop persen die kan worden gebruikt om de garagedeur te openen en laden van nieuwe vingerafdrukken in de sensor zonder het scannen van een bekende vingerafdruk. Dit is de eerste keer dat u het apparaat gebruikt, omdat van de scanner geheugen leeg zal zijn handig. Een van de menu's heeft een optie voor het wijzigen van de volgorde van de overschrijving, waarna de nieuwe volgorde worden opgeslagen in EEPROM en zal blijven, zelfs als het apparaat is uitgeschakeld. U kunt deze initiële waarde ook wijzigen, in het geval u denkt dat hackers slim, geduldig wachten om te stelen alle coole dingen hebt in uw garage door het invoeren van de standaard code negeren voordat u hebben een kans om het te veranderen.
Er zijn verschillende manieren om te compileren van de code op de MCU's. Hebt u een Arduino, kun je gewoon de code direct op het compileren en pop uit de ATMega328p en gebruik het in dit project- maar dat zal niet werken voor de ATTiny. U kunt de Arduino als beschreven in het NaughtySlayer18 de instructable programmering de ATTiny ISP-methode. Hebt u, net als ik, een Raspberry Pi, kunt u het uw AVR's programmeren door Kevin Cuzner van bouwen voor avrdude downloaden voor de Raspberry Pi en de volgende zijn gedetailleerde instructies. U zal moeten zetten het gecompileerde bestanden garagefinger.hex en tiny_switch.hex aan uw Pi, die Arduino normaal van de gebruiker verborgen. Zoek op Windows, in de meest recente build * map in %HOMEPATH%\AppData\Temp (Let op Arduino lijkt om deze map op Afsluiten te verwijderen).