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

    文章

    1720

    浏览量

    131346
  • 树莓派
    +关注

    关注

    116

    文章

    1697

    浏览量

    105510
收藏 人收藏

    评论

    相关推荐

    TPS65950实时时钟时序补偿分析

    电子发烧友网站提供《TPS65950实时时钟时序补偿分析.pdf》资料免费下载
    发表于 10-29 10:01 0次下载
    TPS65950<b class='flag-5'>实时时钟</b>时序补偿分析

    什么是树莓树莓是什么架构的

    什么是树莓 树莓(Raspberry Pi,简写RPi,别名为RasPi/RPI)是由英国“Raspberry Pi 慈善基金会”开发
    的头像 发表于 10-22 17:33 452次阅读

    使用实时时钟

    电子发烧友网站提供《使用实时时钟库.pdf》资料免费下载
    发表于 10-22 10:09 0次下载
    使用<b class='flag-5'>实时时钟</b>库

    bq32000实时时钟(RTC)数据表

    电子发烧友网站提供《bq32000实时时钟(RTC)数据表.pdf》资料免费下载
    发表于 08-23 11:23 0次下载
    bq32000<b class='flag-5'>实时时钟</b>(RTC)数据表

    BQ32002实时时钟(RTC)数据表

    电子发烧友网站提供《BQ32002实时时钟(RTC)数据表.pdf》资料免费下载
    发表于 08-23 11:23 0次下载
    BQ32002<b class='flag-5'>实时时钟</b>(RTC)数据表

    bq3285实时时钟(RTC)数据表

    电子发烧友网站提供《bq3285实时时钟(RTC)数据表.pdf》资料免费下载
    发表于 08-23 11:21 0次下载
    bq3285<b class='flag-5'>实时时钟</b>(RTC)数据表

    树莓5,Raspberry Pi 5 评测

    完全盖住”。稍后我们将在评测中讨论其中的原因。 我们先来看看树莓5的两个新功能。 首先,我们有了实时时钟的电池备份。树莓5现在可以在没
    发表于 06-19 14:51

    RTC实时时钟的基本概念和工作原理

    在现代电子设备中,精确的时间管理和控制是至关重要的。为了实现这一功能,实时时钟(RTC, Real-Time Clock)模块被广泛应用于各种设备和系统中。RTC模块作为一个独立的定时器,能够提供
    的头像 发表于 05-27 15:43 3365次阅读

    实时时钟模块RX8900CE电子产品设备提供精准时间

    随着电子技术飞速发展,越来越多的设备需要用到实时时钟电路。而过往的实时时钟电路,大多是分立式的架构,外围有不少的元器件,不但成本高昂,而且稳定性也不高,在严苛的工作条件下就显得有点力不从心。作为设备
    发表于 04-10 10:03 0次下载

    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 12次下载

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

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

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

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

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

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

    带电池的实时时钟1338 数据表

    电子发烧友网站提供《带电池的实时时钟1338 数据表.pdf》资料免费下载
    发表于 12-21 10:47 0次下载
    带电池的<b class='flag-5'>实时时钟</b>1338 数据表