Seeed K.K.の中井です。
2019年7月に発売が開始されたReButtonですが、 公式ドキュメント通りにAzure IoT Centralを設定しようとすると記述と異なる部分がありました。 ドキュメントがリリースされた後にAzure IoT Centralがバージョンアップしているため、更新が追いついていないようです。
ということで、この記事では現在のAzure IoT CentralにReButtonを登録(紐づけ)し、 ボタンイベントを可視化するところまでをやってみました。
公式のReButtonのドキュメントはコチラです。
ReButton
ReButtonは、Wi-Fi搭載のシンプルなIoTボタンです。ボタン押下をトリガーにWi-Fi経由でIoTプラットフォームへそのアクションを通知することができます。 標準のファームウェアでは、Azure IoT CentralまたはAzure IoT Hubにイベントを送信することができるようになっています。 オープンソースなファームウェアはArduino IDEを使用してカスタマイズすることもできます。
ReButtonの使い方
ReButtonを動かすためには単4電池を2本が必要です。 電池は裏蓋を開けて挿入しておきます。
電源の入れ方
Wi-Fiを利用すると消費電力が高いために電池がすぐに消耗してしまいます。 ReButtonでは基本的にボタンクリックによって電源がONするようになっているようです。
ボタンクリック → 電源ON → Wi-Fi接続 → イベント送信 → 電源OFF
ボタン操作の種類
種類というのが適切かは分かりませんが、ReButtonには1つの大きなボタンをその押し方によって複数種類のイベント送出と起動モードの切替をすることができます。 ただ、このボタンの押し方には癖があり、慣れるまで思ったようにイベントを起こすことが難しいかもしれません。 ポイントは、初回は少し長めに押します。下記のようなニュアンスです。
- 「カチッ(LEDが点灯)、ボタンを離す」→シングルクリック
- 「カチッ(LEDが点灯)、カチ(LEDが変化)、ボタンを離す」→ダブルクリック
- 「カチッ(LEDが点灯)、カチ(LEDが変化)、カチ(LEDが変化)、ボタンを離す」→トリプルクリック
ボタン操作 | LEDの色 | 動作内容 |
---|---|---|
シングルクリック | ブルー | D2Cメッセージを送信 |
ダブルクリック | ライム | D2Cメッセージを送信 |
トリプルクリック | マゼンタ | D2Cメッセージを送信 |
ロングクリック(長押し3秒) | イエロー | D2Cメッセージを送信 |
スーパーロングクリック(長押し6秒) | シアン | D2Cメッセージを送信 |
APモード(長押し10秒) | ホワイト | APモードで起動 |
初期設定
ReButtonをAzure IoT Centralに紐づける大まかな手順は下記のようになります。
- Azure IoT Centralにアプリケーションを作成
- アプリケーションにデバイステンプレートを登録
- ReButton用のデバイスを作成
- ReButton側の設定
1. Azure IoT Centralにアプリケーションを作成
Azure IoT Centralを開き、マイクロソフトアカウントでサインイン。画面右上のアイコンをクリックするとサインインすることができます。
マイアプリに移動して、「新しいアプリケーション」を作成。
アプリケーション名とURLを入力し、料金プランを選択。
7日間5台までのお試しの無料
プランを選択。ここで選択した料金プランは後で変更することができるようです。
URLは既に登録された他のIoT Centralアプリケーションと同じものを設定することはできません。
重複した場合にはエラーメッセージが表示されるので、別のURLを入力する必要があります。
2. アプリケーションにデバイステンプレートを登録
空のアプリケーションが作成されました。続いてデバイステンプレートを登録していきます。 デバイステンプレートは、ReButtonがどのような機能・状態などを持っているのかを定義するものです。
ReButtonが持つ機能の内、初期ファームウェア v1.0
から利用できる機能は下記のようです。
表示名 | 名前 | 機能の種類 | セマンティックの種類 | スキーマ | 単位 | 表示単位 |
---|---|---|---|---|---|---|
バッテリー電圧 | batteryVoltage | Telemetry | Voltage | Double | Volt | V |
メッセージ | message | Telemetry | Event | String | ||
アクション番号 | actionNum | Telemetry | Event | String |
ダッシュボードの「Device templates」をクリックし、「IoTデバイス」を選択してテンプレートの名前を入力。
空のテンプレートが作成されるので、「カスタムモデル」を選択し、「機能の追加」をクリック。
クリックすると機能を定義するためのブロックが表示されるので、上の表に記載されている内容を設定。
- バッテリー電圧
- メッセージ
- アクション番号
設定が終われば「保存」し、このテンプレートを利用できるようにするために「公開」しておきます。
3. ReButton用のデバイスを作成
続いて、このテンプレートを使う実際のデバイスを作成し、実機と紐づけを行う準備となります。
左のメニューから「デバイス」を選択して、「デバイスの作成」を行います。
デバイス名、デバイスIDを入力。デバイステンプレートには先ほど作成したテンプレートを選択。
画面上部の「接続」をクリックして、このデバイスと実機を紐づけるための情報をメモしておきます。
後ほどIDスコープ
デバイスID
主キー
の3つのパラメータを実機に設定するので、メモ帳などにコピペしておきます。
4. ReButton側の設定
ここから実機のReButton側の作業です。先ほどメモしたパラメータを設定すれば紐づけ作業は完了のようです。
まず、ReButtonをAPモードで起動。ボタンを10秒間押し続け、LEDがホワイトになった後にボタンを離すとAPモードで立ち上がります。 APモードで立ち上がると、ネットワークのスキャン時に「AZB-XXXXXXXXXXXX」のようなSSIDのアクセスポイントがみつかるようになります。 PCからこのネットワークに接続してWebブラウザで「192.168.0.1」を開けばReButtonの設定画面にアクセスすることができます。
Wi-Fiを設定
続いてReButtonが利用するネットワークを設定。「Wi-Fi」をクリックして、SSIDとパスフレーズを入力。ここで設定したネットワークを介してボタンイベントなどがIoT Centralに送り出されます。
Azure IoT Central
続いて「Azure IoT Central」をクリックして、先ほどメモした"IDスコープ(Scope ID)"、"デバイスID(Device ID)"、"主キー(SAS Key)"を入力。
ReButtonの設定はこれで完了。「Shutdown」してAPモードを終了させておきます。
動作確認
ここまででAzure IoT CentralにReButtonが紐づけされ、ボタンイベントがIoT Centralに送出されるようになりました。 ビューを設定する前にデータを受信できているか確認しておきます。 データを受信しているかどうかは"生データ"で確認することができます。
左のメニューから「デバイス」をクリックし、先ほど作成したデバイスを開きます。 ReButtonのボタンを押してイベントを発生させ、IoT Centralの画面をリロードするとログが表示されました!
下図は、ファームウェア v1.0
でシングルクリックしたときのログです。
ビューの設定
デバイステンプレートのビューをクリックし、「デバイスの視覚化」をクリックするとビューを作成することができます。
ビュー名に任意の名称を設定し、表示したい内容をタイルで追加していくようです。
A. "現在のバッテリー電圧"タイルを追加
- タイルの追加 > テレメトリ:
バッテリー電圧
を選択して、タイルを追加 - タイルのサイズ:
2 x 1
- 視覚化:
最後の既知の値
タイルのサイズと、視覚化の設定は、作成されたタイルの上部アイコンから変更できます。
設定した後は「保存」します。設定済みのデバイスにこの変更を反映させるために、「公開」もしておきます。
デバイスを開くと作成したビューが表示されました。
B. ボタンイベントの履歴
- タイルの追加 > テレメトリ:
メッセージ
を選択して、タイルを追加 - タイルのサイズ:
3 x 2
(タイル右下をドラッグして変更) - 視覚化:
イベントの履歴
まとめ
今回はReButtonをAzure IoT Centralに紐づけしてボタンイベントを可視化するところまでを試してみました。
この記事内でも「ファームウェア v1.0
」というのがちらほら書きましたが、最新のファームウェアはv1.11
のようです。
新しいファームウェアではmessage
に加えてボタンクリック毎のイベントを送信することができるようになっています。
これを利用することで時系列にイベントをプロットするイベントグラフなどを有効に利用することができます。
下記のような表示です。
ファームウェアアップデートの方法や、その設定方法については次回の記事に書きたいと思います。
変更履歴
日付 | 変更者 | 変更内容 |
---|---|---|
2021/6/3 | mnakai | 作成 |
2021/7/9 | mnakai | 続きの記事のリンクを追加 |