最近在写合宙4G的DTU Luat脚本,由于有一个每日定时任务的需求。所以基于ntp demo进行了一些修改。做成了定时脚本。代码很简单,ntp设置为24小时同步一次,然后所有代码都可以写在一个1s的定时器里面。
比如每5秒运行一次的任务,就使用
tm.sec%5 == 0
作为判断条件,每小时整点运行一次的,可以使用
tm.min==0
作为判断条件,每天0点运行的,使用
tm.hour==0
作为判断条件。其他任务以此类推。
local function prinTime()
local tm = misc.getClock()
log.info("testNtp.printTime", string.format("%04d/%02d/%02d,%02d:%02d:%02d", tm.year, tm.month, tm.day, tm.hour, tm.min, tm.sec))
if tm.sec%5 == 0 then
log.info("Log output tm.sec every 5 seconds:",string.format("%02d",tm.sec))
sys.timerLoopStart(prinTime,1000)
ntp.timeSync(24)
最近在写合宙4G的DTU Luat脚本,由于有一个每日定时任务的需求。所以基于ntp demo进行了一些修改。做成了定时脚本。代码很简单,ntp设置为24小时同步一次,然后所有代码都可以写在一个1s的定时器里面。比如每5秒运行一次的任务,就使用tm.sec%5 == 0作为判断条件,每小时整点运行一次的,可以使用tm.min==0 作为判断条件,每天0点运行的,使用tm.hour==0作为判断条...
计算机只能处理数字,如果想要处理字符,必须转换成数字,所以就需要对字符进行编码。
计算机是美国人发明的,最早只有127个字符被编码到计算机里,这就是ASCII编码,包含英文字母、数字和一些特殊字符。
但是ASCII码不能处理中文,所以中国制定了GB2312把中文编码进去,可想而知,其他国家也制定了对应语言的编码。
各国标准不一样,多语言的文本会出现冲突,为了解决这个问题,Unicode编码应...
Luat介绍
Luat = Lua + AT, Luat是上海合宙推出的物联网开源架构,依托于通信模块做简易快捷的开发,将传统的AT命令用Lua语言封装成API,并提供各种功能应用的demo,大大减少用户的开发成本。
开发者可以通过调用API轻松,便捷的实现TTS、GPS、SOCKET、MQTT、OTA等功能。例如下面通过几行代码既可以实现GPS,MQTT功能。
Lua脚本是内嵌在模块基础软件core中运行的(core编译生成的文件是.lod文件),Lod中有支持Lua运行的环境,Lua脚本就在这
延时和定时器
在luat脚本程序中,往往需要用到延时和等待等逻辑功能。例如,你想得到每隔30秒查询当前内存,这里就需要用到延时和定时器。在每次打印后加上一个30秒的定时器或者30秒的延迟,既可以实现这个功能。本篇文章将介绍2个延时函数和4个定时器函数以及一个判定定时器激活状态的函数,讲解这些函数如何使用以及在什么环境下使用。
API说明
详细的API介绍见sys API章节和rtos
看过我之前文章的朋友都知道我是使用AT指令开发Air202的,但今天写的是DTU版本,为什么呢?因为AT开发对于我这种“半桶水”开发者来说坑有点多,在上报数据时,阿里云平台有正常接收到数据,但未能解析出来,或许是因为我上报数据的格式不正确导致的吧!无意间发现了DTU开发模式,看着挺简单的,这就来试试,但马上又掉坑了。
固件下载链接(点我下载)
一、刷DTU固件
刷了固件一直提示下载失败,为什...
local handler
-- do some routine job in Lua just like a cron job
handler = function (premature)
ngx.log(ngx.INFO,"====================定时任务执行开始===================...
timeSync
时间同步有很多种方法,基站授时,GPS授时,ntp授时等等多种方法,可以参考http://doc.openluat.com/article/412/0和http://doc.openluat.com/article/600/0。
Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS 等等)做同步化,它可以提供高精准度的时间校正(LAN 上与标准间差小于 1 毫秒,WAN 上几十毫秒),且可介由加密确
有时我们需要在特定时间执行特定的任务,然而一般的定时任务又不满足我们的需求。如重推任务:我们向第三方发送话单,但是有可能推送失败,此时我们需要隔一段时间再重推。重推N次后,仍然失败,则不重推,标志无法推送
程序需要在N秒后执行特定任务,但是任务的参数由当前决定。
本文演示使用Redis,lua和spring boot实现如上的功能。
一日不见如隔三秋,距离发布上篇博客又是一种新的外设之ADC模数转换,现在我们可以采集模拟量数据了已然过去了半个月,最近事情比较多,没有时间写博客,今天抽出一点时间写一篇有关Air720SL的定时器的使用方法
那么什么是定时器呢?
定时器通俗的讲就相当于一个闹钟。
我们的手机里面都有闹钟,每天早上负责叫醒我们上班不要迟到。我们只要在手机里面设置好时间,...