Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9350

GR-ROSE と Node.js のプログラムの間でシリアル通信(一方向)

$
0
0
表題の件を試した際のメモです。 GR-ROSE と Node.js のプログラムとの間で、一方向のシリアル通信を軽く試してみます。 GR-ROSE側 以下の公式のプログラムを動かしてみます。 ●GR-ROSE チュートリアル:IDE for GRでスケッチ | Renesas  https://www.renesas.com/jp/ja/products/gadget-renesas/boards/gr-rose/project-arduino-sketch-ide-gr 開発には IDE for GR を使う形で、手順は上記のページ内のとおりです。 書き込みをする際、GR-ROSE のリセットボタンを押して USBドライブとして認識させてから行う、というのがあったりします。 プログラムは以下で、サンプルほぼそのままです。 遅延の設定だけ、100ミリ秒から 1秒に変えています。 void setup() { // put your setup code here, to run once: Serial.begin(9600); pinMode(PIN_LED1, OUTPUT); } void loop() { // put your main code here, to run repeatedly: digitalWrite(PIN_LED1, LOW); delay(1000); digitalWrite(PIN_LED1, HIGH); delay(1000); Serial.println("hello"); } こちらの動作確認を、IDE for GR のシリアルモニタで行っておきましょう。 以下のように、一定時間ごとに「hello」という文字列が出てくれば OK です。 Node.js側 Node.js側は、以下を使ったりするとシリアル通信を扱えるようになります。 ●serialport - npm  https://www.npmjs.com/package/serialport かなり前ですが、以下の記事に出てくるお試しの際に、利用したことがありました。 ●#toio を Alexa や micro:bit から操作する 〜概要編〜(JavaScriptライブラリを使ってみた) - Qiita  https://qiita.com/youtoy/items/0ee56f5395e3f4c72c51 今回は、読み取りだけできれば良いので、公式ドキュメントの Readline Parser のサンプルを利用します。 以下で「【自分の環境に合わせて変更】」と書いている部分は、ご自身の環境の設定に合わせて変更してください。 const SerialPort = require('serialport') const Readline = require('@serialport/parser-readline') const port = new SerialPort('/dev/【自分の環境に合わせて変更】') const parser = port.pipe(new Readline({ delimiter: '\r\n' })) parser.on('data', console.log) GR-ROSE は PC につないだまま動作させ、その状態でプログラムを実行すると、以下の出力が得られました。 おわりに とりあえず、公式サンプルを流用した GR-ROSE と Node.js のプログラムの間でシリアル通信を試しました。 さらに、両方のプログラムに処理を追加していって、何か面白そうなものを作っていければと思います。

Viewing all articles
Browse latest Browse all 9350

Trending Articles