0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样为树莓派添加实时时钟

454398 来源:网络整理 作者:网络整理 2019-11-28 09:37 次阅读

概述

怎样为树莓派添加实时时钟

教程要求Raspberry Pi运行带有RTC模块和DS1307模块的内核。当前的Raspbian发行版具有此功能,但其他人可能没有!

Raspberry Pi被设计为一款超低成本的计算机,因此我们习惯了很多东西一台电脑被遗漏了。例如,您的笔记本电脑和计算机有一个小硬币电池供电的“实时时钟”(RTC)模块,即使关闭电源或取出电池,该模块也能保持时间。为了保持成本低和体积小,Raspberry Pi不包含RTC。相反,Pi旨在通过以太网或WiFi连接到Internet,从全局 ntp (网络时间协议)服务器自动更新时间

对于没有网络连接的独立项目,则您将无法保留电源中断的时间。因此,在此项目中,我们将向您展示如何在Pi上添加低成本的电池支持RTC以节省时间!

接线RTC

为保持低成本,Raspberry Pi不包含实时时钟模块。而是希望用户始终将其连接到WiFi或以太网,并通过检查网络来节省时间。由于我们要包含一个外部模块,因此我们必须将其连接起来。

我们建议使用三种不同的RTC,PCF8523价格便宜,DS1307最常见,DS3231最精确。

虽然我们发现DS1307历来是最常见的,但不是最好的RTC芯片组!

Adafruit PiRTC-Raspberry Pi的PCF8523实时时钟

产品ID:3386

这是一个很棒的电池支持的实时时钟(RTC),使您的Raspberry Pi项目可以在断电时跟踪时间。完美用于数据记录,时钟构建,。..

$ 5.95

入库存

添加到购物车

Adafruit PCF8523实时时钟组装式分线板

产品ID:3295

这是一个出色的电池供电实时时钟(RTC),即使重新编程,您的微控制器项目也可以跟踪时间,或断电。非常适合。..

$ 4.95

进货

添加到购物车

Adafruit DS1307实时时钟组合式分线板

产品ID:3296

这是一个出色的电池供电实时时钟(RTC),即使重新编程或断电,您的微控制器项目也可以跟踪时间。非常适合。..

缺货

缺货

Adafruit DS3231精确RTC分组

产品ID:3013

DS3231的数据表解释说,该器件是“非常精确的I²C集成RTC/TCXO/Crystal”。而且,嘿,它的作用完全一样……

$ 13.95

入库存

添加到购物车

别忘了还要安装CR1220币形电池。特别是没有它,DS1307根本无法工作,并且当Pi断开且没有硬币电池时,任何RTC都不会保留时间。

CR1220直径12毫米-3V锂纽扣电池

产品编号:380

这些是质量最高的产品,容量的电池,与iCufflinks,iNecklace,Datalogging和GPS Shields,GPS HAT等产品随附的电池相同。每笔订购一个电池。..

$ 0.95

入库

添加到购物车

接线简单:

将分支板上的 VCC 连接到Pi的 5.0V 引脚(如果使用DS1307)

连接 VCC 3.3V 引脚上的Strong》(如果使用PCF8523或DS3231)

将分支板上的 GND 连接到Pi的 3.3V 引脚。 Pi的 GND 引脚

将分支板上的 SDA 连接到Pi的 SDA 引脚

将分支板上的 SCL 连接到Pi的 SCL 引脚

设置和测试I2C

设置在您的Pi上设置I2C

您还需要在您的Pi上设置i2c,为此,请运行 sudo raspi-config 并在高级下》选择I2C并将其打开。

有关更多详细信息,请访问http://learn.adafruit.com/adafruits-raspberry-pi-lesson-4上有关Raspberry Pi i2c设置和测试的教程。 -gpio-setup/configuring-i2c

使用 sudo reboot

验证接线(I2C扫描)

通过运行验证接线

sudo apt-get install python-smbus i2c-tools

要安装助手软件,然后在命令行上sudo i2cdetect -y 1 ,您应该看到显示ID#68-这就是DS1307,PCF8523或DS3231的地址!

