Arduinolyzer.js : Transformez votre Arduino en un analyseur logique (4 / 8 étapes)

Étape 4: Serveur de Node.js

Voici les principales tâches du serveur :

  • Initialiser le port série et démarrer l’Arduino
  • Démarrer un serveur HTTP
  • Servir la page index.html (et toutes les pages statiques de "/")
  • Répondre à la poste de AJAX à « / start » en fournissant les données à l’Arduino via l’objet port série
  • Inscrire un rappel pour écouter l’Arduino pour l’achèvement
  • Reçoit et regrouper les données de l’Arduino dans un objet JSON et l’envoie au client via socket.io

Tout cela est fait en une centaine de lignes de code grâce à des modules existants de NGP . Le serveur accepte un paramètre de ligne de commande, le nom du port série (/ dev/tty * sur mac/unix et COM * sur Windows).

[Mise en garde : il s’agit de ma première fois en utilisant le paquet serialPort . Je n’ai aucun problème, mais je n’ai pas ce sentiment de vraiment comprendre encore, ce qui me fait mal à l’aise. Parfois la console de débogage a caractères bizarres dedans lors du démarrage de l’Arduino. Ça pourrait être dû à l’ATS n’étant ne pas vidé, ou il pourrait être dû à quelque chose que m’échappe quant au port série. S’il vous plaît laissez-moi savoir si vous avez des questions.]

Avant server.js commence le service HTTP par l’auditeur de app Express, il initialise le port série fourni par le premier argument sur la ligne de commande. Il faut un délai de trois secondes d’attente pour le périphérique de démarrage. J’ai ajouté des mesures préventives supplémentaires à attendre pour la chaîne « initialisée » de l’Arduino, avant que l’utilisateur puisse envoyer des données.

Serveur de Communication client

Il y a seulement deux points de terminaison exposé par le serveur, le poste de « / start » et obtenir de « / ».

Le Client d’appel serveur via AJAX est géré par un formidable objet de formulaire. Le point de terminaison app Express "localhost: 8080 / start" capture la transmission du message par l’intermédiaire de l’objet form, qui est disponible en tant qu’objet JSON texte nativement. Je n’ai vraiment besoin un objet, j’aurais pu utiliser une chaîne de texte, mais j’ai laissé une certaine souplesse. Je n’a pas même inscrire un rappel de .on() avec l’objet POST, je me réfère simplement au paramètre « champs » pendant l’appel parse() .

La page index.html est servie à l’aide du module de serveur Express page statique. Tout dans le public / dossier peut être servi de cette façon, y compris des modules CSS et JS.

Serveur de Communication de l’Arduino

Étant donné que le client a déjà mis en forme la chaîne de commande, le serveur il écrit simplement sur le port série comme-utilise serialport.write() via l’objet de l’analyseur .

Arduino pour la Communication serveur

La réponse de l’Arduino est livré dans le rappel de .on('data') du port série dans l’objet de l’analyseur

Serveur de Communication Client

Le rappel de données gère également empaqueter les données dans un objet JSON et les tirer vers le client via un push socket.io. (C’est tout très passionnante et rafraîchissant par rapport à faire pousser du web dans la fin des années 1990!)

J’ai ajouté quelques commandes de journal pour que je peux regarder les flux de données de l’Arduino et le client. J’ai aussi utiliser le paquet de morgan pour tracer les requêtes HTTP.

Articles Liés

Transformez votre Arduino Uno en un USB-HID-Mididevice

Transformez votre Arduino Uno en un USB-HID-Mididevice

