【ペット見守りシステム開発日記②】JavaScriptでArduinoとシリアル通信
前回までのあらすじ
外出先から室温の確認と、エアコン操作をするための開発日記。
前回はArduinoで室温取得とエアコン操作を実装。
ペット見守りシステム構築日記①】Arduinoでエアコン操作してみた - SPICY SPACE BLOG
外出先からArduinoを操作するには
最近注目してるブラウザ間通信を実現できるWebRTCという技術を使えば、ブラウザから自宅の遠隔管理ができるかも!
ということで、まずはローカルPCのブラウザからArduinoとシリアル通信ができるよう実装してみます。
jsとarduinoの橋渡し
ライブラリを使いました。
「Serialport-server」はWebSocketでjsからシリアル通信の橋渡しをしてくれる仮想サーバーです。
こんな便利なもの作ってくれている人がいるなんて!しかもgemでインストールできるようにしてくれてるなんて!すばらしい。
gem install serialport-server
でmacなら一発でインストールできるはず、と書いてあったんですが、
OS X 10.9だとERROR: Failed to build gem native extension
のエラーが発生してしまいました。Apple Developerサイトから「Command Line Tools (OS X Mavericks) for Xcode」をインストールすることで、無事インストールできました。
インストールできたら、serialport-server /dev/tty.デバイス名
を実行することでサーバを起動できます。
デバイス名はArduino IDEのツール->シリアルボードから確認できます。
js側のソースはこんな感じ
できました!
とりあえず、ローカルPCのブラウザからエアコンON/OFFができるようになりました
arduinoでエアコンON/OFFでけたー。これで夏に愛犬を留守番させるのもすこし安心。
まとめ
すごい人が作ったツールはすごい(当たり前)
次回は外出先からの操作の実装!