以下の内容はhttps://aadojo.alterbooth.com/entry/2019/12/04/100000より取得しました。


ノンコーディングでIoTを楽しむ話


オルターブースアドベントカレンダー4日目は、知念が担当します。
今回はちょっと長い内容になりますので、お付き合いいただけると嬉しいです!

adventar.org

 

普段の業務は主に、KOSMISCHというサービスの開発をC#を使って行っています。

kosmisch.jp

 

電子工作のレベルは素人ですが、IoTに興味がありIoT ALGYAN(あるじゃん)というコミュニティに参加しています。
福岡でも今年は3回程ハンズオンを開催しました。

algyan.connpass.com

 

このコミュニティで出会ったのが、Seeed株式会社様から発売されているReButtonです。

 

このReButtonを使ってノンコーディングでIoTを楽しめるものを作ってみよう!ということで、ReButtonをクリックするとSlackに投稿する機能を作ってみました。

 

 構成

 

f:id:sakusakulager:20191203101456p:plain

ReButton + IoT Central + Logic Apps + Slackを組み合わせた構成です。 

 

必要なもの

  1. Azureのアカウント
    ・「従量課金」のサブスクリプションが必要です。
    ・Azure Active Directoryでユーザーを追加してください。
     その際、ユーザーとサブスクリプションを紐づけます。
        「ロールの割り当て」で設定できます。
     「Microsoftアカウント」ユーザーでは、IoT CentralとLogic Appsを連携させる
     際にエラーが発生します。
  2.  ReButton
    ReButtonを動かすには、単4電池が2個必要です。
  3. Slack
    ・アカウントをお持ちでない方は、アカウント作成してください。 
    ・投稿用のワークスペースとチャネルを準備してください。

 

 IoT Centralについて

IoT CentralはフルマネージドのSaaSです。

IoT の管理、運用、開発の負担とコストの削減を支援するホスト型の拡張可能なサービスです。

もう少し細かい概要は、こちらの資料の9~13ページ目を読んでみてください。

speakerdeck.com

 

 

IoT Plug and Playについて

今年の5月にBuildでアナウンスがあり、8月からプレビュー版が利用可能となりました。

IoT Plug and Playに認定されたデバイスとIoT Centralはシームレスに統合するソリューションを構築できます。

ReButtonもIoT Plug and Play認定デバイスなので、簡単に連携させることが出来ます。

azure.microsoft.com

 

 

Logic Appsについて

Logic Appsについては、弊社松本の連載や登壇資料をご覧ください!

ascii.jp

 

非エンジニアでも安心!ノンコーディングでもココまでできる!LINE × Azure Logic Apps from 典子 松本

www.slideshare.net

 

手順

1.ReButtonの設定とIoT Centralでアプリケーション作成

ReButtonの設定とIoT Centralでアプリケーションの作成は、IoT ALGYANの有志で作成したこちらのコンテンツの1章を進めてください。

github.com

 

2.Logic AppsとIoT Centralを繋ぐ

Logic AppsとIoT Centralを繋いでいきます。
今回はLogic Apps側で何も準備していない状態です。

 IoT Centralのデバイステンプレートでイベントルールの設定を行います

イベントルールの名前と条件を設定し、一度保存します。

条件は「メッセージが発生」というトリガーにしています。

「メッセージが発生」というのは、今回ですとReButtonを押したアクションという捉え方をしてもらうとイメージしやすいと思います。

 

保存後にアクションを追加します。

アクションの右側のプラスをクリックすると、右側に追加出来る項目が表示されます。

その中からAzure Logic Appsをクリックして進めてください。

f:id:sakusakulager:20191203214639p:plain



3.Logic Appsでロジックアプリを作成する

 3-1.空のロジックアプリから作成

f:id:sakusakulager:20191203215319p:plain

 

 3-2. Azure IoT Centralをトリガーとして選択

f:id:sakusakulager:20191203215727p:plain

 

 3-3. Azure IoT Centralにサインイン

f:id:sakusakulager:20191203215857p:plain

 

 3-4. IoT Centralで作成したアプリケーションとルールを選択

f:id:sakusakulager:20191203215923p:plain

ここまでが、IoT CentralとLogic Appsの連携になります。
(Rule名が上のIoT Centralのイベント画像と違うのは気にしないでください・・・)

この後、Logic AppsとSlackの連携を引き続き同じロジックアプリ内で繋げていきます。

 

 3-5.条件分岐のスイッチコネクタを設定
条件分岐する内容として、IoT Centralで設定している「メッセージ」を今回は利用しました。(赤枠部分)

IoT Centralのデバイステンプレートで作成したイベントが選択出来る様です。

 

メッセージには、Single ClickやDouble Clickなどの値が入っているので、それを分岐条件としています。(緑枠部分)

条件に合った場合、Slackコネクタを追加します。(追加する際、ログイン画面が表示されると思います。)

Slackコネクタでは、投稿するチャネル名、投稿するメッセージテキストを設定します。

f:id:sakusakulager:20191203221434p:plain


保存をして有効状態にすると完了です!
 

結果

Logic Apps側でReButtonがどの様に押されたかを条件分岐させ、それぞれにSlackに投稿する文章を割り当てました。
その結果がこちらです。
ReButtonでクリックしてから投稿まで、20秒程のタイムラグが発生します。

f:id:sakusakulager:20191203120142p:plain

まとめ

ノンコーディングでサクサクとここまで進めることが出来ました。

今までは、デバイスとクラウドを繋ぐ事も少し手間が必要だったのですが、IoT Centralはアプリケーションやテンプレートを作るというイメージが分かりやすいなと思いました。

 

また、今回初めてLogic Appsを触ってみたのですが、スムーズにIoT CentralやSlackと
連携出来ることが分かりました。

ちょっとしたシステムならこれで楽出来るなぁと思ったので、色々なサービスと繋いで今後も遊んでみようと思います。 

 

IoTは難しそうと思われていますが、クラウド側もデバイス側も日々進化しているので、情報を追ってみるのも面白いかもしれませんね!

 

参考資料

 

 

 

 

 




以上の内容はhttps://aadojo.alterbooth.com/entry/2019/12/04/100000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14