本帖最后由 合宙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) 作用:将字符串反序列化为对象 参数
返回值
本文未完,请看下篇~ |