デジビ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

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

関連記事

デジビブログ始めます

こんにちは! デジタルビジネス推進室(デジビ)に配属になりました生田と申します。 これから、デジビのブログ担当として研究内容をご紹介させていただきます。 デジビブログでは、我々が日々取り組んでいる内容 …

デジビダッシュボード(仮)のご紹介

こんにちは。 デジタルビジネス推進室(デジビ)の関根です。 今回は研究開発で社内検証している機能を一つご紹介します。 intra-martのポータル画面をBIツールのように使用する機能となります。

intra-martのトランザクションデータを使用したプロセスマイニング

こんにちは。 デジタルビジネス推進室(デジビ)の関根です。 前回はintra-martのログを使用したプロセスマイニングを行うことで どの時間帯、どの画面に対してアクセスが集中しているか(画面遷移)を …

dezibiz-raspberry-pi-4-ssd2

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

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

KNIMEを使ったintra-martのログ分析 – 1 –

こんにちは。 デジタルビジネス推進室(デジビ)の関根です。 今回はKNIMEを使ったintra-martログ分析の手法を紹介したいと思います。