如果您使用的Pi 1较旧,则必须运行sudo i2cdetect -y 0 ,因为I2C总线地址从0更改为到1

一旦您运行了内核驱动程序,i2cdetect将跳过0x68并显示UU,这意味着它可以正常工作!

设置RTC时间

现在,我们已将模块连接好,并确认您可以使用i2cdetect看到该模块,我们可以对其进行设置。

别忘了在上一步中设置I2C!

Raspbian Jessie(系统化)

感谢kd8twg的提示!

您可以通过添加设备树覆盖来添加对RTC的支持。运行

sudo nano/boot/config.txt

以编辑pi配置并添加与您的RTC芯片匹配的文件:

dtoverlay=i2c-rtc,ds1307

dtoverlay=i2c-rtc,pcf8523

dtoverlay=i2c-rtc,ds3231

到文件末尾

保存并运行sudo reboot重新开始。登录并运行sudo i2cdetect -y 1以查看UU显示应位于0x68的位置

禁用会干扰“真实” hwclock的“假hwclock”

sudo apt-get -y remove fake-hwclock

sudo update-rc.d -f fake-hwclock remove

sudo systemctl disable fake-hwclock

现在关闭了false-hw时钟,您就可以启动原始的“硬件时钟”脚本。

运行 sudo nano/lib/udev/hwclock-set 并注释掉这三行:

#if [-e/run/systemd/system];然后

#退出0

#fi

也注释掉这两行

/sbin/hwclock --rtc=$dev --systz --badyear

/sbin/hwclock --rtc=$dev --systz

从Pi到RTC的同步时间

第一次插入RTC模块后,它的时间将会错误,因为必须设置一次。您始终可以使用sudo hwclock -D -r

您可以看到,最初的日期无效!您可以轻松设置正确的时间。首先运行date以验证时间是否正确。插入以太网或WiFi,使Pi从Internet同步正确的时间。完成后,运行sudo hwclock -w来 w 计算时间,运行另一个sudo hwclock -r来 r 花费时间

设置时间后,确保已插入币形电池以节省时间。您只需要设置时间一次

就可以了!下次启动时,时间将自动从RTC模块进行同步

Raspbian Wheezy或其他预先安装的Linux

首先,通过运行

sudo modprobe i2c-bcm2708

sudo modprobe i2c-dev

sudo modprobe rtc-ds1307

来加载RTC模块,以root身份运行(输入 sudo bash )

echo ds1307 0x68 》 /sys/class/i2c-adapter/i2c-1/new_device

如果您碰巧有旧的Rev 1 Pi,请输入

echo ds1307 0x68 》 /sys/class/i2c-adapter/i2c-0/new_device

然后您可以键入退出退出根shell。

然后使用检查时间sudo hwclock -r ,它将从DS1307模块读取时间。如果这是第一次使用该模块,它将在2000年1月1日返回报告,您需要设置时间

首先,您需要在Pi上设置正确的时间,最简单的方法是将其连接起来到以太网或Wifi-它会自动设置网络时间。时间正确后(使用 date 命令检查),运行 sudo hwclock -w 将系统时间写入RTC

,然后可以使用 sudo hwclock -r

接下来,您需要将RTC内核模块添加到/etc/modules列表中,以便在计算机启动时加载它。运行 sudo nano/etc/modules 并在文件末尾添加 rtc-ds1307 (下图显示rtc-1307但有错字)

杰西前辈raspbian有点不同。首先,您将需要在引导时创建DS1307设备,通过运行

sudo nano /etc/rc.local

编辑/etc/rc.local并添加:

