-
-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Many-to-one connection #10
Comments
mmm, good question 🧐 This library is for general purpose, as it receives pointers to data, such as buffers, strings, images, or any byte-formatted, but when you are using it one-to-many way, we are using broadcasting feature of ESPNow. mmm I think that is possible, your idea, using maybe an ID and one ESP32 or algorithm that handled when each device should be sending, because the receptor should know how to re-build the data. Each camera should have registered the mac-address of the receptor too. Let me check the details.. |
Hey @hpsaturn may I kindly ask you if you found a way to make this work? :) |
Yes sure, I know how, I think that like I described before is possible. Using IDs. But right now my time is so short, I was only fixing some XIAO camera issues and I was in other project. I hope return again soon to this idea. Meanwhile, do you have working the current samples of this library in your cameras? |
The idea is similar to this post: My esp32cam has support for send to specific receiver using the mac address, like is described in the article. Something like this example that I did: there, each camera could configure the receiver. And also they using an ID in the message. Well, here I use Protos to improve the structs. But is similar. I think that is the way.. |
Thank you so much for your quick reply! If you tell me where I should have a look, I can try more on my own. I'm not really familiar with the ESP-NOW protocol, but I'm happy to learn! :) |
So theoretically, If I set the same target MAC on all cameras, I should already be able to make a many-to-one network, no? |
Yes. Wow, do you have XIAO cameras? nice to know that because I have a very bad issue around it: limengdu/SeeedStudio-XIAO-ESP32S3-Sense-camera#8 Maybe can you help me testing the basic sample for XIAO Camera? and try to replicate it? or maybe confirm with that, that my camera has problems.. I only have two cameras, the Freenove and this XIAO for testing. The sample to test is this: But is very simple, install PlatformIO core and its CLI and run: pio run -e xiao-espnow-sender --target upload and also you need run a receiver sample in other TFT device. |
Hey @hpsaturn, I uploaded the sample already and get a funky error:
Never had that. It goes to download mode by software, how did that happen? I do not press any buttons. (more information: https://matchboxscope.github.io/) In my case the receiver should "spit out" data via serial to be translated into python in the computer side, but should not be an issue. I have written down what I'm trying to achieve here: https://www.reddit.com/r/esp32/comments/1943anz/connecting_24_esp32_seeed_xiao_sense_cameras_over/ What I tried:
|
Very weir this that you mentioned around the it changes to the upload mode. Is crazy. Well, good news, I changed the camera sensor and my XIAO is working very well, without any issue. On the other hand, I did some tests with a old camera without PSRAM [1], and it is working with the library good too. That means that I could have two cameras to test and implement the solution to this issue. [1] #19 |
Current proof of concept in this PR #34 |
Great @hpsaturn ! I can confirm (at least first test), that I can send some data from 3 xiaos to one single receiver. It would indeed be great to solve the MAC address issue.. |
Thanks to test it. Please, you should notice that we already have an example to test this feature, the name is |
Great! Thanks. I'll test - unforutnately my USB Hun broke, I have to find a solution to get multiple cameras on power now ;D |
Last question: I case I don't have access to the Mac addresses of the
camera but only the receiver, would this still work?
…On Tue, May 7, 2024, 17:15 hpsaturn ***@***.***> wrote:
Closed #10 <#10> as completed.
—
Reply to this email directly, view it on GitHub
<#10 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABBE5OECYYIO2FLQXOA2U2LZBFAAZAVCNFSM6AAAAABF3TFPU2VHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJSG4ZTKNBYGE3DGMI>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Not last question :D, please feels free to do more questions or report more issues. Sorry for close this issue without any comment yesterday. Well, it is necessary, because it is the only way to filter the incoming messages for now, for this reason the method prototype is this: /**
* @brief Callback and framebuffer setter filtered by MAC address
* Only for multiple sources (N:1)
* @param fb buffer pointer to receive the whole frame data
* @param macAddr source device MAC address to filter
* @param cb frame data callback for this source device
*/
void ESPNowCam::setRecvFilter(uint8_t *fb, const uint8_t *macAddr, RecvCb cb) {
saveReceiver(macAddr, fb, cb);
} On the other hand, without configure the cameras without an only MAC target, it generate a lot the noise and glitches. |
Hey @hpsaturn, I stumbled upon your project while screening youtube for some ideas regarding mesh-networking multiple ESP (Xiao) cameras. I have the idea that you have exactly what I was looking for! :)
I'm developing a 24 camera microscope based on the little xiao devices and tried everything (further reading on reddit:
My gut feeling tells me that the ESP-NOW is a promising zero-installation way of connecting multiple devices (e.g. 4 in one "subnetwork") without configuring much in advance. The idea would be to bundle 4 cameras and let them create a mesh and stream frames (any framerate near 1fps is already great) to a "master". Your youtube video shows the opposite - one camera to multiple screens, hence my question: would your approach also allow many cameras to one display work?
Thanks a lot for making this project open source! :)
The text was updated successfully, but these errors were encountered: