0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Air780EPM开发板NTP对时教程:LuatOS脚本开发入门指南

合宙LuatOS 来源:合宙LuatOS 作者:合宙LuatOS 2025-09-30 16:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

通过简单的LuatOS脚本,Air780EPM即可实现NTP时间同步。本指南从零开始,带你掌握嵌入式设备联网校时的核心方法。

一、NTP通信概述

1.1 NTP

网络时间协议(英语:Network Time Protocol,简称NTP)是在数据网络潜伏时间可变的计算机系统之间通过分组交换进行时钟同步的一个网络协议。自1985年以来,NTP是仍在使用的最古老的互联网协议之一。NTP由特拉华大学的David L. Mills设计。 NTP意图将所有参与计算机的协调世界时(UTC)时间同步到几毫秒的误差内。它使用Marzullo算法的修改版来选择准确的时间服务器,其设计旨在减轻可变网络延迟造成的影响。NTP通常可以在公共互联网保持几十毫秒的误差,并且在理想的局域网环境中可以实现超过1毫秒的精度。不对称路由和拥塞控制可能导致100毫秒(或更高)的错误。 该协议通常描述为一种主从式架构,但它也可以用在点对点网上中,对等体双方可将另一端认定为潜在的时间源。发送和接收时间戳采用用户数据报协议(UDP)的通信端口123实现。这也可以使用广播或多播,其中的客户端在最初的往返校准交换后被动地监听时间更新。NTP提供一个即将到来闰秒调整的警告,但不会传输有关本地时区或夏时制的信息。

1.2 SNTP

简单网络时间协议(Simple Network Time Protocol),由 NTP 改编而来,主要用来同步因特网中的计算机时钟。在 RFC2030 中定义。 SNTP是简化版的NTP,NTP(Network Time Protocol,网络时间协议)是用于同步系统时间的协议。它通过网络连接多个设备,确保这些设备的系统时钟保持一致。SNTP相比较NTP主要区别在于精确度和复杂性。SNTP通常用于不需要高精度同步的设备。而NTP则用于要求较高时间精度的场景。

虽然现在的程序名字使用的是SNTP,但现在底层的实现已经改成NTP了,只是名字还没改过来。对模组来说, 没多大区别。

二、演示功能概述

本demo将演示使用NTP授时服务来同步时间。

三、准备硬件环境

参考:硬件环境清单第二章节内容,准备以及组装好硬件环境。

四、软件环境

在开始实践本示例之前,先筹备一下软件环境:

1.Luatools工具;

2. 内核固件文件(底层core固件文件):LuatOS-SoC_V2003_Air780EPM;参考项目使用的内核固件;

3. luatos需要的脚本和资源文件

脚本和资源文件:复制查看demo链接:https://gitee.com/openLuat/LuatOS/tree/master/module/Air780EPM/demo/ntp

lib脚本文件:使用Luatools烧录时,勾选 添加默认lib 选项,使用默认lib脚本文件;

准备好软件环境之后,接下来查看如何烧录项目文件到Air780EPM开发板,将本篇文章中演示使用的项目文件烧录到Air780EP开发板中。

五、代码示例介绍

5.1 API说明

5.1.1 socket.ntptm()

网络对时后的时间戳(ms级别)

参数

返回值

wKgZO2jaP9CAUvgcAAARZ59KBf8103.png


例子

wKgZPGjaQCCASGfQAAR1TK2N0u0927.png

5.1.2 socket.sntp_port(port)

设置SNTP服务器的端口

参数

wKgZO2jaQHKAATqYAAAR6AkpZ2k184.png

返回值

wKgZPGjaQIKAbxp2AAAO7pVh3Mo782.png


例子

wKgZPGjaQKKAK-iZAACSqj5wXbg348.png

5.2 使用NTP授时服务来同步时间

5.2.1 demo 介绍

wKgZO2jaQOOAbNGYAAnZtR43Cc4760.png


六、功能验证

wKgZO2jaQQyAJnN4AAcGrTZVLxA884.png

七、总结

本 demo 介绍了如何使用NTP服务器同步时间。

常见问题

1、NTP同步时间后,这个clock精度高吗,需要多久同步一次

并不能保证任何时间任何地点都能百分百同步到正确的时间。 所以,如果用户项目中的业务逻辑严格依赖于时间同步功能 则不要使用本功能模块,建议使用自己的应用服务器来同步时间。

