更新时间:2024-06-25 06:07:04下载pdf
功耗管理是 NB-IoT 产品的重要特性,本文将介绍 TuyaOS 中 NB-IoT 设备的功耗管理。
NB-IoT 业务规模发展与承载业务模型密切相关,其适用场景是小流量、上报为主、长期休眠、功耗敏感、低移动性应用。NB-IoT 支持三种省电模式:
为了实现 NB-IoT 网络承载海量的低功耗设备,最为重要的技术为 PSM 和 eDRX。
终端非业务期间深度休眠,不接收下行数据。只有终端主动发送上行数据(MO Data)时,才可接收 涂鸦开发者平台 缓存的下行数据。
在该状态下,终端射频关闭,相当于关机状态。但是核心网侧还保留用户上下文,用户进入空闲态/连接态时无需再附着 PDN 建立。
适合对下行数据无时延要求的业务。终端设备功耗低,采取电池供电方式,如抄表业务。
Active:模块处于活动状态,所有功能正常可用,可以进行数据发送和接收。模块在此模式下可切换到 Idle 模式或 PSM 模式。
Idle:模块处于浅睡眠状态,模块处于网络连接状态,可接收寻呼消息。模块在此模式下可切换至 Active 或 PSM 模式。
PSM:模块处于深睡眠状态,内部只有 RTC 工作,网络处于非连接状态,不可接收寻呼消息。当定时器超时后,模块将被唤醒,也可通过拉低 PSM_EINT 引脚从唤醒模块。
终端设备兼顾低功耗和对时延有一定要求的业务。在每个 eDRX 周期内,只有在设置的寻呼时间窗口内,终端可接收下行数据,其余时间终端处于休眠状态,不接收下行数据。该模式可在下行业务时延和功耗之间取得平衡,如远程关闭煤气业务。
每个 eDRX 周期内,有一个寻呼时间窗口 PTW( Paging Time Window ),终端在 PTW 内按照 DRX 周期(DRX 周期时间短,可以认为终端不休眠、一直可达)监听寻呼信道,以便接收下行数据,其余时间终端处于休眠状态。
eDRX 模式可以认为终端设备随时可达,但时延较大,时延取决于 eDRX 周期配置,可以在低功耗与时延之间取得平衡。
可以认为下行业务随时可达终端设备,在每个 DRX 周期,终端都会检测一次是否有下行业务到达,适用于对时延有高要求的业务。终端设备一般采取供电的方式,如路灯业务。
由于 DRX 周期短( 1.28s,2.56s,5.12s 或者 10.24s,由运营商网络侧设置决定——SIM 卡办理 APN 业务),可认为下行业务随时可达,时延小。
适用于对时延有高要求的业务,但功耗相对较高,终端设备一般采用市电供电方式。
// 设置设备工作模式
tuya_user_api_sim_mode_set("PSM");
// 设置 lifetime 时间
tuya_user_api_lifetime_set(600);
函数原型 | OPERATE_RET tuya_user_api_sim_mode_set (IN char* mode) |
---|---|
参数 | mode:待设置的 SIM 卡低功耗模式,具体请参照下文详细说明 |
功能 | 设置当前设备的工作模式(PSM 、DRX 、EDRX ) |
头文件 | #include <tuya_user_api.h> |
返回值 |
|
参数 mode 取值范围:“psm”,“drx”,“edrx”,或者"PSM",“DRX”,“EDRX”,禁止"Psm"这类大小写混用的情况(此类传入无效)。字符串字面意思即表示设置的功耗模式。
函数原型 | nbiot_mode_t tuya_user_api_sim_mode_get (void) |
---|---|
参数 | 无 |
功能 | 获取当前设备的工作模式(功耗模式) |
头文件 | #include <tuya_user_api.h> |
返回值 | 返回此时的设备的工作模式(功耗模式),具体请参照枚举nbiot_mode_t |
详细说明
枚举 nbiot_mode_t:
typedef enum {
NBIoT_MODE_PSM, //PSM 模式
NBIoT_MODE_DRX, //DRX 模式
NBIoT_MODE_EDRX //EDRX 模式
} nbiot_mode_t;
函数原型 | void tuya_user_api_psm_disable (void) |
---|---|
参数 | 无 |
功能 | 禁止当前设备进入睡眠模式 |
头文件 | #include <tuya_user_api.h> |
返回值 | 无 |
函数原型 | void tuya_user_api_psm_enable (void) |
---|---|
参数 | 无 |
功能 | 允许当前设备进入睡眠模式 |
头文件 | #include <tuya_user_api.h> |
返回值 | 无 |
函数原型 | void tuya_user_api_enter_psm (void) |
---|---|
参数 | 无 |
功能 | 立刻释放睡眠锁,允许当前设备进入睡眠模式 |
头文件 | #include <tuya_user_api.h> |
返回值 | 无 |
更多详细信息,请参考 NB-IoT 通用方案介绍。
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