Wio Extension - RTC は、電源と Wio の間に割り込む形で設置します。Wio Extension - RTC の I2C コネクタは 2 ヵ所ありますが、どちらでもかまいません。
Wio Extension - RTC 上の USB 信号線はすべてつながっているため、この状態でも Wio LTE JP Version における DFU モードや、Wio 3G SORACOM Edition のソフトウェア書き換えが可能です。
ライブラリ、利用方法
Wio LTE JP Version 用のライブラリが提供されています。 利用方法は Seeed 社のガイド をご確認ください。ここでは、概要および注意点をご紹介します。
インストールガイド、そしてサンプルコード (スケッチ) も同梱されているので、取り組みやすくなっています。
Wio Extension - RTC に対しては I2C で通信するため Wio.PowerSupplyGrove(true);
を実行してください。
指定できる時刻の形式
指定可能なのは「今から~後に ON にして」を RTC.SetWakeupPeriod(int boot_interval);
という関数で実行します。単位は秒で指定です。
実装のポイント マイコン (Wio) 側から見ると「毎度、電源 ON」ということになるため、センサーや周辺機器における電源 OFF 前の終了処理や、次回起動時の初期化処理で矛盾が発生しないようする配慮が必要となります。
状態の記録には後述する EEPROM が有効ですので活用しましょう。
EEPROM の運用
Wio Extension - RTC 上の EEPROM のサイズは 4KB です。 読み書き速度は低速、そして読み書き回数による寿命があります。(10 万~ 100 万回程度)
10 万回というとかなりの回数があるように思えますが、たとえば 1 秒に 1 回書込みを行うと、1 日で 86400 回に到達します。頻繁に動作するものではなく、待機が長いデバイスに対する電力削減の手段としてお使いください。
また、EEPROM の中身は Wio Extension - RTC 自体の電源が切れてしまっても保管されます。自分で消去場合は、明示的に NULL で埋める必要があります。 アクセスの保護をする仕組みもないため、EEPROM に機密情報は書かないことを推奨します。
ボード上の SW1 スイッチ
SW1 は A は常時給電されます。ボードの電源を OFF にする RTC.shutdown()
は、実行はできますが無視されます。これは Wio LTE JP Version や Wio 3G SORACOM Edition のソフトウェア更新の時に便利です。
SW1 が B で RTC.shutdown()
などの関数が機能するようになるため、普段は B に設定することを推奨します。