Dispositif d’impression : l’imprimante thermique de Imp électrique, sans fil, connecté à internet (6 / 7 étapes)

Étape 6: dispositif d’impression : ce qui est dans le code ?

Si le code imp et agent semble un peu étrange pour vous, ne vous inquiétez pas ! L’imp de programmation comporte quelques nouvelles idées, mais la référence de l’API est une grande aide, et l’API riche rend la plupart des tâches matérielles dans one-liners très intuitives. Pour vraiment comprendre ce qui se passe dans votre firmware imp, vous ne peut pas battre il suffit de lire le code et se référant à la référence de l’API, mais nous allons jeter un coup d’oeil à certains des morceaux vraiment intéressants pour vous aider à démarrer. Nous allons commencer avec le firmware de l’imp (thermalprinter.device.nut).

Notre firmware appareil commence par une définition de classe pour la classe « imprimante ». Les classes sont un peu plus utiles dans les situations où vous souhaitez créer plusieurs instances de quelque chose, mais celui-ci ne donne pas une belle façon de structurer notre code. La plupart des choses que le firmware de l’appareil doit faire ici est créée en tant que méthodes de la classe d’imprimante. L’imprimante conserve également une trace de ses propres paramètres actuels.

À l’intérieur du constructeur de la classe de l’imprimante, nous voyons un One-Liner cool pour configurer le matériel de l’UART (Universal de réception asynchrone et Transmit) dans l’imp :

Cela met en place le matériel d’UART sur les broches 5 et 7, les configure le débit en bauds à 19200 (bits par seconde), 8 bits de données par mot, aucun bit de parité, un bit d’arrêt et aucun contrôle de flux ; à peu près les plus simples paramètres de UART que vous pouvez utiliser.

Ci-dessous la définition de classe pour l’imprimante, l’appareil enregistre quelques rappels pour l’agent. Nous pouvons penser de ces crochets, chacun donnant à l’agent une façon de dire à l’appareil de faire quelque chose. Rappels de l’agent sont enregistrés auprès de « agent.on() », qui prend deux arguments : une chaîne, qui est transmise par l’agent de dire à l’appareil qui rappel à utiliser ; et une fonction qui sera appelée lorsque l’agent envoie cette chaîne :

En regardant le firmware, nous pouvons voir que nous avons enregistré des rappels pour toutes sortes de choses ; tête basculante texte gras ou souligné, disant l’imp pour démarrer le téléchargement d’une image de l’agent en utilisant le rappel de « pull » (que vous trouverez comme méthode de la classe d’imprimantes), alimentant un certain nombre de lignes, etc..

Quand les rappels de l’agent sont tous enregistrés et les classes sont définies, nous instancions la classe d’imprimante pour créer un objet printer et nous sommes prêts à aller. Cette version du micrologiciel est principalement axée sur l’événement ; morceaux de celui-ci sont remis en action lorsque l’agent signale qu'il est temps de faire quelque chose.

Le firmware du mandataire est sensiblement la même, mais encore plus courte, avec quelques intéressants morceaux jetés pour les interactions HTTP. Jetons un coup d’oeil :

Nous lancer le tout avec une définition de la fonction printLogo - nous verrons que cela enregistrée comme un rappel pour l’événement de « logo » un peu plus loin vers le bas. Un très utile peu ici est l’illustration de comment faire une demande HTTP GET dans votre Agence :

Nous faisons un objet de requête avec « http.get(reqURL), puis envoyez-le, qui retourne un objet de réponse http. Le corps de cet objet de réponse contient les données d’image - c’est aussi simple que ça !

Après avoir fait un peu de travail avec les données d’image, nous voyons l’agent envoie un événement à l’appareil. Ici, nous avons besoin d’envoyer plusieurs paramètres de l’appareil, afin que nous les emballer dans un tableau et ensuite envoyer ce tableau à l’événement :

Plus loin vers le bas, nous voyons rappels inscrits pour les événements de « pull » et « imageDone » de l’appareil, puis un rappel enregistré avec « http.onrequest ». Il s’agit d’un très utile peu d’agent API: la fonction d’inscription ici sera appelée lorsqu’une requête HTTP (de n’importe quelle méthode) est présentée à l’agent URL répertorié dans les paramètres du périphérique. C’est comment l’agent gère les nouvelles données sur le site de démo d’imprimante :

Une très importante partie ici, pour l’envoi de messages à l’agent: lorsque votre navigateur envoie un message, il envoie un chèque avant le vol tout d’abord pour voir quelles méthodes le destinataire prend en charge. Le bénéficiaire fournit cette information avec ses en-têtes de réponse. Si ceux-ci ne montrent pas que l’agent prend en charge le message, la page ne sera pas envoyer le corps du message, et la demande à l’agent sera vide ! Voici où nous avons mis ces en-têtes pour permettre à notre page de travailler :

L’agent effectue une autre chose utile une fois définies les en-têtes, mais avant d’envoyer une réponse : il détermine s’il faut utiliser le texte message ou image gestionnaire de messages basé sur le chemin de l’URL à laquelle la demande a été faite :

Dans le code de l’agent, nous avons vu la dernière fois le rappel enregistré pour l’événement de « logo » de l’appareil :

C’est le match entier de shooting ! L’imprimante tout connecté à internet, à moins de 600 lignes !

Articles Liés

Comment mesurer le confort thermique avec Imp électrique et Ubidots

