今天我们特别来讲一讲关于sys系统消息
1、DTIMER_WAKEUP
deep sleep timer定时时间到回调
额外返回参数
无
例子
sys.subscribe("DTIMER_WAKEUP", function(timer_id) log.info("deep sleep timer", timer_id) end)2、YHM27XX_REG
YHM27XX芯片寄存器信息更新回调
额外返回参数
无
例子
sys.subscribe("YHM27XX_REG", function(data) -- 注意, 会一次性读出0-9,总共8个寄存器值 log.info("yhm27xx", data and data:toHex()) end)3、LORA_TX_DONE
LORA 发送完成
额外返回参数
无
例子
sys.subscribe("LORA_TX_DONE", function() lora.recive(1000) end)4、LORA_RX_DONE
LORA 接收完成
额外返回参数
无
例子
sys.subscribe("LORA_RX_DONE", function(data, size, rssi, snr) -- rssi 和 snr 于 2023-09-06 新增 log.info("LORA_RX_DONE: ", data, size, rssi, snr) lora.send("PING") end)5、LORA_TX_TIMEOUT
LORA 发送超时
额外返回参数
无
例子
sys.subscribe("LORA_TX_TIMEOUT", function() lora.recive(1000) end)6、LORA_RX_TIMEOUT
LORA 接收超时
额外返回参数
无
例子
sys.subscribe("LORA_RX_TIMEOUT", function() lora.recive(1000) end)7、LORA_RX_ERROR
LORA 接收错误
额外返回参数
无
例子
sys.subscribe("LORA_RX_ERROR", function() lora.recive(1000) end)8、GNSS_STATE
GNSS状态变化
额外返回参数
无
例子
9、SIM_IND
sim卡状态变化
额外返回参数
无
例子
10、CELL_INFO_UPDATE
基站数据已更新
额外返回参数
无
例子
-- 订阅式 sys.subscribe("CELL_INFO_UPDATE", function() log.info("cell", json.encode(mobile.getCellInfo())) end)11、SCELL_INFO
服务小区额外信息更新
额外返回参数
无
例子
-- 订阅式 sys.subscribe("SCELL_INFO", function() log.info("service cell", mobile.scell())) end)12、NTP_UPDATE
时间已经同步
额外返回参数
无
例子
-- 对于电信/移动的卡, 联网后,基站会下发时间,但联通卡不会,务必留意 sys.subscribe("NTP_UPDATE", function() log.info("mobile", "time", os.date()) end)13、CSCON
RRC状态
额外返回参数
无
例子
-- state 1 CONNECT 0 IDLE sys.subscribe("CSCON", function(state) log.info("mobile", "CSCON", state) end)14、CC_IND
通话状态变化
额外返回参数无
通话状态回调参数
status,通话状态,string类型,取值如下:
"READY":通话准备完成,可以拨打电话或者呼入电话了
"INCOMINGCALL":有电话呼入
"CONNECTED":电话已经接通
"DISCONNECTED":电话被对方挂断
"SPEECH_START":通话开始
"MAKE_CALL_OK":拨打电话请求成功
"MAKE_CALL_FAILED":拨打电话请求失败
"ANSWER_CALL_DONE":接听电话请求完成
"HANGUP_CALL_DONE":挂断电话请求完成
"PLAY":开始有音频输出
例子
sys.subscribe("CC_IND", function(status) log.info("CC状态", status) end)15、IP_READY
已联网
额外返回参数
无
例子
-- 联网后会发一次这个消息 sys.subscribe("IP_READY", function(ip, adapter) log.info("mobile", "IP_READY", ip, (adapter or -1) == socket.LWIP_GP) end)补充说明:
在如下几种情况下, 系统都会发布 IP_READY 消息:
(1)4G 的 PDP 成功激活,
(2)WiFi 连接宽带成功分配 IP,
(3)以太网连接宽带成功分配 IP,
(4)WiFi 设置静态 IP,连接成功了另一个 AP;
(5)以太网设置静态 IP,连接成功了网线。
如果没有插 SIM 卡的情况下,或者是 4G 的网络没有建立的情况下,
注意有如下两种情况:
(1) 以太网网线接好(假如接到了宽带路由器),系统会发布 IP_READY ;
(2) WiFi STA 连上了一个 AP, 系统会发布 IP_READY ;
通过消息的回调参数,来取得 IP 和 网卡的 ID,可以区分是哪种上网方式。
16、IP_LOSE
已断网
额外返回参数
无
例子
-- 断网后会发一次这个消息 sys.subscribe("IP_LOSE", function(adapter) log.info("mobile", "IP_LOSE", (adapter or -1) == socket.LWIP_GP) end)17、NTP_UPDATE
时间已经同步
额外返回参数
无
例子
sys.subscribe("NTP_UPDATE", function() log.info("socket", "sntp", os.date()) end)18、NTP_ERROR
时间同步失败
额外返回参数
无
例子
sys.subscribe("NTP_ERROR", function() log.info("socket", "sntp error") end)19、SMS_INC
收到短信
额外返回参数
| 返回参数类型 | 解释 |
|---|---|
| string | 手机号 |
| string | 短信内容,UTF8编码 |
例子