Dansa anmälan nätverk (3 / 6 steg)
Steg 3: Inbäddade arbetet
Första arbetsplanen för att föra knappen till livet är att få Imp till gränssnittet ordentligt med knappen och lysdioder, sedan att få det att prata med Internet.
Om du har någon erfarenhet av Arduino eller andra microcontrollers, skulle här steget normalt:
- bränning upp önskad IDE (integrerad utvecklingsmiljö, eller program som du skriver kod i en ger ytterligare funktioner som kontrollerar din syntax, färg din kod att läsa enklare, och andra)
- skriva ett program som ställer in stiften på din mikrokontroller som ingångar för knappen och utgångar för lysdioder, använder logik kontrollern sedan att ta sekvenser av händelsen (knapptryckningar) att köra dess manöverdon (ljusa färger och sekvenser, skicka meddelanden till internet)
- Laddar programmet på din mikrokontroller med någon form av kommunikation kabel (ofta USB)
Den elektriska Imp använder dock en online IDE. Detta innebär att du skriver ditt program i en webbläsare på den integrerade havspolitiken webbplats, då slå till en knapp att automagiskt driver programmet om försöksläkemedlet över Wifi. Har fördelen att inte behöva installera en IDE på alla datorer du vill programmera från, samt att hålla din kod säker i den integrerade havspolitiken moln.
Elektriska Imp utvecklare wikin har massor av exempel på hur till program i ekorre att få Imp att göra vad du vill.
Om du är bekant med Arduino, Ekorres syntax är relativt lik (liknande C och Java), men är mer dynamisk som Python. De stora skillnader som du måste svepa huvudet runt:
- Det finns inte en loop funktion i ekorre. I stället körs koden från början till slut, med funktioner som det körs in i dem. Återkommande funktionella kod körs (som en loop funktion) kan skapas enligt följande. Om du har en funktion testFunction, använder du imp.wakeup (X, testFunction) i slutet av definitionen av testFunction. IMP.wakeup berättar om försöksläkemedlet att kalla testFunction igen i X sekunder. Så varje gång testFunction kallas, det kommer att köras igen i X sekunder. Som en loop där istället för att köra så fort som möjligt, kan du ange tiden mellan körningar.
- Om din kod körs av händelser som inte behöver en slinga (till exempel ingångar från webben), definierar du ingång klasser för den integrerade havspolitiken, som berättar det som fungerar att ringa när det särskilda inmatning upptäcks.
- Slutligen finns det utgång klasser, som används för att skicka viss data till output portar i den elektriska Imp planner.
- Definiera INPUT och OUTPUT portar kan du koppla in funktionella block (som HTTP-förfrågningar) i planeraren att göra dina enheter interagerar med internet
Vilka logiska flödet vill vi ha? Riktigt enkel.
- Hårdvara avbryta kontroller när knappen är nedtryckt.
- När knappen trycks, ansätta klassen impServerOut utgång (som vi kommer att få ihop det till en HTTP-begäran att berätta vår server trycker på knappen)
- Dessutom finns det en enkel tillståndsdator som håller reda på huruvida knappen är i dans läge och animerar ljuset när det är.
Den bifogade uppförandekoden danceButtonSimple.txt, tillsammans med konfigurationen av Planner, är allt vi behöver på mikrokontroller sida. När knappen trycks, skickar planeraren en HTTP POST-begäran till servern, som kommer att hålla reda på tider av förfrågningar så det kan uppdatera sina webbsidor därmed. Nu på servern!