文接上回,没看过上篇文章可能理解不了这篇 ESP32和nrf mesh实现子节点共用,即蓝牙mesh设备的跨网关控制-CSDN博客
当我们将AppKey和NetKey统一之后,按理来说就可以完成通信,但是,实际网关收不到子设备发送的信息,网关也无法发消息给子设备。此时,我们需要解决的是消息没发出来还是收不到。
首先,我们先看网关发给子设备的函数接口
err=esp_ble_mesh_vendor_client_set_node(platId,ele_addr,model_id,value,ack);---》》
skyiot_ble_mesh_send_vendor_message(p_model,ele_addr,ESP_BLE_GATEWAY_VEND_CTL,ctx,sizeof(ctx)/sizeof(ctx[0]),0)--》》》;
err = esp_ble_mesh_client_model_send_msg(model, &ctx, vndOpcode,
sizeof(uint8_t)*len, txdata, MSG_TIMEOUT, ack, MSG_ROLE);---》》》
BTC_BLE_MESH_ACT_CLIENT_MODEL_SEND--》》》
bt_mesh_client_send_msg------》》》
bt_mesh_model_send-----》》》
model_send---》》》ready_to_send--》》》
需要先将其屏蔽,后续在修改回来