0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

IoT初心者 SORACOM Button ハンズオン(ボタンを押してkintoneに記録しよう!)

Last updated at Posted at 2022-06-30

コミュニティ活用フリー

このコンテンツは商用以外でしたらSORACOM UGなどのコミュニティで活用する場合は、内容をそのままコピーしたり、アレンジしてご利用いただけます。但し、記載内容について著者は何ら保証するものではありません。あくまで自己責任でご利用ください。

ハンズオンの運営や準備に興味のある方は以下を参照ください。

はじめに

SORACOM Button(ソラコムボタン)は、ボタンを押すと通知できるシンプルな機器です。
ボタン.jfif
ボタンの押した(普通に押した、長押しした、2回押した)結果のデータをLTE-MというSIM通信で送信できます。

今回のハンズオンではソラコムボタンを使って、業務改善プラットホームkintone(キントーン)でボタンを押した記録を残します。
BTN205.png
TYPE05.png

準備するもの

パソコン
皆さんのパソコンで作業を行います。
最新のChromeかfirfox、Edge、Safariのブラウザを利用します。
wifiは会場で用意したものもありますが、個人の環境お持ちの場合はそちらをご利用ください。

ソラコムボタン
SORACOMさんからお借りした20個を利用します。
事前にフタを開いて、IMEIの番号下4桁を控えておきます。
BTM123b2.jpg
BTM123C.jpg

ソラコムアカウント
先ほど配布した、SORACOMさんからお借りした20個のアカウントを利用します。

キントーンアカウント
先ほど配布した、キントーン試用環境で準備した20個のアカウントを利用します。

キントーンでアプリを追加

最初に、ソラコムボタンを押した記録を保管するキントーンアプリを作ります。

ハンズオンsw指定されたサブドメインのURLにアクセスします。
https://<サブドメイン>.cybozu.com/k/

以下の画面が開きますので、先にお渡ししたキントーンアカウントで「ログイン」します。
KINTONE11b.png

続いてパスワードの変更を「保存」します。変更したパスワードは忘れないように!
KINTONE12b.png

ログイン後、以下の画面に遷移します。
KINTONE14b.png

右に表示されているスペース「ハンズオンXX」を開きます。(XXはキントーンアカウント末尾の番号)
KINTONE14c.png

以下のようなスペース画面が開きます。(背景の画像などはキントーンアカウント毎に異なります。)
KINTONE15b.png

右上の小さい「・・・」アイコンをクリックし、開いたメニューの「アプリを追加」を選択します。
KINTONE16b.png

kintoneアプリストアが開くので「登録済のテンプレートから作成」を選択します。
KINTONE17b.png

「アプリを作成」します。
KINTONE18b.png

スペース画面に戻り「ボタン試験」というアプリが追加されています。
早速追加したアプリを開いてみます。
KINTONE19b.png

この「ボタン試験」アプリにソラコムボタンを押したデータを蓄積します。
APIトークンという認証のための鍵を発行するため、右上の歯車アイコンをクリックします。
KINTONE20b.png

フォームの設定画面が開きます。「設定」タブをクリックします。
KINTONE21b.png

真ん中辺りの「APIトークン」をクリックします。
KINTONE22b.png

「生成する」ボタンを押すとAPIトークンが追加されます。
このAPIトークンは後で使いますので、メモ帳にコピペするなどして必ず控えておいてください!
アクセス権はレコード追加にチェックを入れて「保存」してください。
KINTONE24b.png

前の画面に戻るので「アプリを変更」します。
途中に確認画面が表示されますので「OK」します。
KINTONE25b.png

この画面に戻ったらキントーンの準備は完了です。
KINTONE19b.png

ブラウザのURLに表示されているサブドメイン(この例では sora-demo )/K/の後の数字 アプリID(この例では10) も後で使いますので、メモ帳にコピペするなどして必ず控えておいてください!
KINTONE20c.png

次はソラコムボタンの設定に移りますが、この画面は後で利用しますのでそのまま残しておきましょう!

ソラコムボタンの設定

続いて、ソラコムボタンの設定をおこないます。
「ソラコムコンソールにアクセス」して、「グループの追加」を行った後「ボタンとグループの紐づけ」をします。

ソラコムコンソールにアクセス

以下のURLにアクセスします。
https://console.soracom.io/#/sam_login?coverage_type=jp

以下の画面が開きますので、先にお渡ししたソラコムアカウントで「ログイン」します。
SORA001b.png

ソラコムコンソール画面が開き、ボタンが1個登録されていることがわかります。(ボタンが表示されてない場合は教えてください。)
確認が終わったら、画面右上の横棒3つのアイコンをクリックします。
SORA002b.png

グループの追加

「SIMグループ」を追加を選択します。
SORA003b.png

SIMグループの画面が開きますが、まだグループが作成されていないため「グループを作成する」をクリックします。
SORA004b.png

グループ作成画面が開きますので「ボタンハンズオン」と入力して「グループ作成」します。
SORA005b.png

以下のグループ設定画面が表示されます。
こちらで「SORACOM Air for セルラー設定」「SORACOM Beam 設定」「SORACOM Harvest Data 設定」を行います。
SORA006b.png

SORACOM Air for セルラー設定

ソラコムボタンの情報を取得するための設定を行います。
「SORACOM Air for セルラー設定」タブをクリックして開きます。
SORA007b.png

下にスクロールして「簡易位置即位機能」を有効にし、「バイナリーパーサー」に @button と入力して「保存」します。
SORA008b.png

SORACOM Beam 設定

