こんにちは。WEBサービス開発グループ所属で、入社一年目の笹原です。
今回はIoT初心者の私と私の同僚(Mさん)でペアを組み、Nefry(ねふりー)を使用して製作した、IoTアプリについてご紹介していきたいと思います。
Nefryとは
MilkcocoaやmyThings、IFTTTなどのインターネットのサービスとハードウェアを簡単に接続できるモジュールです。
IoT向けデバイスといえば、「Raspberry Pi」や「Arduino」などが有名ですが、これらのような他のモジュールとの違いはなんといってもインターネットやセンサー,Wi-Fi,サービスへの接続が簡単というところです。
さらに大きさもコンパクトで手のひらサイズなので、持ち運びも楽々です。
こんなにもIoT初心者に優しいNefryを使用して、作成したものを紹介します。
作ったもの
○uper ○ry -洗濯物の乾き時間が分かるかもしれないアプリ-
使ったもの
- デバイス
- Nefry BT
- GROVE -デジタル温度・湿度センサ-
- アプリ
- Ubuntu 16.04 LTE
- Python(Django)
- Ubuntu 16.04 LTE
GROVE製品はSWITCH SCIENCEというサイトで「GROVE」と検索するとたくさんでてきます(もちろん他のサイトでも買えます)。
「SWITCH SCIENCE」のリンクとあわせて、今回使用した「GROVE -デジタル温度・湿度センサ-」のリンクも以下に載せておきます。
作業手順
完成までの大まかな流れをご紹介します。
1.Nefry側の環境構築
NefryではArduinoIDEを使って、プログラムを書いていきます。その際に必要な設定等は下記サイトを参考に環境構築を行いました。
2.Nefry&Sensor の動作確認
環境ができたら、動作確認をしていきます。
- Nefry
- Wi-Fiに正常につながるかどうか
- Sensor(デジタル温度・湿度センサ)
- NefryとSensorを接続し、湿度が検知できているかどうか
- 参考サイト
3.アプリ側の環境構築
今回はペアのMさんが得意なDjangoの環境をDockerで構築していきました。
- 参考サイト
4.実装
以下の仕様で実装しました。
- Nefry側
- Nefryで温度・湿度を測定する
- 温度・湿度の情報を2秒に1回DBに送信する
- アプリ側
- 送られてきた温度・湿度の情報をDBに格納する
- 最新の温度・湿度から洗濯物が乾くまでの時間を計算する(ここのロジックは時間の都合上、今回は適当に作成しました)
- 残り何分で洗濯物が乾くかを表示する
完成したもの
デバイスがある場所の気温・湿度と洗濯物が乾くかもしれない残り時間を表示したIoTアプリが完成しました。
まとめ
洗濯物が乾くかもしれない残り時間はあまり当てになりませんが、気温・湿度がリアルタイムで表示されるので、IoTっぽさが出ていて楽しく製作できました。
IoTは遠いものだと思っていましたが、NefryなどのIoT向けデバイスを使えば簡単に体験できると知り、やってみて良かったなと感じています。
このIoTアプリは1.5日程度で製作できましたので、お気軽に試してみてはいかがでしょうか?