树莓派4b ubuntu系统加装时钟模块DS1307菜鸟文档

树莓派4b ubuntu系统加装时钟模块DS1307操作步骤(操作需联网下进行)  

本文所介绍的内容树莓派4Bubuntu20.04。基于树莓派通用的 GPIO 设计,文中的原理和代码也适用于其他情况。

本节以 SAKS 扩展板为硬件基础,实现让树莓派掉电后系统时间能继续保持的功能。

DS1307模块可以在淘宝上买,几块十几块就能买到;

正确插上DS1307时钟模块如下图所示:

下面是具体的操作步骤:

一:编辑文件让系统识别时钟模块DS1307

在这个扩展板上已经有一个DS1307 RTC实时时钟模块,它是I2C类的设备,首先我们需要修改树莓派的配置文件使能I2C,通过 vi编辑器修改raspi-blacklist.conf 文件内容。

sudo vi /etc/modprobe.d/raspi-blacklist.conf

修改为如下,开启I2C功能 注意缩进

# blacklist spi and i2c by default (many users don't need them)

blacklist spi-bcm2708

blacklist i2c-bcm2708

修改内容如下图所示:

按a键编辑; Esc键退出编辑后用“:wq!”保存并退出vi编辑

打开/etc/modules ,在文件结尾加上 i2c-dev

sudo vi /etc/modules

# /etc/modules: kernel modules to load at boot time.

#

# This file contains the names of kernel modules that should be loaded

# at boot time, one per line. Lines beginning with "#" are ignored.

# Parameters can be specified after the module name.

snd-bcm2835

i2c-bcm2708

i2c-dev

增加内容如下图所示:

按a键编辑; Esc键退出编辑后用“:wq!”保存并退出vi编辑

运行配置工具 先下载没有配置工具raspi-congig

二:下载安装respi-config,运行配置工具及相关设置;

下载安装respi-config,运行配置工具;

  1. 手动下载deb

下面是一行命令需一次输入:

wget http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/pool/main/r/raspi-config/raspi-config_20200601_all.deb

  1. 解决依赖问题

一行命令一次输入:

sudo apt install lua5.1  libatopology2 libfftw3-single3 libsamplerate0 alsa-utils

  1. 安装软件

一行命令一次输入:

sudo dpkg -i raspi-config_20200601_all.deb

4、运行raspi-config,需要sudo或以上权限切换到root用户也行

sudo raspi-config

输入命令后正常界面如下图所示:

 5、如果正常就不用看本小点了raspi-config能够运行的还有一个重要前提,boot分区已被正常挂载

先查看一下boot分区所在设备号

fdisk -l

再把它挂载到/boot上(以下是示例,不一定是mmcblk0p6,需根据实际情况决定)

mount /dev/mmcblk0p6 /boot

raspi-config具体设置步骤如下图所示:

上下左右键选择,enter键选择进入

sudo raspi-config

选择Interfacing Options 选择好后enter键进入,依次选择i2c选择好后enter键进入、OK选择好后enter键进入、、右键选择Finish。完成。下次启动系统时,I2C模块将被自动加载。

三:安装 i2c-tools工具与python-smbus

更新一次包列表,并安装 i2c-tools工具与python-smbus,因为python-smbus  ;下载有问题所以换成python3-smbus重启树莓派。依次输入下面三行命令

sudo apt-get update

sudo apt-get -y install i2c-tools python3-smbus

sudo reboot

重启后通过刚才安装的i2c-tools对i2c设备进行探测,输入以下命令,得到如下结果,说明检测到一个地址为0x68的I2C设备就是板上的DS1307。

sudo i2cdetect -y 1

检看 DS1307的数据手册,发现DS1307的7位地址的确是0x68。注意,如果忘了为时钟模块安装纽扣电池这里可能读取不到。

