さて、我が家ではWifiモジュールESP-WROOM02(ESP8266)を使用した温度湿度センサーを4個自作して運用しているが、データのアップロード先としてAmbient – IoTデーター可視化サービスを無償で利用させていただいている。
が、マンネリ気味なので、気分を変えてIoT platform | Internet of Things | Ubidots も利用させてもらうことにした。
このサービスは2014年に誕生したアメリカのIOTプラットフォームサービスで、今年から新たにubidots Educationという、一定の条件下であれば無料で利用できる教育用のプラットフォームをスタートさせた。
APIや様々なIOTデバイスのライブラリ、洗練されたUIが充実していて、簡単に利用することができる。
Supported IoT Hardware Platforms
商用版との違い
Accountを取得すると5000creditsが付与され利用に応じて減っていく。creditsが無くなったら1000creditsあたり5ドルでchargeする仕組み。条件はこれ。
ケチケチ利用するなら、この範囲内、
Free for your first device, each device being a set of up to 10 sensor variables.
つまり、IoTデバイス1台で10個までのデータを扱うのであればcreditsは減らない。
今回はちょっと姑息だが、4個のデバイスからそれぞれ気温と湿度の2個のデータを上げるということを、あたかも1個のデバイスから8個のデータを上げているように見せるようにした。
さて、自分のIOTデバイスとの接続は、これを参考におこなった。
Connect a NodeMCU ESP8266 to Ubidots over HTTP | Ubidots Help Center
GitHub - ubidots/ubidots-esp8266: Library for uploading ESP8266 devices to Ubidots
今回はhttpのpost methodを使ってデータを上げるタイプ。(MQTTのサンプルもあり、次回チャレンジしたいところ)
ハードはNodeMCUを利用した例になっているが、私はESP-WROOM-02だが、そのまま使えている。
ライブラリubidotsMicroESP8266をincludeして、アカウント毎に発行されているTOKENと、UIでdevice登録後、そのdeviceで扱うVariableを登録すると発行されるVariableごとのIDを用いて、JSONでubidotsのserverにhttpでpostする。これまたあっけない。
データを表示するDashboardは、グラフやゲージなどいろいろなウイジェットが利用できる。これがなかなか洗練されていて良い。
こんな感じにサクッとつくってみた。
1つのDashboardで利用できるウィジェットは10個までらしい。Dashboardは複数作れるが1つあたり100credit/month消費する。
他のセンサーでも利用してみよう。