Comment mesurer le confort thermique avec Imp électrique et Ubidots

Chaudes journées d'été sont sympa, non ? Mais la température n'est pas tout ce qu'il faut à notre corps à l'aise ; humidité joue un rôle énorme aussi bien. Dans ce tutoriel nous mesurer la température et l'humidité relative de l'environnement et pour
Météo Imp électrique à l’aide de système de jumelage et Arduino Due

Météo Imp électrique à l’aide de système de jumelage et Arduino Due

Just envoyer une vidéo de mon système de jumelage de météo que j'ai fait récemment. Il utilise l'Imp électrique pour se connecter à internet et obtenir des renseignements météorologiques et l'Arduino devait envoyer ces informations aux parties respec
HP Officejet Pro 8600 imprimante sans fil configuration

HP Officejet Pro 8600 imprimante sans fil configuration

L'impression sans fil est un outil utile que la plupart des imprimantes dotées de la capacité de le faire, mais le montage initial pour l'impression sans fil peut être difficile. En suivant ces instructions, rendra le processus plus facile.Étape 1: O
Comment mettre en réseau une imprimante sans fil

Comment mettre en réseau une imprimante sans fil

si vous utilisez vista disposez d'un réseau sans fil, puis je vais vous dire comment faire pour n'importe quelle vieille imprimante à un réseau sans fil de réseau. vous devez avoir l'imprimante branchée à un ordinateur. Même si vista suce j'ai 2 ordi
IMP-ERSONATOR : Imp électrique + Arduino + bouclier vague = distance lecteur de fichier audio

IMP-ERSONATOR : Imp électrique + Arduino + bouclier vague = distance lecteur de fichier audio

ce Instructable vous montrera comment fabriquer un lecteur de fichier audio à distance activé.Il utilise un diablotin électrique, un bouclier de vague Adafruit et un Arduino UnoL'Imp électrique vous permet de connecter rapidement des périphériques (y
Imp électrique pour commander 8 lumières électriques utilisant internet

Imp électrique pour commander 8 lumières électriques utilisant internet

ce projet utilise l'Imp électriques neuves (et super cool).  En WiFi, via internet, vous pouvez 120VAC électriques télécommandes Imp Cloud.  L'Imp envoie une chaîne de série de bits à une « Série de parallèles » puce de sortie numérique (commercialis
Affichage de WiFi progrès Imp électrique

Affichage de WiFi progrès Imp électrique

Nous sommes tombés au hasard à un système de récompense de crème glacée à la maison. Apportant de bonnes notes moyen maison nous faire sortir pour la crème glacée. Pas sûr qu'il s'agit d'un système de récompense politiquement correct, mais c'est un é
Imprimez votre propre haut-parleur portable sans fil !

Imprimez votre propre haut-parleur portable sans fil !

Avez-vous déjà souhaité un haut-parleur portable comme la Jambox par Jabra, mais pas pour 200 $. Il s'agit de mon premier dessin à un haut-parleur portable que vous pouvez prendre n'importe où et sans fil se connecter avec Bluetooth. Il vous permet é
Sans fil impression 3D

Sans fil impression 3D

Avez-vous jamais eu envie d'imprimer sans fil 3d, animée regarder vos impressions. Vous pouvez même arrêter début et télécharger de nouveaux tirages. Un logiciel appelé Octoprint permet cela.Sur--------------------------------------------------------
Créer votre propre lumière intelligente à l’aide de Imp électrique

Créer votre propre lumière intelligente à l’aide de Imp électrique

Créez votre propre lumière intelligente à l'aide de Imp électrique. Apprendre à contrôler et gérer l'éclairage depuis un téléphone mobile, tablette et bureau en 15 minutes. 44 $ en matériel. Niveau d'entrée.Étape 1: matérielPour compléter ce tutoriel
Sans fil Infra rouge dispositif de détection de périmètre

Sans fil Infra rouge dispositif de détection de périmètre

Ce Instructable vous fournira les instructions pour créer un périphérique sans fil Infra rouge périmètre détection. Le dispositif se compose de deux parties : l'émetteur et le récepteur. L'émetteur détecte un mouvement, clignote un voyant infra-rouge
Un 140$ RepRap, imprimante 3D sans fil - Boltz Megatiete

Un 140$ RepRap, imprimante 3D sans fil - Boltz Megatiete

*************************************+ Tout d'abord, ce Instructables a écrit guy ans par an 16... Pas anglais professeur, donc s'il vous plaît informer toute grammaticale erreur avant Making Fun Of me. : p+ Et s'il vous plaît n'imitent pas tout du l
Sans fil impression 3D avec Octoprint sur un Ultimaker

Sans fil impression 3D avec Octoprint sur un Ultimaker

Ce Instructable décrira les étapes pour exécuter Octoprint sur votre Ultimaker original.J'utilise un Mac, alors cela aura les étapes décrites à partir d'un point de vue de OSx:)Tout d'abord, vous aurez besoin d'avoir le droit de « software » en cours
Capteur de température sans fil simple mise à jour de site web avec imp électrique et thermistance

Capteur de température sans fil simple mise à jour de site web avec imp électrique et thermistance

[Edit 2014] L'urbaniste qui a été utilisé par Imp électrique n'est plus utilisé et n'est pas disponible plus. [/ Edit]Il s'agit d'un petit projet pour vous aider à démarrer avec l'imp électrique et une thermistance, ainsi vous pouvez voir comment vou