ReButtonをアップデートして新しい機能を使う

Seeed K.K.の中井です。

前回の記事の続きです。

lab.seeed.co.jp

前回の記事ではReButtonのファームウェアに依存しない利用方法を説明しました。 文末にも書きましたが、現在の最新のファームウェアはv1.11です。v1.0v1.11までにいくつか有効な機能が追加されています。

この記事では、ReButtonのファームウェアをアップデートし、それらの機能の利用方法について説明していきます。

f:id:mnakai:20210601111505j:plain

ファームウェアの更新

工場出荷状態のReButtonにはファームウェア v1.0が書き込まれています。 ファームウェアをアップデートし、最新のv1.11を使えばイベントグラフにシングルクリックなどボタンイベント毎にプロットすることができ、 また環境センサーを接続しておけば、イベント発生時の環境データをグラフ化することができます。 ReButton利用時には最新のファームウェアにアップデートすることをお勧めします。

f:id:mnakai:20210707082903j:plain

アップデート方法

ファームウェアはOTA(Over-The-Air)アップデートすることができます。公式ドキュメントはコチラです。

公式ドキュメントにも記載されていますが、カスタマイズが不要な場合には公開済みのファームウェアを利用してアップデートすることができます。

【外部リンク】 標準ファームウェアの公開データ

  • 最新ファームウェア v1.11の情報を抜粋
    (URIは右クリックしてリンクアドレスをコピーして利用してください)
Release Date Version Package URI Package CRC Package Size
2019/12/26 1.11 ReButtonApp.1.11.bin 0xe040 695664

ファームウェアアップデート手順は下記となります。

  1. ボタンを10秒以上長押しし、APモード(LED: ホワイト)で起動
  2. Wi-Fi」で利用するネットワークを設定
  3. Firmware Update」で、Package URI CRC Sizeを入力
  4. ReButtonのボタンを押しながらUpdate」をクリック
  5. !!ReButtonのボタンは押しっぱなし!!ファームウェアのアップデートが実行され、完了すると自動的に電源がOFFになります
  6. ReButtonのボタンを押しっぱなしにしていると自動的に再起動するので、APモード(LED:ホワイト)になるまで待ち、ここでボタンを離します

※ ファームウェアのアップデートを開始後、ネットワークに接続できない場合などでエラーが発生した場合にはLEDが赤く3回点滅します

ファームウェアアップデート中にボタンを押しっぱなしにするのは、ファームウェア書き換え途中でシャットダウンされないようにするためです。 万一、書き換え途中にシャットダウンしてしまった場合にはSWDによるファームウェアの書き換えが必要となる場合があります。

ファームウェアをアップデートするとそれまでに設定したWi-FiやAzure IoTの設定は初期化されてしまいます。 上記手順の6でAPモードで起動するので、このタイミングでWi-FiとAzure IoTの設定をし直します。

カスタマイズしたファームウェアに更新する方法については、公式ドキュメントをご覧ください。

デバイステンプレート

ここからは最新のファームウェアv1.11となっていることを前提に説明していきます。

最新のファームウェアでは次の機能に対応しているため、これらをAzure IoT Centralで利用できるようにデバイステンプレートを更新します。

表示名 名前 機能の種類 セマンティックの種類 スキーマ 単位
バッテリー電圧 batteryVoltage Telemetry Voltage Double Volt
メッセージ message Telemetry Event String
アクション番号 actionNum Telemetry Event String
アクションカウント actionCount Telemetry Integer
シングルクリック singleClick Telemetry Event String
ダブルクリック doubleClick Telemetry Event String
トリプルクリック tripleClick Telemetry Event String
ロングクリック longPress Telemetry Event String
スーパーロングクリック superLongPress Telemetry Event String
温度 temperature Telemetry Temperature Double Degree celsius
湿度 humidity Telemetry Humidity Double Percent
気圧 pressure Telemetry Pressure Double Pascal

上記機能をデバイステンプレートに設定するには、前回の記事のように手動で設定することもできますが、定義済みのモデルファイルをインポートして設定することもできます。

モデルファイルをインポート

定義済みのモデルファイルは、下記のリンクから入手することができます。

モデルファイルをインポートできるのは空のデバイステンプレートの状態のみとなるため、 ここでは新しいテンプレートを作成してインポートします。

サイドメニューから「デバイステンプレート」を選択し、「新規」をクリックします。
※前回記事で作成した「ReButton」テンプレートは「ReButton-old」にリネームしてあります

f:id:mnakai:20210602164456j:plain

IoTデバイス」を選択してデバイステンプレート名を入力し作成します。 「モデルのインポート」を選択すると、ファイルダイアログが開くので先ほどのリンクから取得したモデルファイルを選択します。

f:id:mnakai:20210602164519j:plain

これでテンプレートにモデルファイルがインポートされました。だいぶ設定の手間が省けますね。

ビューの設定

新しく追加された機能を使ったビューの設定例です。

C. ボタンイベントのイベントグラフ
  • タイルの追加 > テレメトリ: シングルクリック ダブルクリック トリプルクリック ロングクリック スーパーロングクリックを選択して、タイルを追加
  • タイルのサイズ: 3 x 2
  • 視覚化: イベントグラフ

f:id:mnakai:20210531160922j:plain

D. ボタンのイベント履歴
  • タイルの追加 > テレメトリ: シングルクリック ダブルクリック トリプルクリック ロングクリック スーパーロングクリックを選択して、タイルを追加
  • タイルのサイズ: 3 x 2
  • 視覚化: イベントの履歴

f:id:mnakai:20210531160933j:plain

E. 温度、湿度のグラフ

ファームウェア v1.11では下記の環境センサーを接続すると、ボタンイベントの送信と同時に環境データも一緒に送信されるようになります。

環境センサー 温度 湿度 気圧
Grove - Temperature & Humidity Sensor (SHT31)
Grove - I2C High Accuracy Temp&Humi Sensor (SHT35)
Grove - Temp&Humi&Barometer Sensor (BME280)

f:id:mnakai:20210707095725j:plain

温度と湿度を同じグラフにプロットする場合の例です。

  • タイルの追加 > テレメトリ: 温度 湿度を選択して、タイルを追加
  • タイルのサイズ: 3 x 2 (タイル右下をドラッグして変更)
  • 視覚化: 折れ線グラフ

f:id:mnakai:20210601095906j:plain

デバイスのテンプレートを変更

既存デバイスのテンプレートを変更するにはサイドメニューの「デバイス」を選択し、表示されているデバイスの一覧からテンプレートを変更するデバイスを選択し、「移行」をクリックします。

f:id:mnakai:20210602193715j:plain

移行するテンプレートを選択し「移行」をクリックすればテンプレートが変更されます。

f:id:mnakai:20210602193724j:plain

まとめ

ReButtonのファームウェアをアップデートし、ボタンイベントをイベントグラフで表示、環境データをグラフ化ができるようになりました。

IoT Centralには特定条件に合致した場合にメール送信やWebhookを実行することができる「規則」機能も備わっており、Azure IoT外部のサービスと連携することもできます。また、本記事では言及していないAzure IoT Hubを利用することもできます。

ボタン1つのReButtonですがIoTプラットフォームと連携することで、幅広い用途で使えるんじゃないかと思います。 色々と試してみてはいかがでしょうか?

変更履歴

日付 変更者 変更内容
2021/7/8 mnakai 作成