デジビBlog

アイスボタンの作り方

投稿日:2018-08-29 更新日:

こんにちは。デジタルビジネス推進室の高松です。

前回ご紹介したIoTボタンについて、「作り方を教えてほしい」という話を頂いたので、ご紹介します。

構成について

始めに、アイスボタンの構成を記載しておきます。

AWS IoT 1-ClickからLambdaを呼び出し、REST経由でメッセージ投稿用のIM-LogicDesignerを呼び出す仕組みです。
それでは作り方を見ていきましょう。

まずはエンタープライズボタンを購入

何はともあれ、エンタープライズボタンを購入しましょう。
間違えて普通のダッシュボタンを買ってしまわないように。。

AWS IoT 1-Clickの設定

ボタンが手元に届いたら、「IoT 1-Click」にデバイス登録をしましょう。
「エンタープライズボタン」で検索すれば、デバイス登録からサンプルのLambda実行まで解説しているサイトがいくつかあるので、そちらを参考にしてください。

この時、自作のボタンラベルに張り替えるとテンションが上がるかもしれません。

元のラベルは、少し固いですが、カッターの先などではがすことができます。

ロジデザの作成

まずは、REST経由でIMBoxにメッセージ投稿できるロジデザを作りましょう。

フローは以下のような簡単なものになります。

投稿先とメッセージ内容は、RESTで設定できるようにしたいので、下記のように入出力設定をします。

「グループボックスに投稿」タスクをダブルクリックし、下記のようにマッピングします。

次に、作成したフローのルーティング設定を行います。
POSTでRESTを受けるように設定します。

ゲストユーザに認可をつけます。

本当はきちんと認証した方がいいのですが、メッセージ投稿しかできないアプリなので、認証なしにしています。

これで、REST経由で任意のIMBoxスレッドにメッセージを投稿できるアプリができました。

Lambdaの作成

次に、作成したロジデザを呼び出すLambdaを作成しましょう。
ランタイムはPython3.6としました。

ソースは以下の通りです。

LambdaでPythonのrequestsを使うためには、requestsモジュールを実行ファイルと一緒にzipでアップロードする必要があります。
方法については、こちらも検索すると色々出てきますので、割愛します。

ロジデザに渡すIMBoxの投稿先やメッセージ内容は、Lambda内にハードコードせず、IoT 1-Clickの「プレイスメント」から指定するようにしました。
(ただ、正直テストしにくくなるので、最初はLambdaにハードコードでいいと思います。)

プレイスメントの設定

ボタンからサンプルのLambdaを実行できるようになったら、今回のメッセージ送信用にプレイスメント設定をしましょう。

サンプルで作ったプロジェクトを使いまわしても、新しくプロジェクトを作り直しても構いません。

各項目の説明は以下です。
userCd:メッセージ投稿をするintra-martのユーザID
boxCd:メッセージ投稿先のIM-BoxのboxCd(後述)
threadId:メッセージ投稿先のIM-BoxのthreadId(後述)
message:ボタン押下時のメッセージ(シングルクリック)
messageL:ボタン押下時のメッセージ(ダブルクリックor長押し)

userCdとboxCdは、以下のように設定します。
メッセージ投稿先のスレッドを開いて確認してください。

動作確認

すべて設定できたら、ボタンを押して動作確認しましょう。
シングルクリックと、ダブルクリック(または長押し)でメッセージが変わるようにしています。

最後に

LambdaやIoT 1-Clickもさることながら、IM-LogicDesignerも、非常に簡単にREST APIを作ることができるところをご覧頂けたかと思います。

今回はメッセージ投稿でしたが、同じ要領で、スケジュール登録やワークフロー申請も行うことができます。

ぜひ、参考に面白い機能を作って頂けますと幸いです。

-デジビBlog

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【EWS東京】最終調整中です!【DX展示】

こんにちは。 デジタルビジネス推進室の関根です。 DX展示に向けた最終調整の様子をお送りいたします。 https://dev.intra-mart.jp/wp-content/uploads/2019 …

dezibiz-raspberry-pi-4-ssd2

ラズパイ4でIMで動かしてみた!【SSD起動編】

こんにちは、デジビの堀内です。 今回は新しく発売されたラズパイ4でイントラマートを動かしてみる、という実験について紹介します。 実験内容のボリュームがあるため複数回に分けて紹介します。 今回はラズパイ …

低周波音の測定と可視化

初めまして。デジビ林と申します。 最近、他部署から新しい職場(デジビ)に引っ越してきました。 デジビフロアに入室したときに第一印象、何か音がする場所だなと思いました。 先輩達は気にならない様子でした。 …

【業務効率化】AIによるパワポ資料作成支援

こんにちは、デジビの関根です。 パワーポイントで資料を作る際に どんな画像を差し込むか悩むことってありませんか? 過去に作った資料から画像を持ってきたり、 いらすとや様のようなフリー素材集から画像をい …

dezibiz-raspberry-pi-4-resin2

ラズパイ4でIMを動かしてみた!【Resin起動編】

こんにちは、デジビの堀内です。 今回は新しく発売されたラズパイ4でイントラマートを動かしてみる、という実験について紹介します。 前回はラズパイ4のセットアップを行い、SSDで起動をするところまでやりま …