Arduino WiFi Garage dörröppnare (6 / 10 steg)
Steg 6: Nedladdningar och Arduino programmet förklaring
Om du inte redan, chef över till Arduino webbplats och Hämta den senaste versionen av Arduino IDE. Vid skrivande stund är detta version 1.0.5. Medan som hämtas huvud över till EtherTen drivrutiner sida enligt instruktionerna installera inklusive gör har den styrelse och port urval delen under den "elva, EtherTen, USBDroid" rubrik en gång Arduino IDE installerat. Arduino standarddrivrutiner tycks också fungera bra för våra syften men Freetronics instruktionerna är bra.
(Ett alternativ till Arduino IDE för den äventyrslystne är den experimentella Visual Studio Arduino byggverktyg detaljerad här)
Huvudet här att hämta och installera rättegången mot MegunoLink Pro, en bra bit av programvara som vi kommer att använda några steg framåt för att kommunicera med det program som vi kommer att ladda upp till EtherTen.
Projektet GitHubhar källkoden för Arduino programmet och filen MegunoLink gränssnitt. Om du inte redan, klicka på knappen "Hämta" ZIP"i botten rätt att hämta alla filer. Extrahera dem när nedladdningen är klar. Om du bara intresserad av att få sak gå och inte vad varje del av koden, hoppa till nästa steg, annars läsa på.
Arduino programmet för detta projekt består av flera delar:
- Program.cpp: detta har setup och loop funktioner som anropar funktioner från andra filer för att köra seriella kommando bearbetning och webbservern.
- Webserver.h/Webserver.cpp: detta hanterar web server grejer som levererar form där vi kommer in vår lösenord och kontrollera inmatade lösenordet är korrekt.
- CommandProcessing.h/CommandProcessing.cpp: detta hanterar bearbetningen av inkommande seriell kommandon, utlöser det krävs funktion(er) för att göra rätt saker saker hända.
- PasswordManager.h/PasswordManager.cpp: Detta sparar och laddar lösenorden från EtherTen EEPROM (lagringsminne). Det också hinder den behag period som ger oss tid för att stänga dörren efter oss utan att behöva ange våra lösenord.
- AccessControl.h/ AccessControl.cpp: detta hanterar utlösts av reläet.
- WebPages.h/ WebPages.cpp: detta ger webbsida bitar krävs av webbservern för att gränssnittet ser vi när vi loggar in.
- HardwareConfiguration.h: detta är viktig för oss. Den innehåller MAC och IP-adresserna i EtherTen använder för att ansluta till nätverket (som vi kommer sannolikt att ändra) och stiftet reläet är kopplad till.
Dessa filer är alla bundna tillsammans av GarageDoorOpener.ino.
CommandProcessing.h/ CommandProcessing.cpp är användbara seriella kommando bibliotek skapad av Steven Cogswell. Detta används att avkoda inkommande seriell kommandon och att skicka svar tillbaka.
Nu har vi program bitar ner och delvis förstås, det är dags att få igång!