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

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

3天内不再提示

合宙LuatOS应用,与时间相关那些事

青山老竹农 来源:jf_82863998 作者:jf_82863998 2024-09-25 07:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

​合宙嵌入式操作系统LuatOS——在蜂窝物联网模组上推出开源二次开发框架,功能齐全性能稳定,可大幅度降低用户的研发成本和研发周期。

在LuatOS中,获取时间函数用得最多的就是os.time()函数了。 接下来,我会讲一些与这个函数以及其他时间函数相关的知识。

一、时间戳相关

os.time()这个函数,只能获取当前时间戳;如果客户希望获取的是当前时间,即相应的年月日时分秒,可以使用os.date()函数。

参考下面的示例**:**

图片

关于位数:

比较遗憾的是,Lua只有秒级时间戳,没有毫秒以及微秒级时间戳,暂时没有什么好的办法解决该问题。

二、时间同步

理论上4G模块在驻网(链接基站成功)以后,基站会发送当前时间给4G模块(此过程被称为 基站授时 )。也就是说,只要模块驻网成功,内部时间是没有问题的,

但是,通过大量的事实验证下来,某运营商部分卡无法与基站进行授时操作,部分基站同步给4G模块的时间也有极小概率出错。

所以,除了基站授时,预备情况下,还准备了NTP授时服务器对模块进行授时操作。 此处专网卡客户需要注意 —— 如果时间参数对你比较重要,需要将NTP授时服务器的域名加入运营商白名单中。

2.1 基站时间同步:

除上述某运营商的部分卡以外,多数情况下,只要驻网成功内部就会更新时间。

如果驻网不成功,那么4G模块会从2000年00时00分00秒进行计时。所以用户需要获取时间的应用场景下,尽量等到联网成功,有时间同步信息发出来再进行。

LuatOS版****本示例:

图片

AT版本:

可以查看开机的打印,开机打印如下。

图片

注:此处时间为格林尼治时间,需要+8才是中国区时间。

2.2 NTP服务器授时:

如果用户对基站授时的准确性有疑虑(之前也出现过基站授时比实际时间差了16天的情况),可以关闭基站授时,转而使用NTP授时服务器去给模块进行授时。

现在有一些免费公开的NTP授时服务器,如阿里云、腾讯云。

当然,如果对授时要求比较高,需要稳定可靠的时间同步机制——建议自建NTP授时服务器。

LuatOS版本示例:

图片

三、基础应用

定时休眠定时唤醒:

在一些对功耗要求比较严格,但是只需要定时数传的场景下,时间应用的重要性就出来了。

用户可以使用合宙自研低功耗模式,定时唤醒模块进行数传,数传后又进入休眠模式。具体实现可以参考下方链接。

**四、进阶应用 **

获取当前时间的后一天凌晨零点到一点随机时间戳:

多数情况下,需要对系统留有OTA的余地。为了让用户无感升级, 需要对OTA的时间进行限制,比如凌晨0点。 但是如果所有设备都在凌晨0点对设备进行升级,升级服务器无法处理高并发,可能会导致各种异常出现。

所以就需要在用户指定的一个时间段内进行升级,最为稳妥。

接下来的LuatOS脚本,就获取到了当前时间的后一天凌晨零点到凌晨一点的随机时间戳,并与当前时间戳进行计算,好给休眠模式下的OTA应用做出一个具体的休眠时间(秒数)设置。

LuatOS版本示例:

图片


今天就分享到这里了~如果你对时间应用有其他疑问,欢迎来找合宙,咱们一起学习一起进步。

11.jpg
12.jpg

