Node.js : la manière la plus intelligente pour programmer des objets intelligents

Node.js est de plus en plus demandé pour la programmation matérielle. La version complète de Google V8 aide à gérer la puce Edison d’Intel. La communauté IO a déjà impliqué Node.js pour l’électronique embarquée et la robotique, avec des exemples notables, y compris Nodebots et Cylon. Et maintenant, même les petits appareils comme Tessel 2 – une plate-forme de développement pour le prototypage matériel – utilisent JavaScript.

Pourquoi c’est un big deal? ça rend la programmation matérielle beaucoup plus simple – les ingénieurs peuvent apprendre Node.js dans un week-end. De plus, il permet de construire et programmer un dispositif IOT complet, du début à la fin, en moins de quatre heures. Cela peut très bien être l’avenir de la programmation du matériel.

L’ingénieur principal d’intel Michael McColl a présenté un workshop à la conférence O’Reilly’s Solid Conference dans lequel il a programmé un système complet d’IoT avec Node.js et HTML5. En seulement 3 heures et demi, il a conduit les présents à construire un système IoT complet et sophistiqué incluant la construction d’un proto hardware, hardware interfacing, streaming telemtry, la construction d’une UI dans le smartphone et la création de l’app. Dans son explication il a dit :

The Web server part is just five lines of code. The rest of it is similarly simple. The complete code is only about 200 lines on the embedded device, plus a little bit more…when you add in graphs of things for streaming data.”

Les raisons d’utiliser Node.js pour le matériel sont simples : il est standardisé, event driven, et a une productivité très élevée. De plus, il est typé dynamiquement, ce qui le rend plus rapide à écrire et obtenir parfaitement un prototype de matériel prêt à l’emploi. Avec JavaScript, vous pouvez construire un prototype rapidement, le mettre en face des utilisateurs pour obtenir des commentaires, et itérer. Il est également assez robuste que vous pouvez prendre tout le chemin pour la prod. Et si vous êtes préoccupé par le TTM et vous voulez obtenir beaucoup de fonctionnalités mises en œuvre dans un court laps de temps, votre arme est le Node.js

L’un des autres points forts de Node.js est son immense bibliothèque de paquets, plus de 132.000 actuellement, un chiffre en constant augmentation. En Septembre 2015, ils y en avait 74.000. Tous les paquets ne sont pas conçus pour les petits appareils, mais ils sont faciles à installer avec une seule commande. Node.js supporte également un certain nombre d’autres systèmes de communication IoTspécifiques, tels que MQTT (MQ Telemetry Transport), qui est conçu pour les mises à jour rapides des petits appareils.

Cela dit, la construction en Node.js nécessite des connaissances spécialisées sur la façon de se connecter au Web et d’autres dispositifs IoT. Mais il existe des outils simples qui peuvent aider. McCool a mis le point sur StackOverflow pour vous aider à démarrer. Personellement, j’apprécie beaucoup Browserify et Ecstatic – packages de serveur Web simples qui vous permettent de construire dans Node.js et de le transformer en contenu Web. Browserify peut convertir de nombreux programmes et outils Node.js afin qu’ils fonctionnent à l’intérieur de la version du navigateur de JavaScript. Le paquet Ecstatic permet de configurer un serveur Web simple rapidement, en utilisant seulement quelques lignes de code. “En utilisant l’un de ces paquets, vous pouvez construire un serveur Web et / ou un service Web», a déclaré McCool. “Et bien sûr, vous pouvez également utiliser Node.js pour le code côté serveur.”

Alors que certains experts soulignent que Java est toujours une option viable pour la programmation IoT, McCool a dit que JavaScript rend la programmation de ces sytèmes plus simple. Les raisons concernent la politique et la portabilité. “Apple décourage l’utilisation d’implémentations Java standard dans iOS pour diverses raisons, donc des approches de pré-compilation relativement complexes sont nécessaires pour l’utiliser,” dit-il. Mais en réalité, on n’a pas vraiment besoin de Java. L’ensemble des bibliothèques disponibles en JavaScript est tout aussi riche. Les programmes JavaScript sont exécutés sur des systèmes embarqués, des serveurs, des appareils mobiles et des ordinateurs de bureau. Et ils sont sous Windows, Linux, Android et iOS.

En bref: pour la construction d’un système IoT complet de bout en bout, JavaScript est le système de programmation le plus portable.

Il suffit de dire que l’IoT est un énorme mashup des services Web, la technologie du navigateur, et la technologie embarquée“, a déclaré McCool. “JavaScript est très utile dans tous ces lieux.”

 

Pour aller plus loin sur les objets connectés, téléchargez mon livre blanc !

Aymen CHAKHARI

Aymen CHAKHARI

Ingénieur de recherche

Ingénieur en télécom, informatique et systèmes embarqués diplômé de SUP’COM (Tunis), Aymen a été doctorant à l’INRIA / IRISA dans le domaine des systèmes numériques embarqués et des systèmes de traitement numérique du signal. Il a rejoint Pentalog Institute en 2014 d’une part en tant qu’ingénieur de recherche sur les projets de conception et de développement internes et d’autre part en tant que consultant en management et financement de l’innovation et de la recherche privée auprès des clients Pentalog, aux côtés de Sébastien Louchart et de Laurent Clementz.

Plus d'articles

Ajouter un commentaire

Votre adresse email ne va pas être publiée.