1、首先使能IIC接口。
下面的方法是在树莓派图形界面中找到"首选项",点击"Raspberry Pi Configuration"。
在"Interfaces"中找到IIC,使其activate。OK之后重启树莓派,即sudo reboot。
2、将RTC插入树莓派后,如下打开配置文件。
sudo nano /boot/firmware/config.txt
(1)在配置文件的最后一行中添加 dtoverlay=i2c-rtc,ds1307
dtoverlay=i2c-rtc,ds1307
注:本人使用的是RTC ds1307,所以填写1307。请根据自己RTC时钟的型号进行修改。
(2)如下图,在文件中间找到 # Enable audio,注释掉dtparam=audio=on,并添加下面四行内容。
3、配置完文件后,重启树莓派。
重启之后输入lsmod命令查看设备信息,发现有了rtc_ds1307。
lsmod
4、打开/etc/modules,添加i2c-bcm2708。
sudo nano /etc/modules
i2c-bcm2708
5、利用show命令,显示当前时间。
sudo hwclock --show
证明此时RTC时钟正常。
6、读取RTC时钟和系统时钟
sudo hwclock -r;date
此时RTC时间是正确的,但是系统时间与RTC时间并不统一,因此将RTC时间更新成系统时间。
7、更新RTC时间到系统
sudo hwclock -s
更新时间之后,再查询一下时间,可以发现RTC时间和系统时间一致。
8、设置开机自启动
(1)配置rc.local文件
sudo nano /etc/rc.local
如下图,在exit 0 之前添加如下一行内容:
sudo hwclock --hctosys
表示将hardware clock 同步到(to)system clock。
(2)设置文件权限
sudo chmod 777 /etc/rc.local
9、最后使用sudo date检查时间,系统时间是正确的时间。
并且用下面的命令将时间调错:
sudo date --set="2024-08-22 07:34:34"
重启后可以发现系统时间自动变成了正确的,证明成功。