ホームページ  >  記事  >  ウェブフロントエンド  >  Arduinoを操作するnodejsの簡単な実装

Arduinoを操作するnodejsの簡単な実装

高洛峰
高洛峰オリジナル
2017-01-04 16:47:201757ブラウズ

JavaScript を使用してハードウェアを操作することは、もはや珍しいことではありません。

それで、電子工学を専攻しているFEとして、私もjsを使ってarduinoを動かしてみるつもりです

これらの基盤となるハードウェアを操作したい場合は、間違いなくいくつかのツールが必要です。ここで紹介するツールは主にcylonjsとgortです

。 cylonjs は、実際には「マシン」を操作するための JavaScript フレームワークです。公式 Web サイトの紹介は次のとおりです。

Cylon.js は、ロボット工学、物理コンピューティング、およびモノのインターネットのための JavaScript フレームワークです。簡単に言うと、JS はハードウェアを操作するために使用されます。Arduino (マイクロコントローラーに似たもの) など、多くのハードウェア プラットフォームをサポートしています

たとえば、コードの一部: Arduinoを操作するnodejsの簡単な実装

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();//配置好了之后就开始工作

詳しく説明します

cylonjs をインストールします

さて、最初のステップはインストールです:

npm install cylon

新しいプロジェクト

新しいディレクトリを作成し (私のディレクトリはロボットです)、次にターミナルで (私は Mac を使用しています) windowの場合はgitを使用します bashで操作します)

npm init

と入力します 基本的にはEnterを押すだけですが、エントリファイルをmain.js:

entry point: (index.js) main.js

に変更しました。


その後、ターミナルに次のように入力します: Arduinoを操作するnodejsの簡単な実装

touch main.js

つまり、新しい main.js ファイルを作成することになり、Windows がそれを手動でビルドします。

次に 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();//配置好了之后就开始工作

最初にノード main.js を実行したとき、cylon-firmata モジュールが見つからないというエラー メッセージが表示されました

実際、このモジュールは現在のディレクトリにインストールしましたcylon もインストールする必要があります。次の操作は問題ありませんArduinoを操作するnodejsの簡単な実装

npm install cylon cylon-firmata

その後、node main.js を実行します:

エラーを報告しますか?まだArduinoを接続していないので。 Arduinoを操作するnodejsの簡単な実装

Arduino に接続されているときに Arduino のポートを見つけるにはどうすればよいですか? main.js には次のコードがあります:

prot の値はどこから来ますか?今回はGortを使用しますArduinoを操作するnodejsの簡単な実装

gortの紹介:

GORTはRobotOps用のコマンドラインツールキットです

ハードウェアを検出するためのコマンドラインツールだと思います

インストール:

brew install hybridgroup/tools/gort

もちろん、Windows または Linux を使用している場合は、公式 Web サイトの手順を自分で読むことができます: gort

をインストールし、次のコードを実行してポートを検出します

gort scanserial


次に実行します: Arduinoを操作するnodejsの簡単な実装

gort arduino install

結果は次の状況です:

これは、インストールが成功したことを意味しますが、/usr/local/lib が書き込み可能ではないことが原因です。つまり、書き込み権限がないため、次のコマンドを実行します: (whoami はあなたのコンピュータのユーザー名です)Arduinoを操作するnodejsの簡単な実装

sudo chown -R whoami /usr/local/lib

次に、次のコマンドを実行します:


つまり、リンクを実行します。上に成功した brew リンクがない場合は再度実行します。

その後: Arduinoを操作するnodejsの簡単な実装

gort arduino Upload farmata /dev/tty.wchusbserial1420


は成功しました。この時点で再度実行します: ノード main.js

Arduinoを操作するnodejsの簡単な実装

arduino が応答し、tx という名前の LED が 3 秒ごとに点滅し、ブラウザーに

https://127.0.0.1:3000

と入力します Arduinoを操作するnodejsの簡単な実装

Arduinoを操作するnodejsの簡単な実装 Arduino を操作するための Nodejs の簡単な実装に関するその他の記事については、PHP 中国語 Web サイトに注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。