审核编辑 黄宇

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

    关注

    2939

    文章

    47317

    浏览量

    407851
  • OTA
    OTA
    +关注

    关注

    7

    文章

    623

    浏览量

    37960
  • LuatOS
    +关注

    关注

    0

    文章

    134

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    新手必备:LuatOS MCU核心库功能测试与实践指南

    新手如何快速掌握MCU芯片级开发?本文通过LuatOS的MCU核心库,全面演示时钟频率获取、唯一ID读取、高精度计时、IO复用配置等核心功能的测试流程,并提供实用示例,帮助开发者高效入门,轻松应对
    的头像 发表于 11-12 14:26 149次阅读
    新手必备:<b class='flag-5'>LuatOS</b> MCU核心库功能测试与实践指南

    LuatOS AGPS 辅助定位开发实战教程

    辅助数据,可大幅缩短 GPS 首次定位时间LuatOS 提供 AGPS 原生支持,适用于物流追踪、车载
    的头像 发表于 10-31 17:34 1003次阅读
    <b class='flag-5'>LuatOS</b> AGPS 辅助定位开发实战教程

    LuatOS下Air8000 AGPS辅助定位教程与实践

    全球卫星定位系统)通过移动网络预先获取卫星星历、时间等辅助数据,可大幅缩短 GPS 首次定位时间LuatOS 提供 AGPS 原生支持,适用于物流追踪、车载定位等场景。 1.1 GPS、WiFi、基站
    的头像 发表于 10-31 16:51 2729次阅读
    <b class='flag-5'>LuatOS</b>下Air8000 AGPS辅助定位教程与实践

    零基础也能玩转TCP/IP?LuatOS上手全攻略

    TCP/IP看似复杂,但借助LuatOS的简化开发模式,即使没有网络编程经验,也能在短时间内轻松实现通信功能。本指南将带你一步步用LuatOS快速入门,真正实现“轻松搞定”。 提到网络应用,就绕不开
    的头像 发表于 10-15 17:28 256次阅读
    零基础也能玩转TCP/IP?<b class='flag-5'>LuatOS</b>上手全攻略

    教程来啦!LuatOS中的消息通信机制详解及其应用场景

    在资源受限的嵌入式环境中,LuatOS采用消息机制实现模块间解耦与高效通信。通过预定义消息名称(如“new_msg”),开发者可轻松构建响应式程序结构。接下来我们将深入剖析其实现原理与典型使用方法
    的头像 发表于 09-26 18:59 229次阅读
    教程来啦!<b class='flag-5'>LuatOS</b>中的消息通信机制详解及其应用场景

    LuatOS脚本开发入门:嵌入式运行框架全解析!

    想搞懂LuatOS如何运行Lua脚本?本文深入剖析其嵌入式运行框架,涵盖虚拟机加载、任务协程、系统初始化等关键环节,适合初学者。 一、LuatOS 编程起步 1.1 底层固件怎么启动 LuatOS
    的头像 发表于 09-26 17:45 260次阅读
    <b class='flag-5'>LuatOS</b>脚本开发入门:嵌入式运行框架全解析!

    嵌入式开发新选择:LuatOS脚本框架入门教程

    LuatOS正成为嵌入式开发的新趋势!本教程带你从基础入手,全面了解其基于Lua的脚本开发模式与轻量级运行框架。 一、LuatOS 编程起步 1.1 底层固件怎么启动 LuatOS 脚本
    的头像 发表于 09-26 17:34 303次阅读
    嵌入式开发新选择:<b class='flag-5'>LuatOS</b>脚本框架入门教程

    Task任务:LuatOS实现“任务级并发”的核心引擎

    分享sys核心库Task任务相关函数及其简要示例,帮助你更好地理解LuatOS开发基础。 一、Task:LuatOS任务功能
    的头像 发表于 08-28 13:49 337次阅读
    Task任务:<b class='flag-5'>LuatOS</b>实现“任务级并发”的核心引擎

    揭秘LuatOS Task:多任务管理的“智能中枢”

    分享sys核心库Task任务相关函数及其简要示例,帮助你更好地理解LuatOS开发基础。 一、Task:LuatOS任务功
    的头像 发表于 08-28 13:48 392次阅读
    揭秘<b class='flag-5'>LuatOS</b> Task:多任务管理的“智能中枢”

    解码LuatOS:短信功能的底层运作机制

    短信功能在LuatOS中的运行并非表面所见那么简单。本文将深入系统底层,解码其通信协议、数据处理与系统交互,呈现完整的运作图谱。 我们这期主要拆解airsms.lua文件,讲清楚,短信功能
    的头像 发表于 06-27 18:05 452次阅读
    解码<b class='flag-5'>LuatOS</b>:短信功能的底层运作机制

    零基础学习LuatOS编程:快速上手开发实战教程!

    到实践的跨越。 学习LuatOS的主要方法之一是“运行各个功能模块的demo代码”,本期特别分享——LuatOS编程起步相关内容。   注意:本文档的读者,默认都已经了解初步的Lua语法。   如果不懂Lua语法的话,可以参考下
    的头像 发表于 06-13 17:27 450次阅读
    零基础学习<b class='flag-5'>LuatOS</b>编程:快速上手开发实战教程!

    LuatOS编程基础教程:手把手带你入门物联网开发!

    设备开发之旅。 学习LuatOS的主要方法之一是“运行各个功能模块的demo代码”,本期特别分享——LuatOS编程起步相关内容。   注意:本文档的读者,默认都已经了解初步的Lua语法。   如果
    的头像 发表于 06-11 13:03 605次阅读
    <b class='flag-5'>LuatOS</b>编程基础教程:手把手带你入门物联网开发!

    基于LuatOS核心库的实时操作系统开发:从理论到实践~

    实时系统的开发挑战在于平衡响应时间与系统开销。LuatOS核心库通过时间片轮转与优先级混合调度策略,既保证了高实时性任务的即时执行,又为低优先级任务提供了公平调度机会。其事件驱动架构还支持异步处理
    的头像 发表于 05-16 13:56 405次阅读
    基于<b class='flag-5'>LuatOS</b>核心库的实时操作系统开发:从理论到实践~

    光伏电站智能运维系统解决电站运维的那些头疼

    光伏电站智能运维系统解决电站运维的那些头疼 在广袤的戈壁滩上,一排排深蓝色的光伏板像沉默的巨人,将阳光转化为清洁电力。但您知道吗?这些看似躺着就能赚钱的设备,其实需要像照顾孩子一样细心呵护。传统运
    的头像 发表于 02-27 16:12 596次阅读
    光伏电站智能运维系统解决电站运维的<b class='flag-5'>那些</b>头疼<b class='flag-5'>事</b>

    宝藏工具LuaTools又新增功能!速看

    LuaTools——自主研发的多功能下载调试工具,支持最新固件获取、固件打包、Trace打印、单机烧录等等功能,支持全系4G模组和4G+GNSS模组,支持AT指令、
    的头像 发表于 12-14 09:33 1298次阅读
    宝藏工具LuaTools又新增功能!速看