Jeffrey Cross
Jeffrey Cross

Construire des robots et des fusées avec Javascript

Ron Evans et Adrian Zankich parlent de Cylon.js sur la scène Make: Electronics du Bay Area Maker Faire 2014

Il fut un temps où l'allumage et l'extinction d'une LED à l'aide d'un microcontrôleur prenait une semaine et une connaissance détaillée du microcontrôleur. Mais c'était avant Arduino. Mais même avec Arduino, les gens trouvaient parfois difficile de concilier les tâches voulues, en particulier lorsque vous deviez gérer des réseaux, ce qui était traditionnellement considéré comme difficile sur un Arduino.

Malgré cela, l'Arduino, et plus tard le Raspberry Pi, ont facilité la construction d'objets - des robots par exemple - beaucoup plus facilement, principalement en raison de l'énorme communauté qu'ils ont construite autour d'eux-mêmes. Ce sont ces communautés qui ont conduit l'Arduino et le Raspberry Pi à dominer le paysage. Si vous aviez un problème, il y avait quelqu'un qui avait probablement déjà eu le même problème et qui l'a résolu pour vous.

Sphero contrôlé par un Cylon.js (crédit Matthew Bergman)

Entrez les développeurs Web et node.js. Pour ceux d'entre vous qui ne l'ont pas encore rencontré, node.js est une solution côté serveur pour JavaScript. Il s'agit d'une plate-forme JavaScript pilotée par les événements qui effectue des E / S non bloquantes. Elle gagne rapidement en popularité et en partage d'esprit entre la communauté Web. C’est cette popularité et l’arrivée de conseils qui parlent nativement le langage Javascript - comme le Tessel ou l’Espruino - qui font qu’une troisième communauté se développe.

Cette troisième communauté ne semble pas s'intéresser aux microcontrôleurs, à l'électronique et à des tâches telles que la construction de robots, de la même manière que nous l'avons fait par le passé, et cela a beaucoup de sens. Venant d'un environnement linguistique de haut niveau et du Web, ils ont mis la pile de logiciels en premier et la mise en réseau en second lieu. Leur approche conduit à des frameworks tels que Cylon.js, un framework JavaScript pour la robotique, l’informatique physique et l’Internet des objets écrit pour node.js.

Je les ai rencontrés pour la première fois à ThingsCon au début de l'année, où ils ont organisé un atelier utilisant Spheros, Arduinos et le contrôleur gestuel Leap Motion pour montrer à quel point il est facile de pirater du matériel à l'aide de Javascript. Alors, quand j'ai vu qu'ils discutaient sur la scène Make: Electronics au Bay Area Maker Faire il y a quelques semaines, j'ai pensé que c'était une bonne occasion de s'asseoir et de parler à Ron Evans, l'un des créateurs de Cylon.js. - sur le framework Cylon.js et où il allait.

Alors parlez-moi de Cylon.js?

Cylon.js est un framework JavaScript open source pour la robotique et l'Internet des objets. Il prend en charge 19 plates-formes matérielles et logicielles différentes, ainsi que plusieurs plates-formes à la fois. Notre objectif est de rendre le développement de logiciels pour appareils aussi simple que le développement Web.

Pourquoi Javascript?

JavaScript est l’un des langages de programmation les plus populaires et, grâce à sa construction sur node.js, nous pouvons gérer les E / S en temps réel et la diffusion en continu nécessaires pour communiquer avec de nombreux périphériques différents.

Il semble que le langage Javascript suscite beaucoup d’intérêt, en particulier celui de la communauté Node.js, en ce qui concerne le matériel. Pourquoi pensez-vous que c’est?

Il y a deux raisons différentes. La première est que la communauté JS est un précurseur dans l’exploration de nouvelles technologies. Un autre exemple est l'influence de mon ami Chris Williams - le principal organisateur de JSConf et le plus récent RobotsConf - qui a joué un rôle clé dans la découverte du piratage matériel par la communauté JS.

Pourquoi pensez-vous que Makers, des personnes qui ont toujours été beaucoup plus proches du matériel, vont être intéressées par un framework Javascript?

L'omniprésence de JS a beaucoup facilité la tâche de programmation sur différents types d'appareils compatibles JS, tels que le Beaglebone Black et le Raspberry Pi. Travailler dans un langage de niveau supérieur tel que JS permet aux développeurs de passer moins de temps à simplement essayer de faire fonctionner les choses et plus de temps à rendre quelque chose d'utile.

Les plates-formes que vous prenez en charge semblent être un mélange d'éléments d'interface utilisateur, de matériel, de logiciels et de cartes prédéfinis. Comment interagissent-ils?

Nous l'appelons «Robotique full-stack» et nous avons adopté plusieurs modèles de conception de logiciel pour intégrer différentes couches de manière transparente. Semblable à la façon dont les développeurs Web peuvent basculer entre différents moteurs de base de données, nous vous permettons de vous connecter à différents périphériques et même de passer d'une plate-forme à une autre avec un minimum de modifications de code. Nous soutenons également «Robotique pilotée par les tests» pour permettre aux développeurs d'écrire des tests automatisés avant d'écrire du code sur le matériel réel.

Comment Cylon.js "supporte-t-il" quelque chose comme l’Arduino ou le Digispark qui ne parle pas Javascript?

Cylon.js prend également en charge de nombreux types de communication avec des périphériques, tels que les communications série ou TCP / UDP. Dans le cas de l'Arduino, nous communiquons via le protocole Firmata et, dans le cas du Digispark, nous prenons en charge un protocole nommé Littlewire, créé par la brillante Jenna Fox, qui s'exécute sur des micro-contrôleurs encore plus petits, tels que le Digispark.

Vous semblez animer de nombreux ateliers pour promouvoir le cadre, dites-moi comment ça se passe? Pourquoi les dirigez-vous?

Nous avons eu une réponse incroyable aux ateliers de piratage de robots que nous avons organisés lors de conférences partout dans le monde.

Des personnes qui sont déjà des concepteurs à celles qui n’ont jamais eu la chance de programmer du matériel, nous avons constaté un niveau d’enthousiasme et de bonheur vraiment élevé. Nous essayons également d'intégrer le côté artistique et créatif. Par exemple, lors de nos récents ateliers, nous montrons aux gens comment fabriquer des contrôleurs portables à partir de bâtons de Popsicle et de feuilles conductrices pour conduire autour de robots Sphero.

Où voyez-vous Cylon.js se diriger?

Nous commençons à voir une communauté très active grandir. À JSConf, nous avons eu un groupe de personnes qui ont construit "NodeRockets" en utilisant Cylon.js, le Raspberry Pi et Arduino, qu’ils ont ensuite lancés dans le ciel en utilisant de l’air comprimé. Ils avaient des relevés télémétriques, déployé leurs parachutes et tout en utilisant Cylon.js. Pas étonnant que Cylon.js démontre bien entendu sa supériorité spatiale!

Nous ajoutons une nouvelle prise en charge matérielle pour plusieurs périphériques, dont certains ne sont pas encore disponibles. Nous ne pouvons donc pas en parler pour le moment, mais plus encore dans les mois à venir. Notre société est la "Société de logiciels qui donne aux entreprises de matériel une belle apparence", Nous sommes donc ici pour aider à la fois en tant que contributeurs Open Source, et en tant que professionnels lorsque nous en avons besoin.

Avec la possibilité pour eux de pirater du matériel dans leur langue maternelle, je pense que nous allons voir beaucoup plus de piratage de matériel de la part des développeurs Web.

Part

Laisser Un Commentaire