После обновлений, прошедших примерно месяц назад, возникли трудности
с использованием esp_now. С большим трудом,
(попытки вернуть версию Boards не прошли)
удалось очистить и обновить список библиотек и все заработало.
Но существовавшая система сбора информации и ряда постов, использовавшая esp_now, перестала при приеме информации получать правильный МАК адрес посылающего.
Далее фрагмент программы:
void OnDataRecv(const uint8_t * mac_addr, const uint8_t *incomingData, int len)
{
char macStr[18];String Str="";
uint8_t mac8[] = {0xc8,0xf0,0x9e,0x4f,0x1b,0xd4};
uint8_t mac7[] = {0xc8,0xf0,0x9e,0x4e,0xf0,0xbc};
uint8_t mac5[] = {0x54,0x43,0xb2,0xa9,0x34,0xec};
snprintf(macStr, sizeof(macStr), "%02x:%02x:%02x:%02x:%02x:%02x",
mac_addr[0], mac_addr[1], mac_addr[2], mac_addr[3], mac_addr[4], mac_addr[5]);
Serial.print("mac_addr ");Serial.println(macStr);
```
выводит один и тот же адрес, независимо от реального Sendera.
Проверка МАК адресов Сендеров стандартным способом подтвердил различие их адресов и совпадение их с ранее известными.
Значение выдаваемое Ресептором 46:f3:fa:3f:40:f3 всегда одинаково и
не совпадает ни с одним из реальных адресов.
Конечно, можно различать Сендера по получаемому сообщению, но это не удобно,
так как структуры сообщений отличаются и легко распаковываются, только
если известна их структура.