ImPrinter: elektriska Imp trådlös, internet-ansluten termoskrivaren (4 / 7 steg)
Steg 4: imPrinter: programmera din imp
I den integrerade havspolitiken IDE tillhör enheter modell. En modell hänvisar till vad för slags sak enheten är. Till exempel, på min plan har jag en termometer modell för de tre internet-ansluten termometrar i mitt hus, en för min skrivare, en för min styrenhet, en för imp conference rummet ljus, etc.
I "device settings", ange ett namn för din nya skrivare. Innan du sparar och gå tillbaka till kodredigeraren, klicka på ner till Visa dina tillgängliga modeller och välj "skapa en ny modell". Ange ett namn för den nya modellen i rutan. Klicka på Spara och du ska gå tillbaka till kodredigeraren.
Nu är det dags att lägga till lite kod. Du bör ha en webbläsare öppna och pekade på https://github.com/electricimp/examples/tree/master/thermalprinter, där jag har lagt upp koden måste du få skrivaren arbetar. I IDE, du ser tre rutor: "agent", "enhet" och "loggar". Rutan "enhet" är där du ska placera kod körs på kortet imp. Den "agenten" är en liten VM, precis som en kör i imp-kortet, som körs inuti elektriska imp servrar och har en direkt linje till ditt imp. Agenten kan du göra massor av saker du inte kunde göra med bara ett imp-kort, som svarar på HTTP-begäranden som samtidigt är imp kortet sover spara batterier, skicka HTTP-begäranden och tolka JSON för att interagera med alla sorters API: er och hänga på större datauppsättningar än imp kan hålla i minnet.
Ta den enhet firmware, "thermalprinter.device.nut" från github och klistra in den i fönstret "enhet" i IDE. Filnamnstillägget är inte några barnsliga försök en humor, det är faktiskt rätt filnamnstillägget för källfilerna skriven i ekorre, lightweight javascript-liknande språk som imp använder. Agent koden är "thermalprinter.agent.nut"; klistra in den i fönstret agent.
Du kan konfigurera IDE i en massa olika sätt för att bäst passa din stil. Knapparna i det övre vänstra hörnet av fönstret styra utseendet av IDE. Växlingsknappar med staplade rektanglarna tillåta du till syn Fönstren anordning och agent antingen uppifrån-och-ner eller sida-vid-sida. På kugghjulet öppnas ett litet fönster där du kan välja ett ljust på mörkt eller mörk-på-ljus färgschema, samt ställa in storleken flik i din editor-fönstret. Det finns också en liten expandera/komprimera ikonen inuti fönstret modell, bara under på kugghjulet - om du klickar här kommer att växla en vy där vänstra navigeringsfönstret döljs ger dig mer utrymme att arbeta. IDE auto-sparar medan du redigerar och kör din kod lagrar det.
När din kod klistras in i, tryck på knappen "Bygga och köra" att skicka din kod till den integrerade havspolitiken och börja köra. Du kommer se imp boot och börja köra och skriva ut vissa meddelanden till loggen och sedan signalen till agent att det skulle vilja skriva ut imp logotypen. Här, händer några magiska. Nörd varning: Om du inte bryr dig om magi, steg bege dig till nästa nu.
Imp logotypen måste formateras som en 384-pixel bred .bmp för skrivaren att skriva ut det, och den behöver skickas till skrivaren rad-för-rad. Detta är en hel del data för den integrerade havspolitiken att hålla i minnet, så vi har agenten göra tunga lyft för oss. Försöksläkemedlet sänder en signal ("logotypen") till agenten. När agenten blir detta, huvuden till imp servern, där jag har gömt undan bort den filen som vi behöver för jobbet, och hämtar det (bara en enkel HTTP GET). Agenten läser igenom rubrikerna på filen för att ta ett par viktiga parametrar (eftersom filen ändras inte, detta är verkligen inte nödvändigt, men det är användbart att komma igång skriver ut andra saker), då signalerar till imp att det har data klar för utskrift. Försöksläkemedlet skickar sedan en ny signal, "pull", till agenten. Agenten kotletter av en bit av bilddata och överlämnar det tillbaka till den integrerade havspolitiken, som sedan överlämnar det till skrivaren. Med den burken levereras till skrivaren och utskriften, skickar imp en annan "pull" till agenten, som kotletter och serverar en annan bit av bilden; Detta pågår tills bilden är gjort.
Och om att inte lämna dig känslan ganska pumpade, ta upp fallskärmshoppning.