Heim >Web-Frontend >js-Tutorial >nodejs einfache Implementierung des Arduino-Betriebs

nodejs einfache Implementierung des Arduino-Betriebs

高洛峰
高洛峰Original
2017-01-04 16:47:201828Durchsuche

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)

nodejs einfache Implementierung des Arduino-Betriebs

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

nodejs einfache Implementierung des Arduino-Betriebs

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

nodejs einfache Implementierung des Arduino-Betriebs

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:

nodejs einfache Implementierung des Arduino-Betriebs

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:

nodejs einfache Implementierung des Arduino-Betriebs

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

nodejs einfache Implementierung des Arduino-Betriebs

und dann ausführen:

gort arduino install

Das Ergebnis ist wie folgt:

nodejs einfache Implementierung des Arduino-Betriebs

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:


Das heißt, führen Sie den Link erneut aus, wenn es keinen erfolgreichen Brew-Link gibt .

nodejs einfache Implementierung des Arduino-BetriebsDann:

gort arduino upload firmata / dev/tty.wchusbserial1420


erfolgreich. Zu diesem Zeitpunkt erneut ausführen: node main.js

nodejs einfache Implementierung des Arduino-Betriebs

arduino antwortet, die LED mit dem Namen tx blinkt alle 3 Sekunden, geben Sie

https://127.0 in den Browser ein. 0,1:3000nodejs einfache Implementierung des Arduino-Betriebs

nodejs einfache Implementierung des Arduino-Betriebs

Weitere Artikel zur einfachen Implementierung von Arduino durch NodeJS finden Sie auf der chinesischen PHP-Website!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn