Stap 4: imPrinter: program uw imp
In het GMB IDE behoren apparaten tot model. Een model verwijst naar wat voor soort ding uw apparaat is. Bijvoorbeeld, op mijn plan heb ik een thermometer model voor de drie internetverbinding thermometers in mijn huis, een voor mijn printer, een voor mijn systeemmenu (ControlBox), een voor de GMB conferentie kamer lichten, enz.
In "Apparaatinstellingen", voer een naam voor uw nieuwe printer. Voordat u opslaat en ga terug naar de code-editor, klikt u op de daling tot Toon uw beschikbare modellen en pick 'Maak een nieuw model'. Typ een naam voor dit nieuwe model in het vak. Klik op opslaan en ga je terug naar de code-editor.
Nu is het tijd om toe te voegen wat code. U moet een browser openen en wees naar https://github.com/electricimp/examples/tree/master/thermalprinter, waar ik heb gepost de code zult u moeten krijgen uw printer werkt. In de IDE, ziet u drie deelvensters: "agent", "device" en "logs". Het deelvenster "apparaat" is waar u code wordt uitgevoerd op de imp-kaart zal plaatsen. De "agent" is een beetje VM, net als de een draait in de imp-kaart, die wordt uitgevoerd binnen de elektrische imp-servers en heeft een directe lijn naar uw imp-kaart. De agent kunt u te doen veel dingen die je niet kon met alleen een imp-kaart doen, zoals reageren op HTTP-verzoeken terwijl de imp-kaart is in slaap opslaan van batterijen, het verzenden van HTTP-verzoeken en het ontleden van JSON om te interageren met allerlei API's, en hangen op grotere gegevensverzamelingen dan het GMB in het geheugen houden kan.
Pak de firmware van het apparaat, "thermalprinter.device.nut" van github en plak deze in het venster 'apparaat' in de IDE. De bestandsextensie is niet één of andere jonge poging een humor, het is eigenlijk de juiste extensie voor bronbestanden die zijn geschreven in de eekhoorn, de lichtgewicht javascript-achtige taal die gebruikmaakt van het GMB. De code van de agent is "thermalprinter.agent.nut"; plak deze in het venster van de agent.
U kunt instellen de IDE in een heleboel verschillende manieren zodat het beste aansluit bij uw stijl. De knoppen in de linker bovenhoek van het venster bepalen de look en feel van de IDE. De wisselknoppen met de gestapelde rechthoeken kunnen u bekijken van de Vensters van het apparaat en agent of side-by-side als boven-en onderkant. De gear icoon opent een klein venster waar u kunt kiezen een licht op donker of donker-op-light kleurenschema, evenals de grootte van het tabblad instellen in het venster van uw editor. Er is ook een kleine uitvouwen/samenvouwen-pictogram in het venster model, net onder het pictogram van het vistuig - te klikken op dit zal wisselen een uitzicht waar de linker navigatiedeelvenster is verborgen zodat u meer ruimte om te werken. De IDE auto-bespaart terwijl u aan het bewerken bent, en uw code uit te voeren wordt deze bovendien opgeslagen.
Zodra uw code wordt geplakt, druk op de "Bouwen en Run" knop om uw code verzenden het GMB en begint te lopen. U zult de imp-boot Zie begint te lopen en sommige berichten naar het logboek afdrukken en vervolgens signaal naar de agent dat het wil afdrukken van het imp-logo. Hier, wat magie gebeurt. NERD ALERT: Als u geen zorg over magie, stap hoofd naar de volgende nu.
Het imp-logo moet worden opgemaakt als een .bmp 384-pixel breed voor de printer af te drukken, en het moet worden doorgegeven aan de printer rij-door-rij. Dit is een grote hoeveelheid gegevens voor het GMB te houden in het geheugen, dus we hebben de agent het zware werk voor ons doen. Het GMB signaal een ('logo') naar de agent. Wanneer de agent dit krijgt, het hoofd naar de server van het GMB, waar heb ik verstopt weg het bestand dat we nodig voor de job, en downloads (enkel een eenvoudige HTTP GET). De agent gelezen via de koppen op het bestand om te grijpen een paar belangrijke parameters (omdat het bestand niet wijzigen, dit is niet echt nodig, maar het is nuttig om te beginnen afdrukken van andere dingen), en daarna signalen naar het GMB dat er gegevens overzichtelijk om af te drukken. Het GMB verzendt vervolgens een nieuw signaal, "pull", naar de agent. De agent uit een stuk van afbeeldingsgegevens chops en handen het terug naar het GMB, die vervolgens in handen van het uit de printer. Met de Brok doorgegeven aan de printer en de afdrukken, stuurt het GMB een andere "pull" naar de agent, die chops uit en serveert een ander stuk van beeld; Dit gaat door totdat het beeld wordt gedaan.
En als dat niet je gevoel vrij gepompt laat, duren parachutespringen.