下面我们通过i2c-tools来测试下DS1307的功能,并将DS1307这个掉电不丢失的时钟用于树莓派系统的时钟。
注意:下面的测试必须在root权限下测试注意:面黄色区域文字 树莓派官方系统切换用户操作ubuntu系统直接切换到root用户就行了命令 

sudo su

=== 如何启用 root 账户的分割线 开始===
debian里root账户默认没有密码,但账户锁定。
当需要root权限时,由默认账户经由sudo执行,Raspberry pi 系统中的Raspbian
默认用户是pi 密码为raspberry

重新开启root账号,可由pi用户登录后,在命令行下执行

sudo passwd root

执行此命令后系统会提示输入两遍的root密码,输入你想设的密码即可,然后执行

sudo passwd --unlock root

这样就可以解锁root账户了。
现在就有两个账户 pi@raspberrypi 和 root@raspberrypi 两个账户可以来回切换:
在pi@raspberrypi 输入 su 然后输入刚才设置的密码进入 root 账户
在root@raspberrypi 输入su pi 进入 pi账户
=== 如何启用 root 账户的分割线 结束===

四:设置开机自启动增加权限及修改时间:

注意:上面黄色区域文字 树莓派系统切换用户操作ubuntu系统直接切换到root用户就行了命令 

sudo su

下面可能会用到下面个命令1:hwclovk -r 此命令表示读取硬件时间:2:hwclock -w将系统时钟同步到硬件时钟;3:hwclovk -s将硬件时钟同步到系统时钟;4;hwclock --systohc将硬件时钟调整为与目前的系统时钟一致5:hwclock --set --date=<日期与时间>修改硬件时间如果注意:系统时间不对先设置系统时区(需要联网才能选对时间)如下命令(前提是能使用raspi-config)不要输错命令,输错一点系统将识别不了命令。

先输入下面一行命令将会出现下方界面;

sudo dpkg-reconfigure tzdata

 操作如下图片所示:

选择Asia再Enter进入,然后选择Chongqing选项enter键进入。

 联网情况下是时间就是对的。

测试时间是否能正常读取(需依次输入下面三个命令才能读取并看到硬件时间)

modprobe i2c-dev

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

hwclock -r

Sat Jan  1 00:00:12 2000  -0.120717 seconds

注意:上面步骤(更换时区也就是更新最新时间)联网已经操作的情况下就不需要操作下面步骤,只需要吧系统时间同步到硬件时钟输入命令hwclock -w

即可。

将系统时钟设定为当前时间,然后将系统时钟写入到DS1307硬件时钟里面

date 062120352014.00     备注:6月21日  20点35分 2014年

Sat Jun 21 20:35:00 UTC 2014

hwclock -w//将系统时间同步到硬件时钟

date

Sat Jun 21 20:35:21 UTC 2014

编辑开机自启动文件

sudo vi /etc/rc.local

将以下内容加入“exit 0”行之前直接复制粘贴到文件rc.local就行了

#!/bin/bash

#command conten

tmodprobe i2c-dev

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

hwclock -r

hwclock -s

exit 0

如下图所示:

 保存没添加权限开机命令行不会自启动文件,不会自启动该文件(rc.loca)颜色是白色的(ssh远程连接是这样的)如下图:

 按a键编辑; Esc键退出编辑后用:wq!保存并退出vi编辑

增加下面执行权限命令,如不增加此条权限执行可能不成功开机时间就不会从硬件把时间更新到系统。依次输入下面两行命令

sudo chmod +x /etc/rc.local

sudo systemctl enable rc-local

操作成功后远程界面看到的文件颜色成了绿色,这样开机才会自动执行上面的命令。如下图:

 过几分钟拔掉网线,重启树莓派,输入“date”看看时间是否正确。

date

Sat Jun 21 20:55:00 UTC 2014

root@raspberrypi:/home/pi# hwclock -r

完成后用一下命令查看地址68变为UU设置成功

sudo i2cdetect -y 1

重新断电开机也用这个命令查看如果是68地址说明可能是开机自启动文件部分出了问题。如下图

