SPICY SPACE BLOG

愛犬家WEBエンジニアの日常。

【ペット見守りシステム開発日記②】JavaScriptでArduinoとシリアル通信

前回までのあらすじ

外出先から室温の確認と、エアコン操作をするための開発日記。
前回はArduinoで室温取得とエアコン操作を実装。


ペット見守りシステム構築日記①】Arduinoでエアコン操作してみた - SPICY SPACE BLOG

 

外出先からArduinoを操作するには

最近注目してるブラウザ間通信を実現できるWebRTCという技術を使えば、ブラウザから自宅の遠隔管理ができるかも!
 
iPhoneではまだサポートされてないのが痛いところだけど、固定IPやダイナミックDNSを使わなくてもいいところが魅力。
 
ということで、まずはローカルPCのブラウザからArduinoとシリアル通信ができるよう実装してみます。
 
 
 

jsとarduinoの橋渡し

Serialport-server by shokai

ライブラリを使いました。

「Serialport-server」はWebSocketでjsからシリアル通信の橋渡しをしてくれる仮想サーバーです。

こんな便利なもの作ってくれている人がいるなんて!しかもgemでインストールできるようにしてくれてるなんて!すばらしい。

gem install serialport-servermacなら一発でインストールできるはず、と書いてあったんですが、

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ツール->シリアルボードから確認できます。

f:id:sp_ice:20140901004305p:plain

 

 

Arduino側は前回記事のソースを利用します。

js側のソースはこんな感じ

 

できました!

とりあえず、ローカルPCのブラウザからエアコンON/OFFができるようになりました

 

arduinoでエアコンON/OFFでけたー。これで夏に愛犬を留守番させるのもすこし安心。

 

まとめ

すごい人が作ったツールはすごい(当たり前)

次回は外出先からの操作の実装!