以前、以下のような記事を書きましたが今度はNode.jsで試してみます。できることに大差はないんですが、Node.jsであれば「くろーむ?IE8以外のぶらうざを使うなんてなんということでしょう」という前時代的な人間の目をかい潜ることができます。
node-serialportのインストール
インストールします。
npm install serialport -g
テストソース
ひとまず以下のサンプルでループバックを試してみます。環境はwin7でCOM1固定。 事前にCOMポートのTXとRXをショートしておきます。(D-SUB9pinであれば2pinと3pin)。
iBUFFALO USBシリアルケーブル(USBtypeA to D-sub9ピン)1.0m ブラックスケルトン BSUSRC0610BS
- 出版社/メーカー: バッファロー
- 発売日: 2012/04/25
- メディア: Personal Computers
- 購入: 2人 クリック: 14回
- この商品を含むブログを見る
app.coffee
SerialPort = require "serialport" .SerialPort serialPort = new SerialPort "COM1", baudrate: 57600 serialPort.on "open", (err)-> if err console.log 'failed to open:' + err else console.log 'open' serialPort.on 'data', (data)-> console.log 'data received: ' + data serialPort.write "test message", (err, results)-> if err? then console.log 'err ' + err console.log 'results ' + results
ちなみに今回はポート決め打ちだけど以下のようにリストを取得することもできるらしい。未確認です。
serialPort = require "erialport" serialPort.list (err, ports)-> ports.forEach (port)-> console.log port.comName console.log port.pnpId console.log port.manufacturer
実行
実行する
node app.js
結果
open results 12 data recieved: test mes data recieved: sage
できた。簡単でした。