Étape 4: dispositif d’impression : programmer votre imp
Dans l’IDE d’imp, appareils appartiennent au modèle. Un modèle se réfère à ce genre de chose est de votre appareil. Par exemple, sur mon plan, j’ai un modèle de thermomètre pour les trois thermomètres connectés à internet dans ma maison, un pour mon imprimante, un pour mon controlBox, pour les feux de salle de conférence imp, etc..
Dans « paramètres du périphérique », entrez un nom pour votre nouvelle imprimante. Avant de vous enregistrez et revenir à l’éditeur de code, cliquez sur le menu pour afficher vos modèles disponibles et choisir "créent un nouveau modèle". Entrez un nom pour ce nouveau modèle dans la boîte. Cliquez sur enregistrer, puis vous retournerez à l’éditeur de code.
Il est maintenant temps d’ajouter du code. Vous devez avoir un navigateur ouvert et a fait à https://github.com/electricimp/examples/tree/master/thermalprinter, où j’ai posté le code que vous devrez obtenir votre imprimante fonctionne. Dans l’IDE, vous verrez trois volets: « agent », « appareil » et « journaux ». Le volet « périphérique » est où vous allez placer le code à exécuter sur la carte de l’imp. Le « agent » est un peu VM, tout comme l’exécutant un dans la carte de l’imp, qui exécute à l’intérieur les serveurs imp électrique et a une ligne directe avec votre carte imp. L’agent vous permet de faire beaucoup de choses que vous ne pouvait pas faire avec juste une carte de l’imp, comme répondre aux requêtes HTTP alors que la carte de l’imp est en veille pour économiser les piles, à envoyer des requêtes HTTP et à analyser JSON pour interagir avec toutes sortes d’API et accrocher de plus grands ensembles de données que l’imp peut garder en mémoire.
Prenez le firmware de l’appareil, « thermalprinter.device.nut » de github et collez-le dans la fenêtre « périphérique » dans l’IDE. L’extension de fichier n’est pas une tentative juvénile un humour, c’est en fait l’extension de fichier appropriée pour les fichiers sources écrites en écureuil, le langage javascript comme léger qui utilise l’imp. Le code de l’agent est « thermalprinter.agent.nut » ; collez-le dans la fenêtre de l’agent.
Vous pouvez configurer l’IDE dans beaucoup de différentes manières à conviennent le mieux à votre style. Les boutons dans le coin supérieur gauche de la fenêtre de commande le look and feel de l’EDI. Les boutons à bascule avec les rectangles empilés vous permettent d’afficher les fenêtres de l’appareil et des agent haut et bas ou side-by-side. L’icône d’engrenage ouvre une petite fenêtre où vous pouvez choisir un jeu de couleurs clair-sur-sombre ou clair-sur-sombre, ainsi que définir la taille de l’onglet dans la fenêtre de votre éditeur. Il y a aussi une icône Développer/réduire petit à l’intérieur de la fenêtre du modèle, juste sous l’icône d’engrenage - cliquant sur ce fait alterner une vue où le volet de navigation de gauche est caché pour vous donner plus d’espace pour travailler. L’IDE auto-enregistre pendant que vous modifiez, et l’exécution de votre code enregistre également.
Une fois que votre code est collé, appuyez sur le bouton « Build and Run » pour envoyer votre code à l’imp et commencer à courir. Vous voir le démarrage de l’imp et commencer à courir et imprimer des messages dans le journal et puis signaler à l’agent qui souhaite que d’imprimer le logo de l’imp. Ici, peu de magie qui se passe. NERD ALERT : Si vous ne se souciez magie, dirigez-vous vers la prochaine étape maintenant.
Le logo de l’imp doit être formaté comme un .bmp large 384 pixels pour l’imprimante de l’imprimer, et il doit être transmis à l’imprimante ligne par ligne. Il s’agit d’un grand nombre de données pour l’imp stocker en mémoire, donc nous avons l’agent de faire le gros du travail pour nous. L’imp envoie un signal (« logo ») à l’agent. Lorsque l’agent se présente, il se dirige vers le serveur imp, où j’ai caché loin le fichier que nous avons besoin pour le travail et le télécharge (juste un simple HTTP GET). L’agent se lit à travers les en-têtes sur le fichier pour attraper quelques paramètres importants (étant donné que le fichier ne change pas, ce n’est pas vraiment nécessaire, mais il est utile de vous aider à démarrer impression autres choses), puis à l’imp des signaux qu’il a données prêtes pour l’impression. L’imp envoie ensuite un nouveau signal, « pull », à l’agent. L’agent côtelettes sur un segment de données de l’image et tend retour à l’imp, qui transmet ensuite à l’imprimante. Avec le morceau remis à l’imprimante et l’impression, l’imp envoie un autre « pull » à l’agent, qui côtelettes au large et sert un autre morceau d’image ; cela continue jusqu'à ce que l’image est faite.
Et si qui ne vous laissera assez pompé, relever de parachutisme.