IoT
SORACOM
MicrosoftFlow

SORACOM Beam をトリガーとして Microsoft Flow を動かす方法

はじめに

先月、弊社に Office 365 が導入され、付随のサービスをいろいろ試していたのですが、その中でも Microsoft Flow がなかなか面白いことできるんじゃないか?と試してたら、SORACOM Beam を Flow のトリガーにすることができたので手順をさくっとまとめます。

前提条件

  • SORACOM のアカウントを作成し、SORACOM Beam を利用できること
    ※Raspberry Pi や Wio LTE/3G から Beam を撃てれば OK ですよ!
  • Microsoft Flow の利用登録が完了していること

Microsoft Flow ってなんぞ?

公式ガイド付き学習サイト より

MMicrosoft Flow とは、オンライン ワークフロー サービスであり、最もよく使用されているアプリおよびサービス間のワークフローを自動化することにより、仕事を無駄なく効率的に行えるようになります。 たとえば、100 を超えるフォロワーを持つユーザーがあなたの会社についてツイートするたびに、Dynamics 365 に潜在顧客を、MailChimp に記録を追加するためのフローを作成することができます。
https://docs.microsoft.com/ja-jp/flow/guided-learning/get-started?tutorial-step=1

MS のこういうドキュメントの日本語、正直よーわからんですね。
もっと端的に言えば、 Microsoft 版 IFTTT / Zapier と思っていただければ、だいたいあってるはずです(ほんと?

IFTTT/Zapier の詳細は Qiita にも記事がありますので、そちらをご覧ください。

設定手順

0. 前準備

以前投稿した、Wio LTE と IFTTT 連携をした話 の構成を使って説明していこうと思います。
そのため、Wio LTE からアップされるデータは以下の形式となります。

{ "value1" : "{PhoneNumber}", "value2" : "{Temperature}", "value3" : "{Humidity}" }

1. Microsoft Flow の設定

[マイフロー]から[一から作成]を選択します。
soracom_msflow001.png

soracom_msflow002.png

soracom_msflow003.png

トリガーの検索欄へ「HTTP」と入力し、[トリガー]の[要求 - HTTP 要求の受信時]を選択します。
soracom_msflow004.png

[サンプルのペイロードを使用してスキーマを作成する]を選択し、サンプルの JSON ペイロードを貼り付け[完了]を選択します。
soracom_msflow005.png

soracom_msflow006.png

[要求本文の JSON スキーマ]が登録されていることを確認後、[+ 新しいステップ]→[アクションの追加]を選択します。
soracom_msflow007.png

soracom_msflow008.png

コネクタとして[Twitter]を選択し、アクションから[Twitter - ツイートの投稿]を選択します。
soracom_msflow009.png

soracom_msflow010.png

コネクタサービスのサインインが未完了の場合は、ここでサインインをしておいてください。
soracom_msflow011.png

[ツイート テキスト]欄を選択すると、右側にポップアップで[動的なコンテンツ][式]が表示されるので、そこに記載のある動的コンテンツ・式を利用して、ツイートするテキストを構築します。
soracom_msflow012.png

構築が完了したら、[保存]を選択します。
soracom_msflow013.png

保存が完了すると、[HTTP POST の URL]が生成されるので、テキストエディタなどにコピーしておきます。
soracom_msflow014.png

2. SORACOM Beam の設定

適宜 SIM グループを用意し、[SORACOM Beam 設定]で[HTTP エントリポイント]の追加を選択します。
soracom_msflow015.png

上記[HTTP POST の URL]の URL を元に、設定値を入力し、保存します。
soracom_msflow016.png

urlSample
https://xxxxxxx.japaneast.logic.azure.com:443/workflows/xxxxxxxxxx/triggers/~以下略

※説明のため、 /workflows 以下はかなり省略しています。実際の生成URLはもっと長いです。

項目 設定値
設定名 適宜入力(ここではMSFlow)
パス '/' を入力
ホスト名 HTTP POST URL の 'xxxxxxx.japaneast.logic.azure.com' を入力
ポート番号 HTTP POST URL の '443' を入力
パス HTTP POST URL の '/workflows/xxxxxxxxxx/triggers/~以下略' を入力

設定後、対象の SIM の所属グループを、上記で設定した SIM グループへ変更しておきます。
soracom_msflow017.png

3. 動作確認

Wio LTE より Beam 発射!
soracom_msflow019.png

その後、Flow の画面上に実行履歴が表示されます。
soracom_msflow018.png

無事にツイートもできています。
soracom_msflow022.png

Flow の in/out のデータは、履歴で確認することが可能です。
soracom_msflow020.png
soracom_msflow021.png

  • 上記ツイート画像のツイートは、電話番号丸見えでしたのでツイート削除しました。
  • かわりに電話番号項目を削除した版で、再度ツイートしています。

おわりに

実際触ってみた感想として、 IFTTT よりも凝ったことができそうだな?と思いました。
まだまだ国内向けサービスのコネクタが、IFTTT に比べて少ないような気もしますが・・・REST API や Webhook のアクションもありますので、ちょっといじくるだけで様々なものと連携できると思います。