Доступ к основному адресу узла публикации ESP-BLE-MESH в ESP-IDF
У меня есть простая сетка BLE (с использованием ESP-BLE-MESH от Espressif), состоящая из двух узлов; один содержит 3 общих элемента onoff server, публикуемых в группу, и один содержит один универсальный onoff клиент, подписанный на эту группу. Каждый узел представляет собой небольшую плату разработки ESP32 со встроенным светодиодом RGB. Я программирую на C, используя расширение ESP-IDF для Visual Studio Code.
Я хочу, чтобы 3 сервера onoff управляли R, G и B светодиода соответственно, но все, что мне нужно, чтобы отличить сервер от других, — это адрес его элемента, который является первичным адресом узла + некоторое смещение. Я хочу получить это смещение, чтобы определить, какие из R, G и B переключаются, но я не могу понять, как получить доступ к основному адресу публикующего узла, чтобы решить эту проблему. Я просмотрел документацию и попробовал каждого члена
esp_ble_mesh_generic_client_cb_param_t
структура передается в
example_ble_mesh_generic_client_cb
функции, спускаясь в такие кроличьи норы, как
param->params->model->pub->publish_addr
, но безуспешно. Возможно ли то, чего я пытаюсь достичь?
Используемый серверный и клиентский код: узел ble mesh