Difference between revisions of "EspNowAudio"

From RevSpace
Jump to navigation Jump to search
(Result)
m (What)
Line 10: Line 10:
  
 
Stuff to learn:
 
Stuff to learn:
* ESP now broadcast mode: does it really work? https://github.com/espressif/ESP8266_NONOS_SDK/issues/8#issuecomment-419774432
+
* ESP now broadcast mode: does it really work? YES, it does work, there's no ACK (so it's even a bit faster).
 
* ESP now throughput: https://hackaday.io/project/166868-my-attempt-at-an-esp-now-mesh/log/166398-072419-maximum-transmission-throughput-of-esp-now
 
* ESP now throughput: https://hackaday.io/project/166868-my-attempt-at-an-esp-now-mesh/log/166398-072419-maximum-transmission-throughput-of-esp-now
 
* ESP now packet loss when used continuously
 
* ESP now packet loss when used continuously

Revision as of 14:11, 16 March 2020

Project EspNowAudio
350px
Status Initializing
Contact bertrik
Last Update 2020-03-16

What

The idea is to experiment a bit more with ESP now, in particular in combination with audio transfer.

Stuff to learn:

Possible end result: A kind of zero-standby power intercom. When you press the button, an ESP8266 is powered up. It immediately starts transmitting audio from a digital I2S microphone over ESP now. The receiving end will probably be an ESP32, that receives the ESP now audio and converts into a standardized audio-over-ip protocol, e.g. VBAN.

Plans:

  • build an Arduino playground project so I can access the API from the command line and play with it
  • start with an ESP32 + INMP441

Related interesting stuff:

Result

ESP NOW broadcast just seems to work fine (not sure what prevented me from making it work earlier). I've fixed the WiFi channel to 1.

On the receiving side, I use an ESP32. On the sending side, I use an ESP8266:

  • init the esp now library
  • add the broadcast address as a peer
  • send a message
  • that's it!

Transmission appears to be very fast, taking less than a millisecond for 10 messages in a row. However, with broadcast, the sending side does not receive (or wait for) any acknowledgements, the tx callback just reports the broadcast address, the rx callback reports nothing.

References