ReButtonはSeeed Bazaarから購入できます。
2023年2月15日~2024年2月15日に実施予定のAzure IoT Hub/Azure IoT Hub Device Provisioning Serviceのルート証明書の移行[1]に伴い、ReButtonのファームウェアをv1.12以降へアップデートする必要があります[2]。
尚、ファームウェアがv1.0~v1.11の場合にはOTAが失敗するため、SWDによるファームウェアアップデートを実施してください。
なにが行われるのか?
2023年2月15日~2024年2月15日に、Azure IoT Hub/Azure IoT Hub Device Provisioning Serviceのサーバ証明書のルート証明書が順次変更されます。
- Azure IoT Hub: 2023年2月15日~2023年10月15日
- Azure IoT Hub Device Provisioning Service: 2024年1月15日~2024年2月15日
ファームウェアをアップデートしないとどうなるのか?
2023年2月15日以降、ReButtonがAzure IoT Hub/IoT Centralに接続できなくなる可能性があります。
- 詳しくは「Azure IoT TLS: Critical changes are almost here! (…and why you should care)」を参照のこと
- 工場出荷時のファームウェアは”v1.0”です
概要
IoTボタンでIoTソリューションを始めよう!
Seeed ReButtonはシンプルなトリガーアクションで動作する開発用デバイスで、マルチクリックやロングクリックもサポートしています。 Seeed Groveをつなぐことで、データポイントを増やすこともできます。
- ReButtonを押すと電源がONになり、設定済みのWi-Fi経由でインターネットに接続します。
- ReButtonは予め設定されているAzure IoT Central、またはAzure IoT Hubからデバイスツインの更新を受け取ります。
- ReButtonは予め設定されているAzure IoT Central、またはAzure IoT Hubへdevice-to-cloudメッセージを送信します。
- device-to-cloudメッセージが送られたあと、ReButtonの電源はOFFになります。
ボタンの機能
マルチトリガーサポート
- シングルクリック
- ダブルクリック
- トリプルクリック
- ロングクリック(>3秒)
- スーパーロングクリック (>6秒)
Seeed Groveセンサーサポート
I2C、またはGPIOに対応しているGroveセンサーをReButtonの下部につなぐことができます。
※ソフトウェアの開発とアップデートが必要です。
クラウドサポート
Azure IoT CentralとAzure IoT Hubをサポートしています。
OTAサポート
ReButtonのファームウェアはover-the-airでアップデートできます。
省電力設計
ReButtonは単4アルカリ電池2本で動作します。
クイックスタート
1. ReButtonへのアクセス
ReButtonを設定するために、アクセスポイント(AP)モードで起動します。ReButtonはバッテリーの無駄な消費を避けるために、APモードの起動から10分経つと、自動でシャットダウンします。 そのため、先にIoT HubまたはIoT Centralの設定を済ませておくことを推奨します。
APモードは多くの電力を消費します。新しい電池を使ってReButtonの設定を行ってください。
-
LEDが白く光るまでボタンを押し続けます。 RGB LEDは青→黄→水色→白と順に変化します。白になるまで約10秒かかります。
-
ボタンから指を離して、ReButtonがAPモードにはいることを確認します。 APモードへのブートが成功すると、LEDは白く点滅します。
-
アクセスポイントへ接続します。 パソコンから
AZB-xxxxxxxxxxxx
という名前のWi-Fiアクセスポイントに接続します。 (xxxxxxxxxxxx
はReButtonのWi-FiのMACアドレスです。)
- Webブラウザーから
http://192.168.0.1
にアクセスし、ReButton - Homeを開きます。
2. Wi-Fi設定
インターネットにつなげるためにWi-Fiの設定をします。
- ReButton - Homeで
Wi-Fi
をクリックします。
Wi-Fi SSID
リストから、ReButtonにつなぎたいアクセスポイントのSSIDを選びます。 SSIDが見えない場合は、Webブラウザーを更新してください。- SSIDのパスワードを
Wi-Fi Passphrase
に入力します。 -
インターネットタイムサーバーを使いたい場合は、
Time Server
にFQDNを入力します。 デフォルトでは、ReButtonは次のサーバーと同期を試み、最初に成功したものを使用します。 pool.ntp.org -> cn.pool.ntp.org -> europepool.ntp.org -> asia.pool.ntp.org -> oceania.pool.ntp.org . Save
をクリックします。
3. クラウドの設定
3-1. Azure IoT Hub
※ Azure IoT Centralに接続する場合は、この手順を飛ばしてください。
Device-to-Cloud(D2C)メッセージをAzure IoT Hubに送るために、ReButtonにConnection String(接続文字列)を保存します。
connection string(接続文字列)の入手方法は、こちらのページ を参考にしてください。.
- ReButton - Homeで
Azure IoT Hub
をクリックします。 Azure IoT Hub connection string
にConnection String(接続文字列)を貼り付けます。Save
をクリックします。
3-2. Azure IoT Central
※ section 3-1でIoT Hubを設定済みの場合は、この手順を飛ばしてください。
Device-to-Cloud(D2C)メッセージをAzure IoT Centralに送るために、デバイスプロビジョニング情報をReButtonに保存します。
Azure IoT CentralにReButtonを接続するために、ReButtonのデバイステンプレートをAzure IoT Central アプリケーションに登録する必要があります。詳しい情報はデバイス テンプレートを設定するを参照してください。
- Azure IoT CentralでReButton用デバイステンプレートを作成します。
表示名 | 名前 | 機能の種類 | セマンティックの種類 | スキーマ | 単位 |
---|---|---|---|---|---|
バッテリー電圧 | batteryVoltage | Telemetry | Voltage | Double | Volt |
メッセージ | message | Telemetry | Event | String | |
アクション番号 | actionNum | Telemetry | Event | String |
-
バッテリー電圧
-
メッセージ
-
アクション番号
- Azure IoT Central上でデバイスを作成します。
- Azure IoT Centralの右上にある
接続
をクリックします。
- 次の3項目をコピーします。
スコープ ID
デバイス ID
SAS主キー
- ReButton-Homeを開き、
Azure IoT Central
をクリックします。 - Azure IoT Centralでコピーした3項目を、それぞれ
Scope ID
、Device ID
、SAS Key
に貼り付けます。 Save
をクリックします。
4. 電源オフ
APモードを終了して、ReButtonの電源をオフにします。
Shutdown
をクリックします。
その他の情報
Device To Cloud (D2C)メッセージ
ボタンを押すことで、D2Cメッセージをクラウドに送信できます。 ReButton supportsは5種類のトリガーをサポートしており、既定のD2C message stringsは下記の通りです。
クリックの種類 | LEDの色 | actionNum | message |
---|---|---|---|
シングルクリック | ブルー | 1 | “Single click” |
ダブルクリック | ライム | 2 | “Double click” |
トリプルクリック | マゼンタ | 3 | “Triple click” |
ロングクリック(> 3秒) | イエロー | 10 | “Long press” |
スーパーロングクリック(> 6秒) | シアン | 11 | “Super long press” |
D2Cメッセージの例:
{
"actionNum": "1",
"message": "Single click",
"batteryVoltage": 2.59
}
{
"actionNum": "2",
"message": "Double click",
"batteryVoltage": 2.59
}
{
"actionNum": "3",
"message": "Triple click",
"batteryVoltage": 2.59
}
{
"actionNum": "10",
"message": "Long press",
"batteryVoltage": 2.59
}
{
"actionNum": "11",
"message": "Super long press",
"batteryVoltage": 2.59
}
ファームウェアの開発
開発環境
Arduino IDEをパソコンにインストールします。Webエディターはサポートされていません。
Arduino IDEの環境設定内の”追加のボードマネージャーのURL”にhttps://www.seeed.co.jp/package_SeeedJP_index.json
と入力します。
ツール -> ボードから、ボードマネージャを選択します。検索ボックスにrebutton
と入力し、ReButtonのボードパッケージを検索します。候補の中からReButtonを見つけたら、インストールボタンをクリックします。
パッケージのインストールが終わったら(数分間かかります)、Arduino IDEのツール->ボードからReButton
を選びます。
ファームウェアのサンプルコード
ソースコードは以下のリンク先にあります。
ファームウェアのOTAアップデート
ReButtonはファームウェアのOTAアップデートをサポートしています。
Firmware Update
から現在のファームウェアのバージョンを確認し、最新のバージョンに更新してください。
現在のファームウェアのバージョン
ReButtonのホームのFirmware Update
をクリックすると、現在のファームウェアのバージョンを確認できます。
OTAでファームウェアを更新する方法
OTAでファームウェアをアップデートする方法は、こちらのページから確認できます。
SWD (Serial Wire Debug)
ReButtonはMCUの開発用に、底面にSWDパッドを搭載しています。 開発にはリスクが伴い、 ReButtonを置物にしてしまう危険もあります。 下図にパッドとSWD信号の対応を示します。 TC2030-CTX 6ピンケーブルを使ってパッドとデバッグアダプターを接続するか、直接はんだ付けをしてください。
私たちはソフトウェア開発のために必要な情報と、手軽な価格のデバッグアダプターの準備を進めています。復旧に使えるブートローダーが含まれているデフォルトのファームウェアバイナリReButton.1.0_with_bootloader.bin
はこちらからダウンロードできます。 バイナリファイルのターゲットはSTM32F412RG
です。書き込み先のアドレスは0x0800 0000
です。
- ReButtonのSWDパッドにデバッグアダプターを接続
- 電池を取り付ける
- ReButtonのボタンを押しながらダウンロードを実行
例:
openocd -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -c 'transport select swd' -f /usr/local/share/openocd/scripts/target/stm32f4x.cfg -c "program ReButton.1.0_with_bootloader.bin verify reset exit 0x08000000"
ファームウェアReButtonApp.1.x.bin
のみをアップデートする場合には、書き込み先のアドレスを0x0800 C000
としてください。
仕様
ハードウェア
仕様 | |
---|---|
MCU module | MXCHIP EMW3166 |
入力 | 押しボタンx1 |
アウトプット | RGB LEDx1 |
拡張ポート | I2C Groveコネクタ (3.3V I/O)x1 |
Extras | ジャンパースイッチ x1 |
SWDパッド x1 | |
デバッグ用UART x1 | |
電源 | 単4アルカリ乾電池 x2 |
内部供給電圧 | 3.3V |
サイズ | 70mm*70mm*25mm |
設計ファイル
これらのファイルは CC-BY-SAでライセンスされています。