1. Linux
  2. Raspberry Pi

树莓派添加RTC时钟模块

由于 云菜地 项目的需要,我淘宝购入了一个树莓派RTC时钟模块,用于为树莓派提供断电,断网记时功能。即每次给树莓派上电的时候,树莓派自动从RTC模块读取时间并同步到系统时间。


因为,该模块使用的是I2C总线,所以需要手动打开它,但是我记得之前使用OLED屏幕的时候已经打开了,这里还是再去看一下吧。

0、开启I2C

pi@raspberrypi:~ $ sudo raspi-config

选择 3 Interface Options

选择 P5 I2C

选择Yes 即可

至此,I2C模块成功开启。

1、添加对 DS1307 的支持

pi@raspberrypi:~ $ sudo nano /boot/config.txt    #树莓派的启动配置文件

在该配置文件末尾追加如下内容

dtoverlay=i2c-rtc,ds1307

重启树莓派

pi@raspberrypi:~ $ reboot

2、树莓派与RTC之间互相同步

pi@raspberrypi:~ $ date     #显示当前树莓派的时间
pi@raspberrypi:~ $ sudo hwclock -w     #把树莓派的时间写入到 DS1307
pi@raspberrypi:~ $ sudo hwclock -r     #读取DS1307的时间

3、设置开机自启

pi@raspberrypi:~ $ sudo nano /etc/rc.local

在 exit 0 之前写入如下内容

hwclock -s

2022-04-14补充:

经过测试不需要手动将同步加入开机执行,如果加入出现如下错误:

不加,也可以同步!

4、测试

首先关闭网络

pi@raspberrypi:~ $ sudo ifconfig wlan0 down #关闭 wlan0

直接关机

pi@raspberrypi:~ $ shutdown -h now

断电,然后重新上电,树莓派自启观察结果

发现自动连接上了,直接拔掉路由器电源继续上电!


ok没有问题了!