如何判断当前设备已经连上网络

Zigbee 子设备开发


Post Reply
cheng_JS
Posts: 117

照理说网络状态改变时,在tal_zg_nwk_status_changed_callback函数有相应状态的回调,比如我重新上电,连上网后是否有回调提醒,以及网关掉线设备断网,好像也没有提醒,图里有我重新上电,然后删除设备,重新连接的LOG,我如何来判断当前设备已经连接到云端。

Attachments
2702.PNG
2701.PNG
shiliang
Posts: 36

Re: 如何判断当前设备已经连上网络

tal_zg_nwk_status_changed_callback回调只提示当前设备的zigbee网络状态,无法提示互联网状态:

如果当前设备已组网,重启后状态为TAL_ZG_NWK_POWER_ON_ONLINE

如果网关掉电,可通过report数据是否成功判断

cheng_JS
Posts: 117

Re: 如何判断当前设备已经连上网络

再请教一个问题,我看上报这里没有返回值,这个怎么判断上报是成功还是失败

Attachments
2801.PNG
huanghuan
Posts: 244

Re: 如何判断当前设备已经连上网络

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,否则为失败,它不仅判断自生发送也会判断对方回应是否正常

cheng_JS
Posts: 117

Re: 如何判断当前设备已经连上网络

好的谢谢

Post Reply