Jeffrey Cross
Jeffrey Cross

Roboter und Raketen mit Javascript bauen

Ron Evans und Adrian Zankich sprechen über Cylon.js auf der Make: Electronics Stage auf der Bay Area Maker Faire 2014

Es gab eine Zeit, in der es eine Woche dauerte, eine LED mit einem Mikrocontroller ein- und auszuschalten, und detaillierte Kenntnisse des Mikrocontrollers. Das war aber vor Arduino. Aber selbst bei Arduino fiel es den Leuten manchmal schwer, die Dinge zusammen zu hacken, die man machen wollte, besonders wenn man sich mit Netzwerken beschäftigen musste, etwas, das auf einem Arduino traditionell als schwer empfunden wurde.

Trotzdem machte der Arduino und später der Raspberry Pi den Bau von Dingen - zum Beispiel Roboter - wesentlich einfacher, vor allem aufgrund der großen Gemeinschaft, die sie um sich herum aufbaute. Es sind diese Gemeinden, die den Arduino und den Raspberry Pi dazu gebracht haben, die Landschaft zu dominieren. Wenn Sie ein Problem hatten, gab es jemanden, der wahrscheinlich bereits das gleiche Problem hatte und es für Sie gelöst hatte.

Ein von Cylon.js kontrollierter Sphero (Kredit Matthew Bergman)

Geben Sie die Webentwickler und node.js ein. Für diejenigen unter Ihnen, die noch nicht auf sie gestoßen sind, ist node.js eine serverseitige Lösung für JavaScript - eine ereignisgesteuerte Javascript-Plattform, die nicht blockierende E / A-Operationen vornimmt - und erfreut sich rasch wachsender Beliebtheit die Web-Community. Diese Popularität und das Aufkommen von Boards, die nativ Javascript sprechen - wie der Tessel oder der Espruino - bedeuten, dass eine dritte Community wächst.

Diese dritte Community scheint Mikrocontroller, Elektronik und Dinge wie das Bauen von Robotern nicht so zu betrachten, wie wir es in der Vergangenheit gemacht haben, und das macht sehr viel Sinn. Sie kommen aus einem Hochsprachen-Hintergrund und aus dem Web. Sie legen den Software-Stack an erster Stelle und das Networking an zweiter Stelle. Ihr Ansatz führt zu Frameworks wie Cylon.js - einem JavaScript-Framework für Robotik, Physical Computing und das Internet of Things für node.js.

Ich habe sie zum ersten Mal auf der ThingsCon getroffen, als sie zu Beginn des Jahres einen Workshop mit Spheros, Arduinos und dem Leap Motion-Gestencontroller veranstalteten, um zu zeigen, wie einfach es ist, Hardware mithilfe von Javascript zu hacken. Als ich vor ein paar Wochen gesehen habe, wie sie auf der Make: Electronics Stage auf der Bay Area Maker Faire sprachen, dachte ich, dass dies eine gute Gelegenheit sei, mich mit Ron Evans, einem der Schöpfer von Cylon.js, zu unterhalten - über das Cylon.js-Framework und wohin es ging.

Erzähl mir von Cylon.js.

Cylon.js ist ein Open-Source-JavaScript-Framework für Robotik und das Internet der Dinge. Es unterstützt 19 verschiedene Hardware- und Softwareplattformen und mehrere Plattformen gleichzeitig. Unser Ziel ist es, die Entwicklung von Software für Geräte so einfach wie die Webentwicklung zu gestalten.

Warum Javascript?

JavaScript ist eine der beliebtesten Programmiersprachen, und dank der Erstellung von node.js können wir die E / A- und Streaming-Funktionen in Echtzeit handhaben, die für die Kommunikation mit vielen verschiedenen Geräten erforderlich sind.

Es scheint ein großes Interesse von Javascript - insbesondere der Node.js-Community - an Hardware zu geben. Warum glauben Sie, dass dies der Fall ist?

Dafür gibt es verschiedene Gründe. Eines ist, dass die JS-Community in Bezug auf die Erkundung neuer Technologien sehr wegweisend ist. Ein anderer Einfluss ist der Einfluss meines Freundes Chris Williams - des Hauptorganisators von JSConf und des neueren RobotsConf -, der maßgeblich dazu beigetragen hat, die JS-Community beim Hardware-Hacking zu unterstützen.

