Concurrency and trustworthiness of ESP_NOW?

hdsjulian2
Posts: 15
Joined: Wed Apr 10, 2024 8:08 am

Concurrency and trustworthiness of ESP_NOW?

Postby hdsjulian2 » Wed Apr 24, 2024 8:38 pm

I have a few questions using ESP_NOW, Things i can't really test in a meaningful way but that i might have to implement differently.

I currently have a setup where I have one main device and a bunch of client devices. I guess i'll end up having about 200 clients.
The main device usually communicates via Broadcast. The client usually only receives messages. But if the client has to communicate something, it can simply add the main device as peer, and send the message.

Now i wonder, what would happen if i were to broadcast an esp_now message and every client would send their response to the main device at the same time? Would this cause congestion? Will they just retry often enough till everything is resolved? Can I set timeouts somehow?

Also: how much do I need to rely on esp_now_sen (or rather the esp_now_register_send_cb functionto esp_now_send_status_t being == ESP_NOW_SEND_SUCCESS? Currently i have a stateMachine preserving an "inbetween" state and resending if necessary, but the more complex my messaging becomes, the more annoying this functionality becomes.
So can I trust esp_now to just retry sending messages for a while? (which would be enough reliability for my purpose) Or does it just send once and then i have to catch whatever happens?

MicroController
Posts: 1706
Joined: Mon Oct 17, 2022 7:38 pm
Location: Europe, Germany

Re: Concurrency and trustworthiness of ESP_NOW?

Postby MicroController » Wed Apr 24, 2024 8:59 pm


Who is online

Users browsing this forum: No registered users and 92 guests