Android kontrollerade ljus och kraft, pfodDevice för Arduino (3 / 3 steg)
Steg 3: Android kontrollerade lampor och makt--Garage dörröppnare
Slutligen här är koden som kombinerar ett garage dörröppnare med kontroll av främre lamporna. Den kombinerar den Android kontrollerade Garage dörröppnare, som använder relä 1, med främre lampor koden från del 2).
Det är den slutliga exempelkoden. (Obs: koden uppdaterades 21 mars 2013 att förbättra timer reliablity, se hur man skriver tidsinställningar och förseningar i Arduino för detaljer)
pfodApp Debug skärmen (inte normalt sett av användare)
Andra 3 skärmdumpar Visa pfodApp debug skärmen. Användaren ser normalt inte denna skärm. Det nås från mobilens menyknapp. Denna pfodApp rätta skärmen visar all kommunikation mellan pfodApp och pfodDevice. Meddelanden med < är sända av pfodApp, meddelanden med > mottas av pfodApp från pfodDevice.
Nästa kommer att jag diskutera hur den Android pfodApp visar relay lägen och styr reläerna. Alla ovanstående kodexempel är komplett i sig, ingen bibliotek behövs. Emellertid finns bibliotek för pfodDevice kommando tolken om du vill använda dem. Exempel på hur dessa bibliotek ges i Garage dörren Remote och avlägsen kontrollerade LCD/LED-displayen. The Arduino pfod bibliotek finns här.
Coding Arduinoen för att vara en pfodDevice.
PfodDevice kommandot Parser
För att kommunicera med pfodApp på din Android mobil, måste Arduino kodas som en pfodDevice. Pfod specifikation specificerar vilken funktionalitet måste stödjas för att vara en pfodDevice. Som du förväntar är kraven för pfodDevice minimal
PfodDevice som krävs för att:-
1. svara på alla meddelanden, även oredovisade sådana, med ett svarsmeddelande. Denna svarsmeddelande kan vara tomma meddelandet, {}
2. svara på GetMainMenu begäran, {.}, med huvudmenyn eller navigering inmatning av översta nivå funktionalitet eller, mindre vanligt, med en av andra meddelanden:-SingleSelectionList, MultiSelectionList, UpdateMenu StreamingRawData, StringInput, NumericInput eller tom meddelande {}
3. Ignorera meddelanden vars längd överstiger 255 byte, inklusive start och slut {} byte.
4. om anslutningen är halv duplex sedan meddelanden från pfodApp som pfodDevice företräde framför, och kan avbryta, strömmande rå data kommer från pfodDevice.
Som exempel ska vi titta på pfodDevice koden för kombinerade garage dörröppnare och ljus kontroll.
PfodDevice måste först svara på meddelandet {.} som pfodApp på din Android mobil skickar när den ansluter. Detta begär den pfodDevice huvudmenyn. I det här fallet vill vi Visa 4 knappar (menyobjekt), med namnen på växlarna och sitt nuvarande tillstånd, på eller av.
Var och en av dessa knappar har ett unikt kommando förknippas med det som inte visas för användaren. När användaren selectes menyalternativet, tillhörande kommandot är skickar tillbaka till pfodDevice (Arduino Uno) som ska köras. I detta fall används kommandona "1", "2", "3" och "4" för var och en av de 4 relän. Så skulle en typisk huvudmenyn meddelande se ut den andra skärmen visas
Det här är en skärmdump från debug skärmen för pfodApp. PfodApp rätta skärmen nås från knappen mobiler meny. När pfodApp ansluten till Arduino pfodDevice, pfodApp skickar du {.} begära den pfodDevice huvudmenyn. PfodDevice tolken tolkar Cmd:. och Adruino koden skriver ut resultatet. PfodApp i Android mobilen ignorerar denna text eftersom det inte finns i pfod meddelande start och slut tecken, {}. PfodDevice och returnes sedan dess huvudmenyn
{. Tryck för att koppla på/off|1 ~ GarageDoor\nOpen/Close|2 ~ främre Light\nis OFF|3 ~ Garage Light\nis OFF|4 ~ Hall Light\nisOff}
där \n påbörjas en ny rad. Den {. anger att meddelandet ska visas som en lista med menyalternativ, knappar. Nästa 4 delar upp mellan || definiera varje menyobjekt. Varje menyobjekt består av kommandot ~ Visa text. Se pfodSpecification för en detaljerad beskrivning av denna menyn meddelande. Första delen är kommandot skickas tillbaka när menyobjektet är markerad och sedan texten som ska visas. Så till exempel 2 ~ främre Light\nis av anger 2 som kommandot för den här menyn knappen och ange texten som
Framlyktan
är avstängd
När användaren väljer det här menyalternativet, pfodApp skicka kommandot tillhörande 2, i meddelandet {2}, till pfodDevice. PfodDevice kommando tolken tolkar kommandot och aktiveras reläet och skickar tillbaka en uppdaterad meny ska visas för användaren, visar att den framlyktan är nu på.
När du trycker på knappen Garage dörren öppna/stäng skickar pfodApp msg {1} till pfodDevice, som parsa meddelandet och pulser reläet ansluten till knappen garage dörr att öppna/stänga dörren.
Märka i detta fall Arduino koden skriver ut när det börjar och slutar pulserande av reläet. Igen ignorerar pfodApp denna extra text som det inte finns i pfod meddelande start och slut tecken {}. Se Android kontrollerade Garage dörröppnare för en mer detaljer på garageporten puls koden.