树莓派 DS1302/DS1307/DS3231 RTC 时钟模块的使用
常用的计时时钟芯片有 DS1302、DS1307、DS3231,各型号还有衍生型号。都是 Dallas 生产的芯片。其中 DS1302 和 DS1307 可以看成是同一芯片的不同协议版本(SPI 和 I2C)。他们在树莓派上的用法几乎一致,下面将简单介绍。对于不同的芯片(或模块),只需要将命令中的芯片型号自行替换即可。 首先运行 sudo raspi-config 命令将 I2C 功能打开。 然后运行 sudo nano /etc/modules 命令,编辑配置文件将以下两行内容添加到末尾。 i2c-bcm2708 i2c-dev 其作用是添加 i2c 内核模块。 运行 sudo nano /etc/modprobe.d/raspi-blacklist.conf 命令。加入以下两行: # blacklist spi and i2c by default (many users don’t need them) blacklist spi-bcm2708 blacklist i2c-bcm2708 为了测试我们还需要安装 i2c-tools 工具与 python-smbus,使用下面的命令: sudo apt-get update sudo apt-get install i2c-tools python-smbus sudo reboot 重启后通过刚才安装的 i2c-tools 对 i2c 设备进行探测,输入以下命令,得到如下结果,说明检测到一个地址为 0x68 的 I2C 设备就是板上的 DS1302。 sudo i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: — — — — — — — — — — — — — 10: — — — — — — — — — — — — — — — — 20: — — — — — — — — — — — — — — — — 30: — — — — — — — — — — — — — — — — 40: — — — — — — — — — — — — — — — — 50: — — — — — — — — — — — — — — — — 60: — — — — — — — — 68 — — — — — — — 70: — — — — — — — — 测试一下功能: echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device hwclock -r hwclock -w 命令会先读取时钟芯片中的时间并显示出来,然后将当前系统时间写入到时钟芯片中。一切正常之后,接着加入开机启动。 编辑启动文件,使用一下命令: sudo nano /etc/rc.local 将以下内容加入「exit 0」行之前: sudo modprobe i2c-dev sudo modprobe i2c-bcm2708 echo ds1302 0x68 | sudo tee /sys/class/i2c-adapter/i2c-1/new_device sudo hwclock -r sudo hwclock -s 注意,根据使用的芯片,其中的 ds3231 可以替换成 ds1302 或 ds1307。 到这儿,RTC 时钟模块就配置完成了。以后要用到实时时间就可以简单的使用 date 这个命令来。在 Python 编程中可以使用以下代码读取实时时间。 import datetime #导入系统时钟 now = datetime.datetime.now() #读取当前时间并保存到now变量 timeString = now.strftime(“%Y-%m-%d%H:%M”) #把now中的时间按指定格式转换成字符串 4,821
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/32592.html