UIFlow(Blockly)でAmbientにデータを送るブロックを作りました。使い方を説明します。例題として、M5StickCとENV Hatで温度、湿度、気圧を測り、Ambientに送り、データを可視化します。
UIFlow Ambientブロックは今のところ次の環境で動作確認しています。
- UIFlow: V1.4.3
- ファームウェア: V1.4.3
- ハードウェア: M5StickC
M5StickCとENV Hatで温度、湿度、気圧を測り、LCDに表示するところまでは、M5Stackカフェ「温度計を作る」をご覧ください。
プログラムは次のようになります。
では、ENVセンサから取得した温度、湿度、気圧をAmbientに送信してみましょう。
Ambientはマイコンから送られるセンサデータを受信して蓄積し、可視化するクラウドサービスです。Ambientの使い方はチュートリアル「Ambientを使ってみる」をご覧ください。
UIFlow(Blockly)からAmbientにデータを送るブロック(ambient.m5b)は次のような形をしています。
データを送るチャネルのチャネルId(channelId)とライトキー(writeKey)を入力し、データ(data)を渡します。Ambientにはd1からd8まで最大8種類のデータを送れます。データを送るときは「d1は温度、d2は湿度」といったMap形式のデータを作って渡します。
Ambientブロック(ambient.m5b)は下記のURLからダウンロードします。
ブロックをダウンロードしたら、UIFlowの真ん中の「Custom (Beta)」メニューの「open *.m5b file」を選択し、ダウンロードしたブロックをロードします。
ブロックをロードすると、「Custom (Beta)」メニューの下に「ambient」が現れ、それをクリックすると「ambient send」というブロックが表示されます。
このブロックをプログラムエリアにドラッグ&ドロップして使います。図のように、Ambientにデータを送るところにこのブロックを置き、チャネルIdとライトキーを設定します。ライトキーは’abc0123def’というように引用符でくくってください。データは「Map」メニューから「マップを生成」ブロックを選択します。ブロック下部の「+」をクリックしてkeyとvalueの組を追加し、”d1″、”d2″などをkeyに、送りたいデータをvalueに指定します。
これで指定したチャネルにデータが送られます。プログラムをM5StickCに送って実行し、ブラウザでAmbientのチャネルページを見ると、送られたデータが表示されるのが確認できるはずです。
M5Stack/M5StickC + UIFlow + Ambient を組み合わせると、とても簡単にIoTシステムを作ることができます。皆さんも是非トライしてみてください。