ATOMで電波時計を合わせる

2022年11月20日ハードウェア

電波時計は便利ですが、電波が入らないと時間がずれていきます。電波を増幅するリピーターは結構お高く、安上がりにできないかと探していたら良さそうなものを見つけました。

ほこり除けのため、基盤にサランラップを巻いています。

「ATOM」というIoT開発モジュールに専用の基板を取り付けると、NTPから取得した時刻情報を電波で発信できるようです。有効半径30cmとの事ですが家で使うには十分でしょう。

さっそくスイッチサイエンスさんで購入しました。全部で3千円強。

ATOM Lite
M5Atom Lite/Matrix用JJYアンテナ基板

ただしモジュールに基盤を取り付けただけでは動作せず、モジュールにソフトウェアを入れなくてはいけません。ATOMは初めて触るので少々手こずりましたが、なんとかできましたので備忘がてら、手順を以下にまとめます。

手順

1. パソコンにArduino IDEをインストール

Microsoft Storeで「Arduino IDE」と検索すればすぐに出てきます。

2. Arduino IDEを起動し、必要な設定を投入

まず公式のドキュメントとおりに作業。
https://docs.m5stack.com/#/en/arduino/arduino_development

このとおりに作業をするとBoards Managerに [esp32]、ライブラリに[M5Atom][FastLED]が入るはず。
さらに、ライブラリに[WiFiManager by tzapu, tablatronix]を追加。 ※似た名前が多いので注意
この手順は不要になりました。

次にWiFiManagerを追加します。以下のサイトからzipをダウンロードし、Arduino IDEの[スケッチ]-[ライブラリ追加]-[zipから追加]でOK。https://github.com/tzapu/WiFiManager

3. ATOM Liteをパソコンに接続

ATOMをパソコンにUSBケーブルで接続します。デバイスマネージャを確認し、もし正常に認識されていない場合は以下のサイトからドライバを入手してください。https://ftdichip.com/drivers/vcp-drivers/

認識されたらポートを確認します。以下の場合だとCOM7ですね。

確認したポートをArduino IDEの[ツール]-[シリアルポート]に設定します。

4. ATOM Liteにプログラムをインストール

GitHub – botanicfields/BF-018A: JJY Simulator for M5Atom から最新の.inoファイル(BF-018ARev2.ino など)をダウンロードし実行するとArduino IDEが起動するので、[マイコンボードに書き込む](右向き矢印のボタン) を押下。

こんな画面になれば完了。

5. WiFi設定

スマホ等でWiFi設定を開き、アクセスポイント[ESP32-XXX]に接続。
※XXXは個体で異なります

ブラウザから http://192.168.4.1 にアクセスすると、ATOMがどのWiFiアクセスポイントを使用するかを指定する画面が表示されるはずです。指定後ATOMが青く点滅すれば作業完了。

あとはパソコンに繋ぐ必要はなく、USB充電器やモバイルバッテリーから電源供給するだけでずっと電波を発してくれます。電源ON時やシャットダウン時にも操作不要です。

うちではこれで電波時計がずれる事は無くなりました。よかったよかった。

既知の不具合について

下記、JJY Simulator for M5Atom Rev.2 で対策済との事で、作業不要です。(備忘のために残します)

電源電圧が高いとき、WiFiの性能が著しく低下する不具合があるようです。確かに、当方の環境でも気づいたらWiFiが切れていて、リセットで復旧する事がたまにありました。

2021年11月現在メーカーからは対策は示されておらず、有志によるFWを適用するのが有効なようです。実際に適用したところ、確かにWiFiが不意に切断されることが無くなりました。お困りの方はご検討ください。

・ESP32と5V IOのUSB UARTデバイスによるWifi問題まとめ
https://sohtamei.github.io/docs/esp32AndUsbUartWith5V_IO_Issue.html

・CH552 Downloadモードアダプタ使い方 ※FWの書換に使用
https://sohtamei.github.io/docs/CH552DownloadAdaptor.html