View on GitHub

ReButton

Docs for ReButton

1

This document in English.

ReButtonはSeeed Bazaarから購入できます。

注意 (2023年3月7日追記)

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に接続できなくなる可能性があります。


  1. 詳しくは「Azure IoT TLS: Critical changes are almost here! (…and why you should care)」を参照のこと
  2. 工場出荷時のファームウェアは”v1.0”です

概要

IoTボタンでIoTソリューションを始めよう!

Seeed ReButtonはシンプルなトリガーアクションで動作する開発用デバイスで、マルチクリックやロングクリックもサポートしています。 Seeed Groveをつなぐことで、データポイントを増やすこともできます。

  1. ReButtonを押すと電源がONになり、設定済みのWi-Fi経由でインターネットに接続します。
  2. ReButtonは予め設定されているAzure IoT Central、またはAzure IoT Hubからデバイスツインの更新を受け取ります。
  3. ReButtonは予め設定されているAzure IoT Central、またはAzure IoT Hubへdevice-to-cloudメッセージを送信します。
  4. device-to-cloudメッセージが送られたあと、ReButtonの電源はOFFになります。

3

ボタンの機能

マルチトリガーサポート

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の設定を行ってください。

  1. LEDが白く光るまでボタンを押し続けます。 RGB LEDは青→黄→水色→白と順に変化します。白になるまで約10秒かかります。

  2. ボタンから指を離して、ReButtonがAPモードにはいることを確認します。 APモードへのブートが成功すると、LEDは白く点滅します。

  3. アクセスポイントへ接続します。 パソコンからAZB-xxxxxxxxxxxxという名前のWi-Fiアクセスポイントに接続します。 (xxxxxxxxxxxx はReButtonのWi-FiのMACアドレスです。)

4

  1. Webブラウザーからhttp://192.168.0.1にアクセスし、ReButton - Homeを開きます。

5

2. Wi-Fi設定

インターネットにつなげるためにWi-Fiの設定をします。

  1. ReButton - HomeでWi-Fiをクリックします。

6

  1. Wi-Fi SSIDリストから、ReButtonにつなぎたいアクセスポイントのSSIDを選びます。 SSIDが見えない場合は、Webブラウザーを更新してください。
  2. SSIDのパスワードをWi-Fi Passphraseに入力します。
  3. インターネットタイムサーバーを使いたい場合は、Time ServerにFQDNを入力します。 デフォルトでは、ReButtonは次のサーバーと同期を試み、最初に成功したものを使用します。 pool.ntp.org -> cn.pool.ntp.org -> europepool.ntp.org -> asia.pool.ntp.org -> oceania.pool.ntp.org .

  4. Saveをクリックします。

3. クラウドの設定

3-1. Azure IoT Hub

※ Azure IoT Centralに接続する場合は、この手順を飛ばしてください。

Device-to-Cloud(D2C)メッセージをAzure IoT Hubに送るために、ReButtonにConnection String(接続文字列)を保存します。

connection string(接続文字列)の入手方法は、こちらのページ を参考にしてください。.

  1. ReButton - HomeでAzure IoT Hubをクリックします。
  2. Azure IoT Hub connection stringにConnection String(接続文字列)を貼り付けます。
  3. Saveをクリックします。

14

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 アプリケーションに登録する必要があります。詳しい情報はデバイス テンプレートを設定するを参照してください。

  1. Azure IoT CentralでReButton用デバイステンプレートを作成します。
表示名 名前 機能の種類 セマンティックの種類 スキーマ 単位
バッテリー電圧 batteryVoltage Telemetry Voltage Double Volt
メッセージ message Telemetry Event String  
アクション番号 actionNum Telemetry Event String  
  1. Azure IoT Central上でデバイスを作成します。

18

  1. Azure IoT Centralの右上にある接続をクリックします。

8

  1. 次の3項目をコピーします。
    1. スコープ ID
    2. デバイス ID
    3. SAS主キー

9

  1. ReButton-Homeを開き、Azure IoT Centralをクリックします。
  2. Azure IoT Centralでコピーした3項目を、それぞれScope IDDevice IDSAS Keyに貼り付けます。
  3. Saveをクリックします。

7

4. 電源オフ

APモードを終了して、ReButtonの電源をオフにします。

  1. 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と入力します。

ide_preference

ツール -> ボードから、ボードマネージャを選択します。検索ボックスにrebuttonと入力し、ReButtonのボードパッケージを検索します。候補の中からReButtonを見つけたら、インストールボタンをクリックします。

boards_manager

パッケージのインストールが終わったら(数分間かかります)、Arduino IDEのツール->ボードからReButtonを選びます。

ファームウェアのサンプルコード

ソースコードは以下のリンク先にあります。

ファームウェアのOTAアップデート

ReButtonはファームウェアのOTAアップデートをサポートしています。 Firmware Updateから現在のファームウェアのバージョンを確認し、最新のバージョンに更新してください。

現在のファームウェアのバージョン

ReButtonのホームのFirmware Updateをクリックすると、現在のファームウェアのバージョンを確認できます。

15

OTAでファームウェアを更新する方法

OTAでファームウェアをアップデートする方法は、こちらのページから確認できます。

SWD (Serial Wire Debug)

ReButtonはMCUの開発用に、底面にSWDパッドを搭載しています。 開発にはリスクが伴い、 ReButtonを置物にしてしまう危険もあります。 下図にパッドとSWD信号の対応を示します。 TC2030-CTX 6ピンケーブルを使ってパッドとデバッグアダプターを接続するか、直接はんだ付けをしてください。

SWD PADs

私たちはソフトウェア開発のために必要な情報と、手軽な価格のデバッグアダプターの準備を進めています。復旧に使えるブートローダーが含まれているデフォルトのファームウェアバイナリReButton.1.0_with_bootloader.binこちらからダウンロードできます。 バイナリファイルのターゲットはSTM32F412RGです。書き込み先のアドレスは0x0800 0000です。

  1. ReButtonのSWDパッドにデバッグアダプターを接続
  2. 電池を取り付ける
  3. 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としてください。

仕様

ハードウェア

2

仕様  
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 これらのファイルは CC-BY-SAでライセンスされています。