Page 1 of 1

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

Posted: 2024年 Sep 27日 17:50
by cheng_JS

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


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

Posted: 2024年 Sep 27日 18:02
by shiliang

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

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

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


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

Posted: 2024年 Sep 28日 10:39
by cheng_JS

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


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

Posted: 2024年 Sep 29日 09:49
by huanghuan

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


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

Posted: 2024年 Sep 29日 15:10
by cheng_JS

好的谢谢