Es ist nicht ungewöhnlich, Javascript zur Bedienung von Hardware zu verwenden.
Als FE mit Hauptfach Elektronik habe ich auch vor, mit js Arduino anzusteuern.
Um diese zugrunde liegende Hardware zu bedienen, benötige ich auf jeden Fall einige Tools, die ich hier vorstellen werde Hauptwerkzeuge sind Cylonjs und Gort
Cylonjs ist eigentlich ein JS-Framework zum Betreiben von „Maschinen“. Die Einführung auf der offiziellen Website lautet wie folgt:
Cylon.js ist ein JavaScript-Framework für Robotik. Physical Computing und das Internet der Dinge machen es unglaublich einfach, Roboter und Geräte zu steuern.
Um es einfach auszudrücken: Es unterstützt viele Hardwareplattformen, wie z. B. Arduino. etwas Ähnliches wie ein Mikrocontroller)
Beispielteil des Codes:
var Cylon = require("cylon"); // Initialize the robot Cylon.api('http');//这个是用来连接本地浏览器的 Cylon.robot({//调用robot函数,并传入一个大对象来配置 // Change the port to the correct port for your Arduino. connections: {//连接项定义小对象,用来配置连接arduino arduino: { adaptor: 'firmata', port: '/dev/cu.wchusbserial1420' }//prot是我arduino的在mac上连接的端口 //firmata是一个PC与MCU通讯的一个常用协议。其遵旨是能与任何主机PC软件包兼容,这样可方便地将对协议的支持加入软件系统中。Firmata起初是针对于PC与Arduino通讯的固件(Firmware),其目标是让开发者可以通过PC软件完全地控件Arduino。 }, devices: {//设备,定义要操作的具体器件,这里是led,pin口是1 led: { driver: 'led', pin: 1 }// }, work: function(my) {//驱动函数, every((3).second(), function() {//每3秒,闪一下((3).second()貌似是lodash,我猜的,没用过,嘿嘿) my.led.toggle();//my应该是指向他自己 }); } }).start();//配置好了之后就开始工作
Lassen Sie es uns im Detail erklären
Installieren Sie cylonjs
Okay, der erste Schritt ist definitiv die Installation:
npm install cylon
Neues Projekt
Erstellen Sie ein neues Verzeichnis (meins ist robot) und dann im Terminal (ich verwende Es ist ein Mac, wenn es ein Fenster ist, mache es in Git Bash) Geben Sie
npm init
ein. Drücken Sie im Grunde einfach weiter die Eingabetaste, aber ich habe meine geändert Eintragsdatei zu Main.js:
Einstiegspunkt: (index.js) main.js
Danach geben Sie im Terminal Folgendes ein:
touch main.js
Erstellen Sie einfach eine neue main.js-Datei, und Windows erstellt sie manuell.
Dann in main.js:
var Cylon = require("cylon"); // Initialize the robot Cylon.api('http');//这个是用来连接本地浏览器的 Cylon.robot({//调用robot函数,并传入一个大对象来配置 // Change the port to the correct port for your Arduino. connections: {//连接项定义小对象,用来配置连接arduino arduino: { adaptor: 'firmata', port: '/dev/cu.wchusbserial1420' }//prot是我arduino的在mac上连接的端口 //firmata是一个PC与MCU通讯的一个常用协议。其遵旨是能与任何主机PC软件包兼容,这样可方便地将对协议的支持加入软件系统中。Firmata起初是针对于PC与Arduino通讯的固件(Firmware),其目标是让开发者可以通过PC软件完全地控件Arduino。 }, devices: {//设备,定义要操作的具体器件,这里是led,pin口是1 led: { driver: 'led', pin: 1 }// }, work: function(my) {//驱动函数, every((3).second(), function() {//每3秒,闪一下((3).second()貌似是lodash,我猜的,没用过,嘿嘿) my.led.toggle();//my应该是指向他自己 }); } }).start();//配置好了之后就开始工作
Als ich node main.js zum ersten Mal ausführte, zeigte eine Fehlermeldung an, dass das Cylon-Firma-Modul nicht gefunden werden konnte
Tatsächlich habe ich dieses Modul im aktuellen Verzeichnis installiert. Tatsächlich muss ich auch Cylon installieren. Der folgende Vorgang ist kein Problem
npm install cylon cylon-firmata
Dann führen Sie node main.js aus:
Einen Fehler melden? Weil ich das Arduino noch nicht angeschlossen habe.
Wie finde ich den Port von Arduino, wenn ich mit Arduino verbunden bin? Es gibt diesen Code in main.js:
Woher kommt der Wert von prot ? Zu diesem Zeitpunkt wird gort verwendet
gort-Einführung:
GORT ist ein Befehlszeilen-Toolkit für RobotOps
Ich denke, es ist ein Befehlszeilentool zum Erkennen von Hardware,
Installation:
brew install hybridgroup/tools/gort
Wenn Sie Windows oder Linux verwenden, können Sie natürlich die offiziellen Website-Anweisungen selbst lesen: gort installieren
und dann den folgenden Code ausführen, um den Port zu erkennen
gort scan serial
und dann ausführen:
gort arduino install
Das Ergebnis ist wie folgt:
Dies bedeutet, dass die Installation erfolgreich war, der Brew-Link-Schritt jedoch nicht erfolgreich war Der Grund dafür ist, dass /usr/local/lib nicht beschreibbar ist, d -R whoami /usr/local/lib
Dann ausführen:Dann:
gort arduino upload firmata / dev/tty.wchusbserial1420
https://127.0 in den Browser ein. 0,1:3000
Weitere Artikel zur einfachen Implementierung von Arduino durch NodeJS finden Sie auf der chinesischen PHP-Website!