打印

如何使用NTP同步时间?一篇带你学会!(上篇)

[复制链接]
65|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 合宙LuatOS 于 2025-1-8 13:57 编辑

一、NTP通信概述
很多场景中,由于业务需要,模块需要保持正确的系统时钟,才能正常工作。但是模块上电后的初试时间戳是946713600(即2000/01/01,16:00:00),所以同步时钟成为了开发者要解决的重要问题。对于Cat.1模块,移动/电信卡,通常会下发基站时间,那么sntp就不是必要的,而联通卡通常不会下发,就需要sntp了。
NTP(NetworkTimeProtocol,网络时间协议)是用于同步系统时间的协议。它通过网络连接多个设备,确保这些设备的系统时钟保持一致。
本例程展示了如何使用SNTP授时服务来同步时间。
NTP和简化版的SNTP主要区别在于精确度和复杂性。
SNTP(SimpleNetworkTimeProtocol)通常用于不需要高精度同步的设备,如嵌入式系统。而NTP则用于要求较高时间精度的场景。

二、演示功能概述
本demo将连接NTP服务器进行时间同步。

三、准备硬件环境

3.1 Air780E开发板一套
包括天线、USB数据线
3.2 SIM卡
请准备一张可正常上网的SIM卡,该卡可以是物联网卡或您的个人手机卡。
特别提醒:请确保SIM卡未欠费且网络功能正常,以便顺利进行后续操作。
3.3 数据通信线
typec接口USB数据线即可。
3.4 PC电脑
WINDOWS系统。

四、准备软件环境

4.1 基本的下载调试工具
使用说明参考Luatools下载和详细使用:
https://docs.openluat.com/Luatools

五、获取NTP授时软硬件资料
5.1 文档和工具
780E模块使用固件:SDK&Demo-文档中心,本demo使用的固件版本是:
LuatOS-SoC_V1112_EC618_FULL.soc
本教程使用的demo:
https://gitee.com/openLuat/LuatOS-Air780E/tree/master/demo/sntp
将固件和脚本烧录到模块中:Luatools下载和使用教程-合宙模组资料中心
源码和固件已打包,如下所示:右键点我,另存为,下载完整压缩文件包
5.2 demo使用api介绍
socket.sntp(sntp_server)
作用:sntp时间同步


返回值
os.time(mytime)
作用:时间戳函数
参数


返回值
os.date(fmt,time)
作用:日期函数
参数


返回值


json.encode(obj,t)
作用:将对象序列化为json字符串
参数


返回值


json.decode(str)
作用:将字符串反序列化为对象
参数


返回值



本文未完,请看下篇~

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

6

帖子

0

粉丝