echo ds1307 0x68 》 /sys/class/i2c-adapter/i2c-0/new_device (对于v1树莓派

echo ds1307 0x68 》 /sys/class/i2c-adapter/i2c-1/new_device (对于v2树莓派)

sudo hwclock -s (两个版本)

在exit 0之前(我们在下面的屏幕截图中忘记了hwclock -s部分)

就是这样!下次启动时,时间将自动从RTC模块进行同步
责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 时钟
    +关注

    关注

    10

    文章

    1479

    浏览量

    130304
  • 树莓派
    +关注

    关注

    113

    文章

    1637

    浏览量

    104712
收藏 人收藏

    评论

    相关推荐

    RX-4571LC、NB、SA实时时钟模块

    RX-4571LC实时时钟模块是EPSON推出的一求款额定频率32.768KHz,接口为SPI(3-wire),月偏差为±60 s的实时时钟模块,12脚贴片,具有小尺寸,高稳定性。该款实时时钟模块
    发表于 01-31 11:46 0次下载

    基于51单片机的实时时钟设计

    电子发烧友网站提供《基于51单片机的实时时钟设计.rar》资料免费下载
    发表于 01-12 10:43 8次下载

    基于51单片机的实时时钟+温度应用设计

    电子发烧友网站提供《基于51单片机的实时时钟+温度应用设计.rar》资料免费下载
    发表于 01-12 10:20 0次下载

    基于51单片机的实时时钟设计

    电子发烧友网站提供《基于51单片机的实时时钟设计.rar》资料免费下载
    发表于 01-02 10:15 40次下载

    基于51单片机的实时时钟+温度应用设计

    基于51单片机的实时时钟+温度应用设计(仿真)
    发表于 01-02 09:55 0次下载

    Arduino篇—实时时钟

    DS1307时钟模块:** DS1307串行实时时钟(RTC)是低功耗,全二进制编码的十进制(BCD)时钟/日历以及56字节的NV SRAM。
    的头像 发表于 11-01 16:49 917次阅读
    Arduino篇—<b class='flag-5'>实时时钟</b>

    CW32实时时钟(RTC)介绍

    CW32实时时钟(RTC)介绍
    的头像 发表于 10-24 15:36 512次阅读
    CW32<b class='flag-5'>实时时钟</b>(RTC)介绍

    实时时钟芯片DS1302应用资料

    广泛应用于需要时间显示的测控系统或者手持式设备中。u3000u3000本章以美国DALLAS公司推出实时时钟芯片DS1302例,介绍实时时钟芯片的功能、控制指令以及时间的操作,并给出了相应的操作
    发表于 09-26 08:27

    DS1302实时时钟资料包分享

    电子发烧友网站提供《DS1302实时时钟资料包分享.zip》资料免费下载
    发表于 09-15 16:01 3次下载
    DS1302<b class='flag-5'>实时时钟</b>资料包分享

    请问NUC100的实时钟怎样供电?

    NUC100内部具有实时时钟供电,那么怎样才能在CPU断电的情况下,维持实时时钟的运行计时呢? STM的有个电池按口,NUC100的电池接在哪里?
    发表于 08-24 06:19

    STM32 RTC实时时钟(二)

    上次实验完成了对实时时钟的基本功能——计时的实验,这次在计时的基础上对RTC的可编程闹钟的功能进行测试。
    的头像 发表于 07-22 15:43 1128次阅读
    STM32 RTC<b class='flag-5'>实时时钟</b>(二)

    STM32 RTC实时时钟(一)

    STM32处理器内部集成了实时时钟控制器(RTC),因此在实现实时时钟功能时,无须外扩时钟芯片即可构建实时时钟系统。
    的头像 发表于 07-22 15:41 2841次阅读
    STM32 RTC<b class='flag-5'>实时时钟</b>(一)

    实时时钟RTC:32.768kHz晶振

    实时时钟(RTC: Real-Time Clock)是集成电路,通常称为时钟芯片。目前实时时钟芯片大多采用精度较高的晶体振荡器作为时钟源。
    的头像 发表于 05-08 10:45 1856次阅读
    <b class='flag-5'>实时时钟</b>RTC:32.768kHz晶振

    实时时钟 USB 评估板用户指南

    实时时钟 USB 评估板用户指南
    发表于 04-27 19:59 0次下载
    <b class='flag-5'>实时时钟</b> USB 评估板用户指南

    基于STM32单片机RTC实时时钟使用库文件设计

    基于STM32单片机RTC实时时钟使用库文件设计源代码
    发表于 04-26 14:28 2次下载