完成后下面的内容可以不看了。

以上将系统时钟和DS1307硬件时钟读出来发现 系统时钟比DS1307时钟慢了1分多。可能是在重启后DS1307写入系统后,系统需要等待1分多才开始计时。

至此,以后要用到实时时间就可以简单的使用 date 这个命令来获取。
在python编程中可以使用以下代码读取实时时间。

import datetime #导入系统时钟

now = datetime.datetime.now() #读取当前时间并保存到now变量

timeString = now.strftime("%Y-%m-%d%H:%M") #把now中的时间按指定格式转换成字符串

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 树莓派4B是一款功能强大的微型电脑,能够运行广泛的操作系统。其中,ubuntu 20.04镜像是一种适用于树莓派4B的操作系统镜像。它支持完整的Ubuntu桌面环境和基于命令行的终端环境,能够满足不同用户的需求。 树莓派4B ubuntu 20.04镜像采用64位ARM架构,性能更加优异,支持更多的应用程序和工具。其中,包括了许多常用的软件包,如文本编辑器、网络浏览器、多媒体播放器等等。此外,用户还可以通过Ubuntu软件中心安装更多的应用程序和工具,扩展系统的功能和应用范围。 使用树莓派4B ubuntu 20.04镜像,用户可以进行丰富的实验和开发工作。通过安装相关软件包和工具,用户可以构建智能家居、物联网应用、机器学习系统、网络服务器等等。此外,Ubuntu系统具有稳定性和安全性,能够保证系统的安全运行和数据的保护。 总之,树莓派4B ubuntu 20.04镜像是一种强大、灵活和安全的操作系统镜像,能够满足不同用户的需求,适用于各种实验和开发工作。 ### 回答2: 树莓派4b是由Raspberry Pi基金会推出的一款小型计算机,其性价比高、易用性强、体积小巧等特点受到了广大DIY爱好者和科技爱好者的青睐。而Ubuntu 20.04则是一款十分优秀的Linux操作系统,与树莓派上的Raspbian系统相比,Ubuntu更加高效、开放、简洁。 在树莓派4b上安装Ubuntu 20.04镜像,需要下载相应镜像文件,并通过SD卡等介质进行启动和安装。Ubuntu 20.04为树莓派4b用户提供了全面的支持和优化,具有良好的稳定性和可靠性,同时还提供了多种开发工具和软件包,能够满足用户的各种需求。 另外,在Ubuntu 20.04上还可以安装许多第三方软件和工具,如Python、ROS、Web服务、数据库等,可扩展性极高。同时,该操作系统还提供了图形化界面和命令行界面,方便用户进行操作和开发。 总之,树莓派4b配合Ubuntu 20.04镜像,为用户提供了极高的性能和简便的开发环境,满足了科技爱好者对嵌入式计算机的各种需求。 ### 回答3: 树莓派4B是一款非常实用的单板计算机,它能够运行多个操作系统,并支持各种应用程序。而Ubuntu 20.04镜像,则是其中一种为树莓派4B开发的操作系统版本。这种镜像是基于Ubuntu的LTS版本,提供了更加稳定和高效的运行环境。 使用树莓派4B ubuntu 20.04镜像,用户可以通过命令行或者桌面界面进行操作,也可以安装各种应用程序,如Python、Java、Node.js等。此外,镜像还提供了完整的Linux操作系统环境,包括通用磁盘文件系统,各种系统工具和命令等功能。 值得一提的是,在使用树莓派4B ubuntu 20.04镜像时,用户还需要预置SD卡,并将镜像烧录到SD卡中进行启动。接下里,用户可以通过Wi-Fi、有线网络或USB外接存储等方式进行连接。 总的来说,树莓派4B ubuntu 20.04镜像可以让用户充分利用树莓派4B的性能,实现各种自己所需的运算或项目。因此,它大受开发人员或计算机爱好者的欢迎,同时也为树莓派4B的应用提供了更多的选择空间。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值