東京のWeb制作会社LIGLIGならできるおもしろいこと。テクノロジーシェアこんにちは、DevRelチャンネル外部ライターの篠原です。株式会社モンスター・ラボという会社でAndroidアプリ開発しつつ、電子工作もやっています。「IoTって最近よく聞くけどなんなのかわからない......」という方の参考になるよう、自分がIoTを始めたきっかけや経験を踏まえた「WebエンジニアのためのIoT入門の事例」を連載しています。1回目では、IoTの概要と、JavaScriptでIoTデバイスを動かせるフレームワーク「Johnny-Five」についてをご紹介しました。2回目の今回は、Johnny-Fiveを使って、温度センサーとインターネットを繋いでみたいと思います。Johnny-Fiveと温度センサーを連携し、温度センサーから得たデータをSlackに通知するという流れです。Johnny-Fiveが対応しているセンサーJavaScriptでArduino互換のボードを動かせるフレームワーク「Johnny-Five」。IDEでの開発と比べて短く、またJavaScriptが分かる方にとっては親しみやすいコードを書くことができます。そんな「Johnny-Five」は、アナログからデジタルまで多くのセンサーをサポートしています。今回は、使い方が簡単で比較的安く手に入る「温度センサー」を使ってみます。(LM35DZ)代表的な温度センサーは「LM35」というもので、ひとつ120円程で購入することができます。温度センサー以外にも次のようなセンサーを使うこともできます。赤外線センサーetc......なかなか幅広いですよね。それぞれの使い方、サンプルコードは公式サイトにドキュメントがありますので、ぜひご覧ください。Johnny-Fiveと温度センサーを繋いでみるさっそくJohnny-Fiveと温度センサーを繋げていきましょう。Arduinoと温度センサーを上記のように繋げます。シンプル過ぎて殺風景ですが......ちゃんと動きますのでご安心下さい。JavaScriptのソースコードは以下です。});});温度センサー(LM35)を使う際は、Johnny-Fiveの「controller」というオプションを使うことができます。これは、特定のセンサーの使い方を簡略して記述するためにJohnny-Five側が用意している仕組みです。thermometerソースコードをJohnny-Fiveをインストールしたフォルダに格納し、上記コマンドで実行します。温度センサーから得たデータをSlackに通知してみるセンサーから出力された温度データを、インターネットを経由して受け取ってみたいと思います。今回は、チャットツールの「Slack」上にBotを用意して、温度データを通知してもらうようにしてみます。Slack上でHubotを作成するまずはSlack上でBotを作成し、アクセス用のAPIトークンを取得します。「https://(Slackのチーム名).slack.com/apps」にアクセスしてHubotをインストールしてください。「https://(Slackのチーム名).slack.com/apps/manage」でHubotを選択、新しいBotを作成します。Configuration」をクリックし、Usernameを設定します。Token」をメモしておきましょう。これでHubot関連の操作は終わりです。Johnny-FiveからSlack通知する仕組みを実装する温度センサーの情報をSlackに通知するために、「slack-node」というモジュールをインストールします。node情報を通知したいチャンネルやテキストを指定するだけで、簡単にSlack通知を実装することができます。slack-nodeコンソール上で上記コマンドを入力してインストールしてください。このslack-nodeを使って、先ほどのソースコードにSlack通知の仕組みを追記します。'部屋の温度が30°Cを越えています。});});今回は、温度センサー周辺の温度(=部屋の温度)が30°Cを越えたら、Slackに通知が来るようにしてみました!まとめ今回は、Johnny-Fiveを使ってセンサーデータをインターネット越しに受け取る仕組みを作ってみました。IoTと呼ぶには些細な事例かもしれませんが、アイディア次第でもっと応用できる仕組みだと思います。最後まで読んでいただきありがとうございました。POSTLIGへの自由なメッセージお待ちしています頂いたご意見への回答は行っておりません。