ソラコムボタンの情報を中継サービスの送信し、kintoneアプリにデータを追加するため設定を行います。
「SORACOM Beam 設定」タブをクリックして開いた後、「設定を追加する」を開きます。
SORA009b.png

「UDP → HTTP/HTTPS エントリポイント」を選択します。
SORA0010b.png

ハンズオンで指定されたホスト名(この例では bbgklsvv42igfqc4szil44h4fq0rekcb.lambda-url.us-east-2.on.aws )を入力します。
SORA0012b.png

ヘッダ操作で「IMSI ヘッダ」と「IMEI ヘッダ」を有効にします。
このヘッダ情報でボタンを識別することが可能になります。
SORA0013b.png

カスタムヘッダを「追加」します。
ここに先ほど作成したキントーンのアプリにデータを追加するために必要な情報を設定します。
SORA0014b.png

カスタムヘッダは以下のように設定し「保存」します。
SORA0016c.png

アクション ヘッダ名 説明
追加 Kintone-Host sora-demo サブドメイン、キントーンの契約者を識別
追加 Kintone-AppId 前に保管したアプリID(この例では 10) キントーンのアプリを識別
追加 Kintone-Token 前に保管したトークンAPI(この例では a5pd9iHDku6Li1buMVeXmBmQYwRkZ6xQYHoJQWqa ) キントーンの認証鍵
追加 Seacret 指定された認証鍵(この例では KochiNoTataki) キントーンにデータを中継するサービスの認証鍵

SORACOM Harvest Data 設定

ソラコムボタンの情報を、ソラコムコンソールで確認するための設定を行います。
「SORACOM Harvest Data 設定」タブをクリックして開き「ON」にして「保存」します。
SORA101b.png

以上でグループの設定は終わりです。
画面右上の横棒3つのアイコンをクリックして「SIM管理」の画面を開きます。
SORA0018b.png

ボタンとグループの紐づけ

先ほど追加したグループとボタンを紐づけします。
一覧のボタン右端をチェックして、画面右上の「詳細」を開きます。
SORA0019b.png

SIM詳細画面で先ほど追加した「グループ」を選択して「閉じる」で画面を閉じます。
SORA0021b.png

以下のようにボタンにグループが表示されていれば、紐づけ設定は完了です。
SORA103b.png

以上で設定は全て完了しましたので、ボタンを押して確認してみましょう!

ソラコムコンソールでボタンデータの確認

ボタンの右端の丸いボタンを押して試験をします。
ボタンを押すとLEDが橙色に点滅を始め、5秒程度で緑色が点灯したら通信は無事完了です。(通信に失敗したときはLEDが赤色に点灯します。)
一度押し、素早く二度押し、長押しなどを試してください!
ボタン.jfif

ソラコムのコンソール画面でボタンをチェックし「操作」ボタンをクリック、「データを確認」を選択します。
SORA105b.png

先ほど設定した SORACOM Harvest Data 画面のグラフでボタンのデータを確認できます。
このままでは見にくいので、右の 「clickType」以外のチェックを外し てみましょう!
SORA106b.png

ボタンを押した回数が時系列で増えてゆく見やすいグラフになりました。
右上の赤囲みのアイコンをクリックすることで、生データも確認できます。
SORA107b.png

データはJSONという形式で表示されます。
このデータフォーマットを確認し、先ほど設定した SORACOM Beam で中継サービスにデータを送信、中継サービス側で届いたデータを加工してキントーンの指定したアプリにデータを保管します。
SORA108b.png

キントーンでボタンデータの確認

すでにこれまでの設定でキントーンにデータが保管されています。
KINTONE29b.png

右上の「一覧」横の「グラフ」アイコンをクリックして「ボタンの押し方の分類」を選択します。
KINTONE30b.png

以下のような円グラフも確認できます。
KINTONE31b.png

**今回はパトランプを使った余興の仕込みもあります。色々な押し方をお試しください!

以上までできたらハンズオンは完走です!
余裕がある方は自分でkintoneアプリを一から作成してそちらにボタンを記録するなどに挑戦してみましょう!!

ソラコム手ぬぐいをかけて、設定を変えてボタンを押しまくろう!

以下にアクセスして条件を確認し、最初の設定を変更してボタンを押しまくりましょう!
https://sora-demo.cybozu.com/k/#/space/3/thread/5

上位の方+αにソラコム手ぬぐいをプレゼントします!

まとめ

今回のハンズオンではソラコムボタンを使って、以下のノーコードでIoTを体験しました。
TYPE05.png

実際には「中継サービス」は以下のように少し開発を行っています。
TYPE02.png
詳細な構成については、ちょっと情報が古くて今回と多少違いますが、気になる方は以下を参照ください。
https://qiita.com/yukataoka/private/5246d36905b452796695
な違いは Amazon API Gateway の代わりに AWS Lambda Function URLs を利用しています。

無論以下のように zapier のような他のサービスを利用して、完全ノーコードで実現することも可能です。
TYPE03.png
今回のハンズオンを実現するためには zapier の有償プランが必要なので回避しましたが。

あと、おまけの「パトライト」を含んだ場合はちょっと複雑ですが、以下の構成になります。
TYPE04.png

皆さんにIoTを楽しんでいただけたようでしたら嬉しいです!

後片づけ

今回追加したソラコムコンソールのグループを以下の手順で削除をお願いします。

グループ画面を開きます。
SORA003b.png

グループの名前をクリックして詳細画面を開きます。
end01.png

「削除」してグループの一覧に表示されなくなったら完了です。
end02.png

なお、キントーンの試用環境は引き続き20日程度はお試し利用可能です。
期限までそのままお試しいただいて大丈夫です。

以上でこのハンズオンは完了です!お疲れ様でした!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?