木曜日、5月 21、2020
リアルタイムクロックの設定
RTCの有効化
ラトックの Raspberry Pi キャリアボードには、RTC(リアルタイムクロック)の機能が標準で搭載されています。
ここでは、リアルタイムクロックを動作させるためのセットアップをおこないます。
セットアップについては www.raspberrypi.org/forums/viewtopic.php?f=63&t=161133 に記載されていますが、要点をここで記載します。
はじめに、Raspberry Piを起動し、"LxTerminal"を起動します。
ターミナルが起動したら以下のコマンドを入力し、アプリケーションを起動してください。
vi を使用する場合
$ sudo vi /boot/config.txt
nano を使用する場合
$ sudo nano /boot/config.txt
leafpad を使用する場合
$ sudo leafpad /boot/config.txt
それぞれエディタが起動すれば、以下の文字列を追加します。
dtoverlay=pi3-act-led,gpio=16
dtoverlay=gpio-poweroff,gpiopin=5
dtoverlay=i2c-rtc,mcp7941x
上記の文字列を追加した後、保存しアプリケーションを終了させてください。
次に、ハードウェアクロックのセッティングをおこないます。
先ほどと同じように、ターミナルからアプリケーションを起動してください。
vi を使用する場合
$ sudo vi /lib/udev/hwclock-set
nano を使用する場合
$ sudo nano /lib/udev/hwclock-set
leafpad を使用する場合
$ sudo leafpad /lib/udev/hwclock-set
エディタの起動後、以下の文字列をコメントアウトさせてください。
if [ -e /run/systemd/system ] : then
exit 0
fi
コメントアウトするとこのような文字列になります。
# if [ -e /run/systemd/system ] : then
# exit 0
# fi
上記のようにコメントアウトができたら、保存、アプリケーションを終了させてください。
終了したら、再起動をおこなってください。
Raspbianが起動した後 "LXTerminal" から以下のコマンドを入力し、状態の確認をおこないます。
$ sudo i2cdetect -y 1
上記のコマンド入力後、表示される I2Cの一覧にある 0x6F が "UU"、0x57(EEPROM)が "57"であることを確認してください。
i2cの状態を確認した例
おまけ: hwclockコマンドでRTCへ直接アクセスする
RTC機能をコマンドラインで直接動作確認させることが可能です。
主なコマンドライン
RTCの時刻読み出し
$ sudo hwclock -r
システムの時間をRTCへ書き込む
$ sudo hwclock -w
RTCの時間をシステムhw書き込む(スタートアップ時に実行)
$ sudo hwclock -s
RTCから10秒間隔で時刻を読み出す(終了はCTRL+C)
$ sudo hwclock -c