2、多长时间NTP同步一次

正常使用, 一小时一次, 已经足够了, 甚至 1 天一次也可以。

3、这个函数 socket.sntp()后每次在程序中调用 os.time 也是实时时间了吗?

是的,只要时间同步成功了,就是实时时间了。

4、NTP白名单地址是什么?

默认的ntp服务器为ntp.aliyun.com,自定义ntp地址可以通过socket.sntp("ntp.aliyun.com")设置。

注:本功能模块采用免费公共的NTP服务器来同步时间,并不能保证任何时间任何地点都能百分百同步到正确的时间,所以,如果用户项目中的业务逻辑严格依赖于时间同步功能,则不要使用使用本功能模块,建议使用自己的应用服务器来同步时间。


今天的内容就分享到这里了~

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2939

    文章

    47324

    浏览量

    407978
  • 开发板
    +关注

    关注

    25

    文章

    6125

    浏览量

    113386
  • NTP
    NTP
    +关注

    关注

    1

    文章

    246

    浏览量

    14922
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Air780EPM 模块串口电路设计硬件指导

    串口作为Air780EPM模块的核心通信接口,承担着设备控制、数据传输及外设交互等关键功能,在物联网终端、智能设备、工业自动化等场景中不可或缺。 一、概述   串口作为 Air780EPM 模块最最
    的头像 发表于 03-07 17:56 598次阅读
    <b class='flag-5'>Air780EPM</b> 模块串口电路设计硬件指导

    手把手教你!4G模组Air780EPM——GPIO的设计说明

      开发方式 :Air780EPM 仅支持 LuatOS 软件开发方式,不支持 AT 指令开发方式。若使用 AT 指令
    的头像 发表于 03-17 16:07 843次阅读
    手把手教你!4G模组<b class='flag-5'>Air780EPM</b>——GPIO的设计说明

    新手必看!4G模组Air780EPM——GPIO的设计说明

    ,构建稳定高效的物联网系统。 一、概述   开发方式 :Air780EPM 仅支持 LuatOS 软件开发方式,不支持 AT 指令开发方式。
    的头像 发表于 03-20 17:48 605次阅读
    新手必看!4G模组<b class='flag-5'>Air780EPM</b>——GPIO的设计说明

    血泪教训总结:Air780EPMLuatOS二次开发——OneWire协议调试注意事项

    在物联网设备开发中,精准且稳定的数据传输是构建智能系统的核心。通过本文,开发者不仅能掌握规避常见陷阱的方法,还能学习如何利用Air780EPM的硬件特性与LuatOS的灵活API设计,
    的头像 发表于 03-20 17:52 910次阅读
    血泪教训总结:<b class='flag-5'>Air780EPM</b>的<b class='flag-5'>LuatOS</b>二次<b class='flag-5'>开发</b>——OneWire协议调试注意事项

    深度解析——使用Luatools工具烧录一个具体的项目到Air780EPM核心中!

    本篇文章重点介绍如何使用Luatools工具烧录一个具体的项目到Air780EPM开发板中。 一、准备好项目文件   在烧录项目文件到Air780EPM开发板之前,你需要准备好以下几种
    的头像 发表于 03-25 15:06 606次阅读
    深度解析——使用Luatools工具烧录一个具体的项目到<b class='flag-5'>Air780EPM</b>核心<b class='flag-5'>板</b>中!

    深度解析Air780EPM模组:LuatOS下CAN总线通信的完整方案!

    本文聚焦Air780EPM的CAN通信能力,结合LuatOS实时操作系统,从底层驱动到应用层协议,详细拆解如何实现工业级CAN总线数据传输,助力开发者快速落地项目。 最新资料详见: https
    的头像 发表于 05-06 14:22 686次阅读
    深度解析<b class='flag-5'>Air780EPM</b>模组:<b class='flag-5'>LuatOS</b>下CAN总线通信的完整方案!

    解锁Air780EPM:N种GPIO操控LED的实战技巧!

    在物联网项目中,灵活使用Air780EPM的GPIO控制LED至关重要。本文将展示实现方式,涵盖硬件配置与软件编程,满足不同场景需求。 今天特别分享基于Air780EPM的GPIO控制LED实现方案
    的头像 发表于 05-28 16:56 552次阅读
    解锁<b class='flag-5'>Air780EPM</b>:N种GPIO操控LED的实战技巧!

    Air780EPM应用开发:解锁GPIO与LED的N种交互模式

    今天特别分享探索Air780EPM中GPIO与LED的多样交互!本文介绍N种交互模式,包括脉冲控制、状态切换及多LED联动,为智能设备开发提供丰富技术选型。适用于智能照明、状态指示等物联网场景。 一
    的头像 发表于 05-29 14:31 467次阅读
    <b class='flag-5'>Air780EPM</b>应用<b class='flag-5'>开发</b>:解锁GPIO与LED的N种交互模式

    优化你的设计:Air780EPM场景化ADC硬件电路指南

    Air780EPM的ADC精度怎么样,想节约一颗外挂ADC…   今天也跟大家一起分享下相关内容。在设计ADC硬件电路之前,请务必先查看LuatOS二次开发ADC相关库函数的描述。 最新ADC库函数详见
    的头像 发表于 06-13 18:02 627次阅读
    优化你的设计:<b class='flag-5'>Air780EPM</b>场景化ADC硬件电路<b class='flag-5'>指南</b>!

    Air8101多网融合战略升级:Air780EPM模块助力4G联网落地

    应用迈向新高度。 本文将分享Air8101核心通过外挂Air780EPM整机开发板,实现4G联网的功能示例。   一、硬件准备工作   1.1  所需硬件
    的头像 发表于 06-23 16:53 373次阅读
    <b class='flag-5'>Air</b>8101多网融合战略升级:<b class='flag-5'>Air780EPM</b>模块助力4G联网落地

    LuatOS Air780EPM 开发板 HTTP 教程:原理讲解与项目实操!

    本篇教程将系统介绍 LuatOS Air780EPM 在 HTTP 通信中的应用,从请求机制到响应解析,配合完整代码演示,让你轻松实现设备端与云端的数据交互。 一、HTTP 概述 1.1
    的头像 发表于 09-26 20:36 426次阅读
    <b class='flag-5'>LuatOS</b> <b class='flag-5'>Air780EPM</b> <b class='flag-5'>开发板</b> HTTP 教程:原理讲解与项目实操!

    Air780EPM嵌入式开发LuatOS下的MQTT通信实践

    通过LuatOS脚本Air780EPM开发板上实现MQTT通信,是物联网设备开发中高效且便捷的解决方案。 一、MQTT 协议详解   1.
    的头像 发表于 09-30 16:11 1609次阅读
    <b class='flag-5'>Air780EPM</b>嵌入式<b class='flag-5'>开发</b>:<b class='flag-5'>LuatOS</b>下的MQTT通信实践

    一文搞懂Air780EPMNTP通信:LuatOS脚本开发教程

     想在Air780EPM上用LuatOS实现NTP时间同步?这篇教程将用最通俗的方式讲解实现原理与代码实现,让你快速掌握关键技能。 一、NTP通信概述   1.1
    的头像 发表于 09-30 18:19 2009次阅读
    一文搞懂<b class='flag-5'>Air780EPM</b>的<b class='flag-5'>NTP</b>通信:<b class='flag-5'>LuatOS</b><b class='flag-5'>脚本</b><b class='flag-5'>开发</b>教程

    实战Air780EPM:构建4G共享网关,服务WiFi与有线设备!

    通过Air780EPM开发板,我们可以轻松实现4G网络作为数据出口,为周边的WiFi设备和以太网设备提供互联网共享,适用于移动办公、远程部署等场景。 一、多网融合概述   Air780EPM
    的头像 发表于 09-30 16:03 876次阅读
    实战<b class='flag-5'>Air780EPM</b>:构建4G共享网关,服务WiFi与有线设备!

    LuatOS嵌入式开发实战:Air780EPM与MQTT通信

     本教程聚焦于LuatOSAir780EPM开发板上的应用,演示如何通过脚本实现MQTT协议通信,助力物联网设备快速联网。 一、MQTT 协议详解   1.1 什么是 MQTT? M
    的头像 发表于 09-29 18:10 290次阅读
    <b class='flag-5'>LuatOS</b>嵌入式<b class='flag-5'>开发</b>实战:<b class='flag-5'>Air780EPM</b>与MQTT通信