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を使って温度と湿度をグラフ化する