目次

Node.js

サーバサイドのjavascript
リアルタイムグラフの描画にも使えそう。
サーバサイトはいうが、LAN内部での接続ならマシン内部にローカルサーバを立ててそこにアクセスするという方式

イベント駆動

npm

Node Package Manager,Node.jsのパッケージマネージャ
グローバルインストールとローカルインストールがある.
ローカルインストールはそのディレクトリに各パッケージをインストールする.
このとき,どんなパッケージをインストールしたかを保存してくためのファイルとしてpackage.jsonが生成される.
この中に依存パッケージの情報が記載されている.このファイルが有る状態で

npm install # 意味は同じなのでどっちでも可
npm i

を実行することで,依存パッケージをインストールしてくれる.便利

npm list

でそのディレクトリにてインストールしたパッケージを確認できる.

モジュールの管理

ローカルインストール,カレントディレクトリのnode_modulesにインストールする.

npm install モジュール名

グローバルインストール,どこからでも使える.予め環境変数NODE_PATHを登録しておくこと

npm install -g モジュール名  

シリアル通信がしたい

serialportというライブラリを使う,公式のチュートリアルが一番
https://serialport.io/
npmでインストール

npm install serialport

使用可能なCOMポートのリストを出したい

https://serialport.io/docs/bin-list CLIツールに移った?実行してるサーバ上から取り出したいのでコマンドラインツールじゃなくて内部の実装が知りたい→ 公式に書いてあったわ

SerialPort.list()

サンプルコード調べたら,awaitを使用していた.awaitを使うためにasyncを使って非同期関数の中で呼び出す.

async function GetAvailablePorts() {
  // 使用可能なCOMポートの一覧を取得
  const avalableports = await SerialPort.list()
  // 使用可能なCOMポートの表示
  for(let i = 0; i < avalableports.length; i++){
    console.log(avalableports[i].path);
  }
}

参考文献

npm関連
Windowsのnode.jsでCannot find module が出た
npm と Node.js 上で require を使ったモジュール読み込みの仕組みについてメモ

npm よく使うコマンドまとめ
Node.js を5分で大雑把に理解する
Node.jsとExpressでローカルサーバーを構築する(1) ―Node.jsとnpmの導入―
serialport関連
node-serialportを使ってNode.jsでArduinoと通信する
Raspberry PiでArduinoが入ったのでnode-serialportと連携してみるメモ
Node.jsでIchigoJamを制御する
Node.jsでシリアル通信(Windows環境)
8 IoT
Arduinoの測定値をNode.jsで受けてSocket.ioとchart.jsでリアルタイムにグラフ表示
ESP-WROOM-02でIoT その③ WiFiを使って温度と湿度をグラフ化する