Warum glauben Sie, dass Maker, Leute, die der Hardware bisher viel näher waren, an einem Javascript-Framework interessiert sind?

Die Allgegenwart von JS hat es Menschen viel einfacher gemacht, auf verschiedenen Arten von JS-fähigen Geräten zu programmieren, z. B. Beaglebone Black und Raspberry Pi. Wenn Sie in einer höheren Sprache wie JS arbeiten, können Entwickler weniger Zeit darauf verwenden, die Dinge zum Laufen zu bringen, und mehr Zeit damit, etwas Nützliches zu machen.

Die Plattformen, die Sie unterstützen, scheinen eine Mischung aus UI-Elementen, vorgefertigter Hardware, Software und Boards zu sein. Wie interagieren sie?

Wir nennen es "Full-Stack-Robotik" und wir haben verschiedene Software-Design-Muster verwendet, um verschiedene Ebenen nahtlos miteinander zu integrieren. Ähnlich wie Webentwickler zwischen verschiedenen Datenbank-Engines wechseln können, können Sie die Verbindung zu verschiedenen Geräten herstellen und sogar mit einer minimalen Anzahl von Codeänderungen von einer Plattform zur anderen wechseln. Wir unterstützen auch „Testgetriebene Robotik“ devs erlauben, automatisierte Tests zu schreiben, bevor Code auf der eigentlichen Hardware geschrieben wird.

Wie unterstützt Cylon.js etwas wie das Arduino oder den Digispark, der kein Javascript spricht?

Cylon.js unterstützt auch viele verschiedene Arten der Kommunikation mit Geräten wie seriell oder TCP / UDP. Im Fall des Arduino kommunizieren wir über das Firmata-Protokoll, und im Falle des Digisparks unterstützen wir ein Protokoll namens Littlewire, das von der genialen Jenna Fox erstellt wurde und auf noch kleineren Mikrocontrollern wie dem Digispark läuft.

Sie scheinen eine Menge Workshops durchzuführen, um den Rahmen zu fördern, und sagen Sie mir, wie sie laufen? Warum läufst du sie?

Wir haben eine erstaunliche Reaktion auf die Roboter-Hacking-Workshops erhalten, die wir auf Konferenzen auf der ganzen Welt durchgeführt haben.

Von Leuten, die bereits Hersteller sind, bis zu Menschen, die noch nie die Möglichkeit hatten, irgendwelche Hardware zu programmieren, haben wir ein sehr hohes Maß an Begeisterung und Zufriedenheit erlebt. Wir versuchen auch die künstlerische und kreative Seite einzubeziehen. In unseren letzten Workshops zeigen wir zum Beispiel, wie man tragbare Controller aus Popsicle-Sticks und leitfähiger Folie für Sphero-Roboter herstellt.

Wo sehen Sie Cylon.js?

Wir fangen an, eine sehr aktive Gemeinschaft zu sehen. Bei JSConf hatten wir eine Gruppe von Leuten, die gebaut haben "NodeRockets" mit Cylon.js, dem Raspberry Pi und Arduino, die sie dann mit Druckluft in den Himmel stürzten. Sie hatten Telemetrielesungen durchgeführt, ihre Fallschirme aufgestellt und alles mit Cylon.js. Kein Wunder, dass Cylon.js natürlich Weltraumüberlegenheit demonstriert!

Wir fügen neue Hardware-Unterstützung für weitere Geräte hinzu, von denen einige noch nicht veröffentlicht sind. Daher können wir noch nicht darüber sprechen - aber dazu in den kommenden Monaten noch mehr. Unser Unternehmen ist das „Softwareunternehmen, das Hardwareunternehmen gut aussehen lässt“ Daher sind wir hier, um sowohl als Open Source-Mitwirkende als auch als Profis zu helfen, wenn wir gebraucht werden.

Ich denke, mit der Möglichkeit, Hardware in ihrer Muttersprache zu hacken, werden wir wahrscheinlich mehr Hardware-Hacks von den Web-Entwicklern sehen.

Aktie

Leave A Comment