如何判断当前设备已经连上网络
Posted: 2024年 Sep 27日 17:50
照理说网络状态改变时,在tal_zg_nwk_status_changed_callback函数有相应状态的回调,比如我重新上电,连上网后是否有回调提醒,以及网关掉线设备断网,好像也没有提醒,图里有我重新上电,然后删除设备,重新连接的LOG,我如何来判断当前设备已经连接到云端。
照理说网络状态改变时,在tal_zg_nwk_status_changed_callback函数有相应状态的回调,比如我重新上电,连上网后是否有回调提醒,以及网关掉线设备断网,好像也没有提醒,图里有我重新上电,然后删除设备,重新连接的LOG,我如何来判断当前设备已经连接到云端。
tal_zg_nwk_status_changed_callback回调只提示当前设备的zigbee网络状态,无法提示互联网状态:
如果当前设备已组网,重启后状态为TAL_ZG_NWK_POWER_ON_ONLINE
如果网关掉电,可通过report数据是否成功判断
再请教一个问题,我看上报这里没有返回值,这个怎么判断上报是成功还是失败
1.你好,你可以看下以下用法示例
Code: Select all
tal_zg_send_data(&send_data, mcu_ota_request_ack_receive_callback, TAL_SEND_DATA_TIMEOUT);
Code: Select all
STATIC VOID_T mcu_ota_request_ack_receive_callback(TAL_SEND_ST_E st, TAL_ZG_SEND_DATA_T *data)
{
if (SEND_ST_OK != st) {
}else {
}
}
2.需要注意的是send_data.qos 填为 QOS_x_0 的时候为 tal_zg_send_data 本身发送是否成功,仅判断本身发送条件是否pass无线包是否发送成功;而填入 QOS_x_1 是需要收到对端的 default respond 才会在回调函数中返回OK,否则为失败,它不仅判断自生发送也会判断对方回应是否正常
好的谢谢