Arduinoと感圧センサーで圧力をサーバーに送信する

秋葉原の秋月電子に行って、慣れない雰囲気の中、なんとかこの感圧センサーをゲットしました。

オライリーPrototyping Labという本を見ながら回路を接続して、上のようなプログラムを実行するとこんな感じになりました。

f:id:naoty_k:20130123235951g:plain

センサーに加わった圧力を0番のアナログピンから受け取り、シリアル通信でそのままモニタに出力しています。

この圧力をサーバーに送信するために、以下のものを買いました。

ArduinoにぶっさすEthernetシールド。ここにLANケーブルをさしてインターネットに接続できます。

PLANEX 300Mbps 超小型ハイパワー無線LANマルチファンクションルータ/アクセスポイント/コンバータ MZK-MF300N

PLANEX 300Mbps 超小型ハイパワー無線LANマルチファンクションルータ/アクセスポイント/コンバータ MZK-MF300N

うちがE-mobilepocket wifiを使っててLANケーブルをさすところがなかったので、有線を無線で使えるようにするコンバータも買いました。

PLANEX 無線LANルータ/アクセスポイント/コンバータ「MZK-MF300N」「FFP-PKR01」専用 USB給電ケーブル SSOP-USB02

PLANEX 無線LANルータ/アクセスポイント/コンバータ「MZK-MF300N」「FFP-PKR01」専用 USB給電ケーブル SSOP-USB02

USBから給電するためのケーブル。

これらをつないでHerokuのサーバーにPOSTリクエストを送ると、node.jsがwebsocketを使ってグラフを更新するようにしました。

コードはこんなかんじ。

上2つのコードを組み合わせると、圧力をPOSTでサーバーに送信できます。で、node.jsで書いたサーバーに送ると以下のような感じになりました。

arduinoのコードとサーバーのコードはともにgithubで公開しています。

https://github.com/naoty/makura-arduino

https://github.com/naoty/makura-web