ユーザ用ツール

サイト用ツール


rtc関連

RTC関連

現在の認識では、Jetson Nano ModuleにはRTCの機能が標準で装備されていて、ボタン電池から電源供給しておけば、時刻が保持できる、というもの。

バックアップ電池は百均にてCR1220を購入して来た。これが一番入手性がよさそう。 キャリーボードJ202のボタン電池ホルダにはちゃんと装着できた。

単に、装着しただけでは時刻が保持できなかった。ちょっと調査していると、以下のページに遭遇。

https://www.forecr.io/blogs/bsp-development/rtc-test-for-nvidia-jetson-modules

NTPによる時刻同期のサービスが動いていると、ネットにつながっていないときに変に初期化されてしまう、ということかもと考え、上記のページに従ってためしてみる。

$ timedatectl status
                      Local time: 火 2022-08-23 12:30:21 JST
                  Universal time: 火 2022-08-23 03:30:21 UTC
                        RTC time: 土 2000-01-01 02:53:06
                       Time zone: Asia/Tokyo (JST, +0900)
       System clock synchronized: no
systemd-timesyncd.service active: yes
                 RTC in local TZ: no
$ sudo timedatectl set-ntp 0
$ timedatectl status
                      Local time: 火 2022-08-23 12:33:05 JST
                  Universal time: 火 2022-08-23 03:33:05 UTC
                        RTC time: 土 2000-01-01 02:55:50
                       Time zone: Asia/Tokyo (JST, +0900)
       System clock synchronized: no
systemd-timesyncd.service active: no
                 RTC in local TZ: no

電池を入れて、日時を設定して、保持及び自分で時を刻めるかテストしてみる。

まず、現在の日時を設定。

irius@jetson-nano-module-01:~$ timedatectl status
                      Local time: 金 2021-12-10 18:16:25 JST
                  Universal time: 金 2021-12-10 09:16:25 UTC
                        RTC time: 土 2000-01-01 01:01:32
                       Time zone: Asia/Tokyo (JST, +0900)
       System clock synchronized: no
systemd-timesyncd.service active: no
                 RTC in local TZ: no
sirius@jetson-nano-module-01:~$ sudo timedatectl set-time "2022-08-23 13:55"
sirius@jetson-nano-module-01:~$ timedatectl status
                      Local time: 火 2022-08-23 13:55:14 JST
                  Universal time: 火 2022-08-23 04:55:14 UTC
                        RTC time: 火 2022-08-23 04:55:14
                       Time zone: Asia/Tokyo (JST, +0900)
       System clock synchronized: no
systemd-timesyncd.service active: no
                 RTC in local TZ: no

ACアダプタを外して、しばらく時間をおいてから、起動して、時計が進んでいるかどうかを確認。

sirius@jetson-nano-module-01:~$ date
2022年  8月 23日 火曜日 14:17:33 JST
sirius@jetson-nano-module-01:~$ timedatectl status
                      Local time: 火 2022-08-23 14:17:50 JST
                  Universal time: 火 2022-08-23 05:17:50 UTC
                        RTC time: 火 2022-08-23 05:17:49
                       Time zone: Asia/Tokyo (JST, +0900)
       System clock synchronized: no
systemd-timesyncd.service active: no
                 RTC in local TZ: no

ちゃんと20分ほど進んだ。やはり、NTPによる時刻同期がONだと、ネットがつながらないと変な値にリセットされてしまう、ということか。RTCを有効にするということは、NTPを無効にする、ということでよいのか。

本来、NTP同期を有効にしておけば、ネットがつながって、NTPで時刻合わせしつつ、ネットがつながらないときはRTCのみで時刻を刻む、という風に動くことが期待されるのではないか。

ならば、もう一度、NTP同期を有効にしてどうなるか確認する。これでいけたら、一旦、set-timeにてRTCに時刻を設定することに意味がある、ということか?

rtc関連.txt · 最終更新: 2022/08/23 14:33 by makotoa67