Mittwoch, 22. Juli 2015

Arduino mit NodeJS programmieren

In diesem Post geht es darum, wie man den Arduino mit NodeJS, also JavaScript, programmieren kann. Das Programmieren von Mikrocontroller in JavaScript ist ein einfache Alternative zum Programmieren in C. Dabei wird der Code jedoch nicht im Ganzen auf den Mikrocontroller geladen, sondern der Code auf dem PC ausgeführt und über ein spezielles Protokoll dem Arduino immer einzelne Befehle über die serielle Verbindung gesendet, die er sofort ausführt. Das bringt einige Vorteile mit sich.

Die Installation von NodeJS

Zunächst einmal muss man sich NodeJS von der offiziellen Website herunterladen und installieren. Jetzt erstellen wir einen Ordner für ein erstes kleines Blinkprogramm. Dieser Ordner kann an einer beliebigen Stelle gespeichert werden. In diesem Ordner erstellen wir nun eine "package.json" Datei. In dieser werden relevante Informationen über das Programm gespeichert. Ein Beispiel ist die Folgende. 

Dabei fällt johnny-five auf. Johnny-five ist ein Paket, welches unseren JavaScript Code für den Arduino übersetzt. Die Übersetzung wird dann über das Firmata Protokoll an den Arduino gesendet. Das Firmata Protokoll ist das besagte Protokoll, über welches man live Befehle an den Arduino senden kann. Nun muss man die CMD öffnen. Das geht über die Tastenkombination Windowstaste + R. Im erscheinenden Fenster tippt man "cmd.exe". In der CMD muss man nun in den Ordner gehen, in dem die package.json ist. Das geht über cd Pfad zur Datei. Das sieht dann in etwa so aus cd C:\Programme(x86\.... Jetzt tippt man den Befehl npm install ein. Damit wird die johnny-five Bibliothek für das Programm nachgeladen. Deshalb sollte sich in eurem Programmordner jetzt ein Unterordner namens node_modules befinden. Jetzt können wir das eigentlich Programm schreiben. Das geht über den ganz normalen Windows Editor.
Dort fügt ihr nun den folgenden Code ein:

Jetzt speichert ihr die Datei unter dem Namen blinken.js in eurem Ordner ab.
Nun müssen wir nur noch einen Sketch auf den Arduino laden, damit er weiß, dass er die gesendeten Befehle auch ausführen soll. Dieser Sketch ist der StandardFirmata Sketch in den Beispielen der Arduino IDE.
Jetzt ist es Zeit unser blinken Programm zu starten. Dazu klickt ihr mit der rechten Maustaste auf die blinken.js und dann auf Öffnen mit > NodeJS oder ähnlich:
Anschließend öffnet sich das NodeJS Terminal und ihr seht, was das Programm tut. Am Arduino seht ihr jedes mal, wenn sich der Status der LED ändert, dass die RX Led aufleuchtet, der Arduino also etwas über die serielle Verbindung vom PC empfangen hat.

Keine Kommentare:

Kommentar veröffentlichen