tandis que construire un Arduino Uno fondé Midi-contrôleur pour Ableton Live, je suis tombé sur le projet HIDUINO (http://code.google.com/p/hiduino/). Il vous permet de transformer votre Arduino Uno (ou tout autre appareil utilisant un chipset USB AV
RECOMPILE (renommer) et Flash HIDUINO avec ISP pour transformer votre Arduino en un périphérique HID (usb-midi)

RECOMPILE (renommer) et Flash HIDUINO avec ISP pour transformer votre Arduino en un périphérique HID (usb-midi)

HIDUINO est un firmware (code) fait pour courir sur les microcontrôleurs Atmega8u2 (Arduino UNO Rev 2 - et antérieur - ou Mega2560) et Atmega16u2 (Arduino UNO Rev3).Ce sont ceux en charge de faire de l'ordinateur et les conseils de parler les uns aux
ArduFlake : Transformez votre Arduino en le meilleur cadeau du monde !

ArduFlake : Transformez votre Arduino en le meilleur cadeau du monde !

S'il vous plaît votez pour moi au concours de cadeau de vacances et du faire ce concours Glow !Tout d'abord, cela a commencé comme un cadeau et non un instructable. S'il vous plaît excuse une main agitant ici et là comme je n'ai pas de photo de la gr
Transformez votre Arduino en un lecteur de cartes magnétiques !

Transformez votre Arduino en un lecteur de cartes magnétiques !

Tout le monde a utilisé un lecteur de cartes magnétiques, je crois. Je veux dire, qui exploite une trésorerie ces jours-ci ? Ils ne sont pas difficiles à mettre la main sur, soit, et lors d'un voyage à mon magasin préféré électronique local, j'ai tro
Transformer votre Arduino en un synthétiseur wavetable de 4 voix avec seulement quelques composants...

Transformer votre Arduino en un synthétiseur wavetable de 4 voix avec seulement quelques composants...

Des projets de synthétiseur multiples ont été réalisées pour l'Arduino, mais peu ont été capables d'utiliser la pleine puissance du processeur de l'Arduino. DZL de GeekPhysical écrivit un synthétiseur wavetable 4 voix qui est l'un des plus avancés sy
Bases de transformer votre véhicule Controll distant en un système autonome (Drone) en utilisant un Arduino

Bases de transformer votre véhicule Controll distant en un système autonome (Drone) en utilisant un Arduino

j'ai commencé ce projet avec l'objectif de transformer à moindre coût ma RC hélicoptère en quelque chose d'un UAV ou au moins pour s'adapter à certains capteurs pour réduire les collisions et autres "Pad mal."Maintenant, malheureusement, au débu
Comment transformer votre smartphone à un générique shield pour Arduino

Comment transformer votre smartphone à un générique shield pour Arduino

Salut les gars, je suis l'un des créateurs de 1Sheeld, c'est une application mobile et une planche qui transforme votre smartphone en une plateforme ouverte pour Arduino.ComposantsArduino Uno 19,99 $1Sheeld 54,94 $Maquette, cavaliers, LEDsFondamental
SensoDuino : Transformez votre téléphone Android en un Hub de capteurs sans fil pour Arduino

SensoDuino : Transformez votre téléphone Android en un Hub de capteurs sans fil pour Arduino

Mises à jour23 novembre 2013: SensoDuino 0,160 obtient un visage à gauche.Le 19 nov. 2031 : avis : la synergie incroyable entre Arduino & Android.19 novembre 2013: SensoDuino 0.159 est sorti. Téléphone Android date (y, m, d) et l'heure (h, m, s) sont
Intégrer votre Arduino avec Flash et Actionscript 3

Intégrer votre Arduino avec Flash et Actionscript 3

donc vous pourriez avoir été en regardant autour sur divers sites de téléchargement de code pour Arduino pour communiquer avec flash, mais si vous êtes comme moi vous avez probablement eu quelques difficultés à essayer de les amener à bien communique
Un petit interrupteur et boîte de potentiomètre pour votre Arduino

Un petit interrupteur et boîte de potentiomètre pour votre Arduino

avoir bricolé des charges d'Arduino circuits et me retrouvais toujours piquer des commutateurs et potentiomètres par carton, j'ai pensé qu'il était temps de produire quelque chose d'un peu plus joli. Alors, voici comment faire une jolie petite boîte
Arduino universel Bluetooth Connect - contrôle votre Arduino avec votre appareil Android

Arduino universel Bluetooth Connect - contrôle votre Arduino avec votre appareil Android

J'ai toujours voulu contrôler plus facilement mon Arduino avec mon Smartphone, mais j'ai jamais trouvé la solution parfaite pour le faire. Je ne veux pas dire que c'est parfait, mais il fait ce que je veux qu'il do...well pas complètement, mais je su
Alimenter votre Arduino/AVR avec une batterie Hand-Cranked

Alimenter votre Arduino/AVR avec une batterie Hand-Cranked

si vous avez toujours voulu votre Arduino ou AVR de puissance d'une batterie pour les essais de développement (batteries ont qualités livraison différentes puissances à, dire, AC transformé ou même une verrue mur réglementé en DC) essais mais étaient
Transformer votre téléviseur LCD/LED en hologramme TV

Transformer votre téléviseur LCD/LED en hologramme TV

Je vous présente trois étapes simples pour transformer votre téléviseur LCD/LED en un hologramme TV...Très facile et très simple.Étape 1: Couper et coller... Couper quatre feuilles A4 transparentes en forme trapézoïdale et se joindre à eux pour forme
Comment transformer votre Pi framboise 2 dans une Console rétro

Comment transformer votre Pi framboise 2 dans une Console rétro

C'est comment vous pouvez transformer à votre Raspberry Pi 2 dans une console rétro assez puissante. Il dirige la station de l'émulation et peut émuler les consoles plus de 20 jusqu'à l'époque de la n64.Étape 1: Ce que vous devezUn pi framboise 2Une