bschwind / walkie-talkie

An ESP32-based walkie-talkie for communicating on bicycle/motorcycle rides
10 stars 2 forks source link

works one way #2

Open TriffidK opened 1 year ago

TriffidK commented 1 year ago

Good day! I want to use your code (walkie-talkie). Еhe code worked, but the connection is only one-way. I can't find the cause of the problem. Can you check the code again?

Thank you.

bschwind commented 1 year ago

Hi! It's been awhile since I've touched this repo - have you verified that the microphones and speakers on both devices are working properly? They should each be broadcasting and receiving packets, so audio should be flowing in a two-way fashion.

TriffidK commented 1 year ago

Thanks for the quick response. Microphones and speakers on both devices are working. If I turn on, first board №1 and then board №2, then the sound is transmit from board №1 to board №2 only and crackling is sometimes heard in the board speaker №1. And if i turn on, first board №2 and then board №1, then the sound is transmit from board №2 to board №1 only and crackling is sometimes heard in the board speaker №2.

TriffidK commented 1 year ago

I get error on monitor: "Error sending ESP NOW packet: 3067"

bschwind commented 1 year ago

Hmm, it's hard for me to say what's going on with your code, it depends a lot on the particular hardware. Could be the microphones or speakers, could be the particular dev board you're using, the particular model of ESP32 chip, the antenna, or maybe even the esp-idf config if you've changed that.

One thing you can do to test things is to set up one ESP32 in a "loopback mode" of sorts. See this code for how to do that. You'll need to comment the other init_audio() call above.

This will at least verify that you're getting valid audio data out of the mic, and that the speaker can play it back properly.

After that you can debug why you're getting errors sending ESP NOW packets.

TriffidK commented 1 year ago

When i do "loopback mode" as you recommend i get an error in terminal "assert failed: xStreamBufferReceive stream_buffer.c:866 (pxStreamBuffer->xTaskWaitingToReceive == ((void *)0))" and my board reboot. And so on without end. :(

bschwind commented 1 year ago

Sorry, perhaps your mic is not producing data? I can't really help more than this as I don't have your exact hardware setup.

TriffidK commented 1 year ago

I have two sets: ESP32, INMP441, MAX98357. I do evrything as in your example. All signals I2S bus are present.