Самый простой способ - я думаю - это отправить сообщение с запросом широковещания (с использованием многоадресного адреса, например, ff03 :: 2), на которое каждое устройство должно ответить.
Как только вы получите ответное сообщение от устройства, вы также сможете получить IPv6-адрес отправителя.Информация об адресе отправителя находится в otMessageInfo
.
См. Пример в cli_udp_example.cpp в git.
void UdpExample::HandleUdpReceive(otMessage *aMessage, const otMessageInfo *aMessageInfo)