合宙 Air302 模组使用中国移动 NB 卡 cmnbiot2 模板时, T3324 (activeTime) 不为 0 引起的休眠唤醒问题 (对于模组想尽快进入低功耗休眠状态时的应用场景)

关于 PSM 的说明(尤其 T3324)

PROJECT = "lowpower"
VERSION = "1.0.0"

_G.sys = require("sys")

sys.taskInit(function()

    log.info("===========================", "pm", "lastReson", pm.lastReson())

    while not nbiot.isReady() do sys.wait(100) end

    log.info("--------------------------------------- begin")

    pm.dtimerStart(0, 5 * 60 * 1000)

    pm.request(pm.HIB)

    if pm.check() then
        log.info("pm", "it is ok to hib")
    end

    log.info("--------------------------------------- end")

end)

sys.run()

意外的唤醒:

luat.pm Go into Sleep2
luat.pm poweron: Wakup Sleep2 by RTC 255

PROJECT = "lowpower"
VERSION = "1.0.0"

_G.sys = require("sys")

sys.taskInit(function()

    nbiot.setPSM(1, 86400, 0)  -- 注意这里!!

    log.info("===========================", "pm", "lastReson", pm.lastReson())

    while not nbiot.isReady() do sys.wait(100) end

    log.info("--------------------------------------- begin")

    pm.dtimerStart(0, 5 * 60 * 1000)

    pm.request(pm.HIB)
    if pm.check() then
        log.info("pm", "it is ok to hib")
    else
        log.info("pm", "force to hib")
        pm.force(pm.HIB)
    end

    log.info("--------------------------------------- end")

end)

sys.run()
模组第一次上电或复位运行驻网,【可能会进入一次 `luat.pm Go into Sleep2` 、`luat.pm poweron: Wakup Sleep2 by RTC 255`】 之后再次进入`luat.pm Go into Hib`,此后模组才将按照唤醒时间准时唤醒(模组初次驻网设置 T3324 未生效)

使用第一次代码打印日志

03-05 15:17