Hi everyone, i first came to know arduino about a week ago and my knowledge on the matter is limited to what you can find in paul mcwhorter' s lessons ( i just finished his "course" today), so i hope you ll excuse me if some things i say and ask may not make sense. I found an extensive set of lessons about opencv and before going into them i was wondering if it s possible to have a bluetooth cam connected to my pc, analyze the recorded image with opencv and then remotely send data (using a bluetooth or wifi module (?) as a receiver ) to the arduino, which would control some servos and steppers using the aforesaid data. Everything (cam and arduino) must be mobile, and not physically connected to the pc. Thanks in advance to everyone!
It's surely doable but calls for significant PC work.
The BT communication PC - Arduino is the second major part.
The third part would be the Arduino handling the hardware.
Where do You want to start?
When you say significant pc work, do you mean a vast amount of coding to be done or a heavy workload for the pc to process? As for where i d like to start: i m confident controlling the servos and steppers with Arduino will not be much of an hassle, as i ve already done it before. so my starting point would be to learn how to process the camera feed with opecv and, since i found a very detailed course, i m not too preoccupied about it. my main problem comes from the remote communication between pc and Arduino, since (probably cause i searched for info in the wrong places) i know nothing about this matter.
As you want to have a wireless connection between PC and microcontroller.
There are other microcontrollers that can be programmed with the arduino-IDE just the same way as orginal Arduinos which have WiFi on board.
Namely the ESP32. An ESP32 can do all the things an Arduino Uno can do.
Has more flash
has more RAM
can create step-pulses for stepper-motors at higher frequencies than an Arduino Uno
cost less than an original Arduino Uno
in my opinion a real arduino killer
The ESP32 can even act as the Access-point that creates its own WiFi-network your PC can connect to.
Sending Data between PC and microcontroller can be done with UDP or TCP pretty easy
additionally the EPS32 has its own protocoll to send data wireless pretty fast.
This is called ESP-NOW. This would require one ESP32 connected to your PC via USB
Sending the data over the virtual COMport to the first ESP32 and forwardning the data to the second ESP32 through ESP-NOW
best regards Stefan
Thanks a lot for your insight! So, as i understand, i d need 2 esp32: one physically connected to the pc, that would receive the opencv data through cable and then act as a communication device (using the espnow protocol), the other, being the mobile one, in charge of processing the data and managing the motors.
No, not really. Rather system work, finding the right programs/systems needed. Not a subject for me.
Processing camera data calls for programs like Face recognition. That's one part of the work I try to point out.
If your PC has WiFi himself a SINGLE ESP32 is sufficient where this SINGLE ESP32 acts as
- the WiFi-Access-Point that creates the WiFi-network
- sends and receives data via UDP-protocol or via TCP-protocol
For some reason i thought your second option was the preferred one. i think i ll work with just one esp then! thanks again, you ve been really helpful. have a good rest of the day
There are cheap ESP32 modules that have a camera, search for "ESP32 CAM".
Just as example:
thank you for the suggestion. you reckon it d be easier to use this instead of an external cam? i opted for an "off the board" cam since i was concerned about the quality of the image
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.