Étape 2: Codage et clignotant
J’ai utilisé l’IDE Arduino pour écrire et compiler le code ci-joint pour les deux microcontrôleurs - garagefinger.ino pour la ATMega328p dans le panneau de configuration et tiny_switch.ino pour le ATTiny85 l’intérieur du garage. NokiaLCD.cpp et NokiaLCD.h sont des bibliothèques de barebones pour l’écran LCD que j’ai mis en place des exemples sur le site d’Arduino - ils devraient être mis dans le dossier "bibliothèques" pour votre IDE Arduino, dans la mesure qui vit (sous Windows il est généralement % HOMEPATH%\Documents\Arduino\libraries).
Vous devrez également obtenir des bibliothèques de l’Arduino pour les FPS. Notez que les bibliothèques FPS liés sur le site de SparkFun ne fonctionnera pas - ils sont pour le modèle le plus cher (GT - 3 511) et pas cette version de cheapo. Bibliothèques de travail pour le GT-511C1R se trouvent sur github.
Si vous pensez qu’un hacker malin pourrait lire ceci et souder les fils qui sortent de votre garage sur quelque chose avec une connexion série, vous aurez envie de remplacer toutes les occurrences de "secretstring" dans chaque fichier pour votre propre mot de passe - vous pouvez faire plus si vous êtes vraiment paranoïaque. Vous devez également remplacer la chaîne de buf en tiny_switch.ino afin qu’il ait la même longueur que votre mot de passe. variable overrideCode définis au début de garagefinger.ino contient également une représentation de 8 bits de la séquence de haut/bas sur les touches qui peut être utilisé pour ouvrir la porte de garage et de charger de nouvelles empreintes digitales dans le capteur sans analyser une empreinte connue. Cela est utile la première fois que vous utilisez l’appareil, étant donné que la mémoire du scanner sera vide. Un des menus a une option pour changer la séquence de remplacement, après quoi la nouvelle séquence sera stockée dans l’EEPROM et restera même si l’appareil est hors tension. Vous pouvez modifier cette valeur initiale aussi bien, dans le cas où vous pensez intelligents, patients pirates attendent de voler tous les trucs cool vous avez dans votre garage en entrant la norme substituer code avant d’avoir une chance de le changer.
Il y a plusieurs façons de compiler le code sur les microcontrôleurs. Si vous avez un Arduino, vous pouvez simplement compiler le code directement sur celui-ci, puis sortir de la ATMega328p et l’utilisation dans ce projet - mais cela ne fonctionnera pas pour le ATTiny. Vous pouvez utiliser l’Arduino comme méthode d’ISP décrite dans NaughtySlayer18 programmation instructable le ATTiny. Si vous, comme moi, avez un Pi de framboise, vous pouvez l’utiliser pour programmer votre AVRs en téléchargeant construire d’avrdude de Kevin Cuzner pour le Raspberry Pi et suivant ses instructions détaillées. Vous aurez besoin de mettre les fichiers compilés, garagefinger.hex et tiny_switch.hex sur votre facture pro forma, qui Arduino normalement cache de l’utilisateur. Sous Windows, regardez dans la plus récente génération * répertoire dans %HOMEPATH%\AppData\Temp (Sachez Arduino semble supprimer ce répertoire à la sortie).