Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/ratoc/www/test.ratocsystems.com/products/triple_r/blog/fp-includes/core/core.config.php on line 4

Warning: session_name(): Cannot change session name when headers already sent in /home/ratoc/www/test.ratocsystems.com/products/triple_r/blog/fp-includes/core/core.session.php on line 9

Warning: session_start(): Cannot start session when headers already sent in /home/ratoc/www/test.ratocsystems.com/products/triple_r/blog/fp-includes/core/core.session.php on line 11
リアルタイムクロックの設定 « ラズパイブログ

木曜日、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"であることを確認してください。

i2cdetect.png
i2cの状態を確認した例

おまけ: hwclockコマンドでRTCへ直接アクセスする

RTC機能をコマンドラインで直接動作確認させることが可能です。
主なコマンドライン

RTCの時刻読み出し

$ sudo hwclock -r

システムの時間をRTCへ書き込む

$ sudo hwclock -w

RTCの時間をシステムhw書き込む(スタートアップ時に実行)

$ sudo hwclock -s

RTCから10秒間隔で時刻を読み出す(終了はCTRL+C)

$ sudo hwclock -c