Paso 2: Codificación e intermitente
He utilizado el IDE de Arduino para escribir y compilar el código adjunto dos MCU - garagefinger.ino para el ATMega328p en el panel de control y tiny_switch.ino para el ATTiny85 dentro del garaje. NokiaLCD.cpp y NokiaLCD.h son bibliotecas de barebones para el LCD que armé a partir de ejemplos en la página de Arduino - se debe poner en la carpeta "libraries" para el IDE de Arduino, donde quiera que vive (en Windows suele % HOMEPATH%\Documents\Arduino\libraries).
Usted también necesitará obtener bibliotecas de Arduino para el FPS. Tenga en cuenta que no funcionan las bibliotecas FPS enlazadas lugar de SparkFun - son para el modelo más caro (GT - 511 3) y no esta versión de cheapo. Bibliotecas de trabajo para el GT-511C1R se puede encontrar en github.
Si crees que un hacker inteligente puede leer esto y soldar los cables que salen de su garaje en algo con una conexión en serie, usted querrá reemplazar todas las instancias de "secretstring" en cada archivo a su propia contraseña - puedes hacerlo más largo si eres muy paranoico. También debe cambiar la cadena buf en tiny_switch.ino para que tenga la misma longitud que su contraseña. La variable overrideCode , definida en la parte superior de la garagefinger.ino también contiene una representación de 8 bits de la secuencia de pulsar un botón que permite abrir la puerta del garaje y cargar nuevas huellas en el sensor sin escanear una huella conocida arriba/abajo. Esto es útil la primera vez que utilice el dispositivo, ya que la memoria del escáner estará vacía. Uno de los menús tiene una opción para cambiar la secuencia de reemplazo, después de que la nueva secuencia se almacena en la EEPROM y permanecerá incluso si el dispositivo está apagado. Usted puede cambiar este valor inicial, así, parece inteligentes, paciente hackers están esperando para robar todas las cosas cool que tienes en tu garaje introduciendo la norma reemplazar código antes de tener una oportunidad de cambiarlo.
Hay varias formas de compilar el código en el MCU. Si tienes un Arduino, simplemente puede compilar el código directamente sobre él, luego pop el ATMega328p y uso en este proyecto - pero no funcionará para el ATTiny. Puede usar Arduino como método de ISP descrito en NaughtySlayer18 instructable programación el ATTiny. Si, como yo, tiene un Pi de frambuesa, puede utilizarlo para programar sus AVRs descargando construcción de avrdude de Kevin Cuzner para Raspberry Pi y siguientes sus instrucciones detalladas. Usted tendrá que poner los archivos compilados garagefinger.hex y tiny_switch.hex en la Pi, que Arduino normalmente oculta del usuario. En Windows, buscar en el directorio más reciente build * %HOMEPATH%\AppData\Temp (tenga en cuenta Arduino parece borrar este directorio al salir).