2023-10-23 13:52:35 [显示全部楼层]
2731浏览
查看: 2731|回复: 2

[M10教程] 【行空板】“时间不对”怎么办?如何手动设置系统时间?

[复制链接]
本帖最后由 Forgotten 于 2023-10-25 13:04 编辑

问题

当我们拿到行空板,获取系统时间或者向siot发送数据的时候,可能会发现时间跟当前真实环境的北京时间是不一样的,这是为什么呢?

【行空板】“时间不对”怎么办?如何手动设置系统时间?图1

原因
思考一下,我们人是怎么知道现在是几月几日几时几分?看手机、电脑、手表,那么手机、电脑、手表这些设备又是怎么知道现在的时间呢?

根据生活经验来看,传统的时钟是靠电池或者发条来保证时间一直不断的,如果没电或发条弹力完了则时间就断了,之后把电池重新装上或者重新上发条,时间还是从上一次停电的位置开始走,因此需要手动校准一次
【行空板】“时间不对”怎么办?如何手动设置系统时间?图2

电脑、手机这些为什么设备为什么关机之后再开机,时间依然还是准确的?
【行空板】“时间不对”怎么办?如何手动设置系统时间?图3
答案是这些设备都有电,手机有电池可以持续让时间保持,电脑同样在主板上也有一颗纽扣电池用于关机保持时间不停止。
【行空板】“时间不对”怎么办?如何手动设置系统时间?图4
另外这些这些设备是联网的,他们的系统可以通过网络来经常校准时间,如果一台手机或者电脑长时间不联网,时间也会出现偏差,这时候就需要在系统设置里手动修改时间了。
【行空板】“时间不对”怎么办?如何手动设置系统时间?图5

行空板同理:
首先,要保证时间一直走,那么就需要一直供电,因此板子如果断电再开机,时间就从上次关机开始走,这就是为什么新板子拿到手里“时间不对”。
【行空板】“时间不对”怎么办?如何手动设置系统时间?图6

如果要让时间一直保持正确就只能让板子一直不断电,或者在每次开机的时候校准一次时间。

校准时间的方法

自动校准:
如何校准时间呢?与电脑一样,由于行空板搭载了linux系统,因此只要按照行空板官网文档的方法让板子联网(wifi、网线均可),系统会自动连接网络上的时间服务器(NTP服务器)进行时间的校准。


【行空板】“时间不对”怎么办?如何手动设置系统时间?图12

手动校准:
如果现场没有网络怎么办?那么与电脑一样可以手动设置时间,只需要一条指令即可。

在linux终端中,使用date命令可以操作系统时间
- 查看系统时间:输入 date

- 设置系统时间:输入 date  -s  "年-月-日 时:分:秒"

首先连接行空板终端(Mind+、jupyter终端或者其他ssh工具均可):
【行空板】“时间不对”怎么办?如何手动设置系统时间?图7
然后在”终端”区域输入date回车就可以查看时间
【行空板】“时间不对”怎么办?如何手动设置系统时间?图9
然后这里尝试把系统时间设置为2023年10月23日13点45分0秒,输入 date -s "2023-10-23 13:45:00"   回车即可
【行空板】“时间不对”怎么办?如何手动设置系统时间?图10
然后再输入date可以看到时间已经设置完成了
【行空板】“时间不对”怎么办?如何手动设置系统时间?图11

用个GIF动图演示:
【行空板】“时间不对”怎么办?如何手动设置系统时间?图8


接下来尝试用Python显示时间,可以看到已经是当前时间了:

【行空板】“时间不对”怎么办?如何手动设置系统时间?图19

再提供两种需要外接模块的方式保持时间的方法:

1、使用RTC模块进行校准:
前面电脑和手机之所以断电能保持时间,是因为手机或电脑都有电池,即使关机了依然有电持续走时间,因此我们可以给行空板外接一个实时时钟模块,实时时钟模块自带电池,可以保持时间一直运行,行空板只需要在开机的时候从时钟模块获取一次时间即可。

此处以Gravity: I2C SD2405 RTC 实时时钟模块为例:
【行空板】“时间不对”怎么办?如何手动设置系统时间?图13
将模块连接到行空板的I2C口,然后打开Mind+编程。
【行空板】“时间不对”怎么办?如何手动设置系统时间?图14
首先需要将当前时间写入RTC模块中:
【行空板】“时间不对”怎么办?如何手动设置系统时间?图15
现在时钟模块里面的时间就是调整之后的时间了,修改程序,去除设置时间的积木,直接获取时间:
【行空板】“时间不对”怎么办?如何手动设置系统时间?图16
然后使用字符串合并将时间按照date命令需要的方式组合成 年-月-日 时:分:秒 的形式,并存入“时间”这个变量中
【行空板】“时间不对”怎么办?如何手动设置系统时间?图17
然后使用“代码生成器”扩展,将“时间 ”变量组合到”命令“字符串中,然后使用os库运行指令即可:
【行空板】“时间不对”怎么办?如何手动设置系统时间?图18


2、使用GPS模块进行校准:
在户外的设备因为没有网络所以还有一种方法是使用卫星授时,行空板可以通过io口或者usb口外接卫星定位模块获取卫星授时,此方法的缺点是在室内收不到卫星信号,因此只能在户外使用。



完。



hnyzcj  版主

发表于 2023-10-23 15:42:22

赞一个
回复

使用道具 举报

Amos Young  中级技师

发表于 2023-10-27 14:42:31

很给力,,继续加油
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail