Jump to content

Connecting four Arduino Cameras, then streaming them over a lan

Circulating
Go to solution Solved by Circulating,
20 hours ago, Kilrah said:

That can copy a 160x120 image from the camera straight to a display locally at 10Hz, very far from what you want.

 

There are solutions but video is hard, and something custom like that won't be possible for a few bucks.

 

Something like this might be a starting point...

https://www.arducam.com/product/arducam-1mp4-quadrascopic-camera-bundle-kit-for-raspberry-pi-nvidia-jetson-nano-xavier-nx-four-ov9281-global-shutter-monochrome-camera-modules-and-camarray-camera-hat/

 

But yeah, probably $350ish range for one set of hardware.

I found a solution for 30-ish per set. Thank you so much for the starting point! I really appreciate your help

To keep this concise, I've been working on a project that requires me to stream four cameras (real time) on a high bandwith lan p2p to a pc. So far, this project is mainly in the idea phase. I've compiled a list of some possible component's, however, I'm not very well versed in this area. My plan is to run one stream at 480p 60hz, and split up four cameras into one via a 'rotating' circuit, which will live swap the cameras wiring to the arduino (preferably a nano for the price). Then, the frames will be transmitted via a WiFi module and ill stitch them back together via software. My issue is keeping them in sync, for my project, I need the captured frames to be taken at the same time. To achieve this, I need to send a 'capture pulse' of sorts to the cameras and store the resulting images in memory until streaming them to the PC. 

If anyone could help me with the following questions, that'd be greatly appreciated!:

 

- Do you know of any cheap infrared cameras (~5usd per) that work with arduino? 

 

- Is there a chip that takes an input of binary, writes it to memory, then can be cleared. If so, how do I then delay the information's transmission to the arduino properly?

 

- Is there a way to just connect four cameras directly to an arduino nano, negating the problem entirely?

 

- Is there a common place you look for components? 

 

- Is there a better way to make a 'rotating circuit' than using four pins on the arduino, code, and several AND gates.

 

- If possible, is there a method of fast compression of the imagery (to be sent through the lan) without increasing the price per unit a sizeable amount 

 

- Do you have any ideas on how I could improve or solve my project? I'd love to hear if you have ideas, maybe a great solution is obvious to someone else

 

Sorry for the long list, I've looked online and figured out some aspects of this project. However, I'm still learning, and id be really grateful if someone out there could help me out!

Link to comment
Share on other sites

Link to post
Share on other sites

7 minutes ago, Circulating said:

Do you know of any cheap infrared cameras (~5usd per) that work with arduino? 

I'm not aware of any cameras that work with the Arduino. The ATMEGA line are microcontrollers, not designed to handle streaming video. You need boards more like RasPis.

Main System (Byarlant): Ryzen 7 5800X | Asus B550-Creator ProArt | EK 240mm Basic AIO | 16GB G.Skill DDR4 3200MT/s CAS-14 | XFX Speedster SWFT 210 RX 6600 | Samsung 990 PRO 2TB / Samsung 960 PRO 512GB / 4× Crucial MX500 2TB (RAID-0) | Corsair RM750X | a 10G NIC (pending) | Inateck USB 3.0 Card | Hyte Y60 Case | Dell U3415W Monitor | Keychron K4 Brown (white backlight)

 

Laptop (Narrative): Lenovo Flex 5 81X20005US | Ryzen 5 4500U | 16GB RAM (soldered) | Vega 6 Graphics | SKHynix P31 1TB NVMe SSD | Intel AX200 Wifi (all-around awesome machine)

 

Proxmox Server (Veda): Ryzen 7 3800XT | AsRock Rack X470D4U | Corsair H80i v2 | 64GB Micron DDR4 ECC 3200MT/s | 4x 10TB WD Whites / 4x 14TB Seagate Exos / 2× Samsung PM963a 960GB SSD | Seasonic Prime Fanless 500W | Intel X540-T2 10G NIC | LSI 9207-8i HBA | Fractal Design Node 804 Case (side panels swapped to show off drives) | VMs: TrueNAS Scale; Ubuntu Server (PiHole/PiVPN/NGINX?); Windows 10 Pro; Ubuntu Server (Apache/MySQL)


Media Center/Video Capture (Jesta Cannon): Ryzen 5 1600X | ASRock B450M Pro4 R2.0 | Noctua NH-L12S | 16GB Crucial DDR4 3200MT/s CAS-22 | EVGA GTX750Ti SC | UMIS NVMe SSD 256GB / TEAMGROUP MS30 1TB | Corsair CX450M | Viewcast Osprey 260e Video Capture | Mellanox ConnectX-2 10G NIC | LG UH12NS30 BD-ROM | Silverstone Sugo SG-11 Case | Sony XR65A80K

 

Camera: Sony ɑ7II w/ Meike Grip | Sony SEL24240 | Samyang 35mm ƒ/2.8 | Sony SEL50F18F | Sony SEL2870 (kit lens) | PNY Elite Perfomance 512GB SDXC card

 

Network:

Spoiler
                           ┌─────────────── Office/Rack ────────────────────────────────────────────────────────────────────────────┐
Google Fiber Webpass ────── UniFi Security Gateway ─── UniFi Switch 8-60W ─┬─ UniFi Switch Flex XG ═╦═ Veda (Proxmox Virtual Switch)
(500Mbps↑/500Mbps↓)                             UniFi CloudKey Gen2 (PoE) ─┴─ Veda (IPMI)           ╠═ Veda-NAS (HW Passthrough NIC)
╔═══════════════════════════════════════════════════════════════════════════════════════════════════╩═ Narrative (Asus USB 2.5G NIC)
║ ┌────── Closet ──────┐   ┌─────────────── Bedroom ──────────────────────────────────────────────────────┐
╚═ UniFi Switch Flex XG ═╤═ UniFi Switch Flex XG ═╦═ Byarlant
   (PoE)                 │                        ╠═ Narrative (Cable Matters USB-PD 2.5G Ethernet Dongle)
                         │                        ╚═ Jesta Cannon*
                         │ ┌─────────────── Media Center ──────────────────────────────────┐
Notes:                   └─ UniFi Switch 8 ─────────┬─ UniFi Access Point nanoHD (PoE)
═══ is Multi-Gigabit                                ├─ Sony Playstation 4 
─── is Gigabit                                      ├─ Pioneer VSX-S520
* = cable passed to Bedroom from Media Center       ├─ Sony XR65A80K (Google TV)
** = cable passed from Media Center to Bedroom      └─ Work Laptop** (Startech USB-PD Dock)

Retired/Other:

Spoiler

Laptop (Rozen-Zulu): Sony VAIO VPCF13WFX | Core i7-740QM | 8GB Patriot DDR3 | GT 425M | Samsung 850EVO 250GB SSD | Blu-ray Drive | Intel 7260 Wifi (lived a good life, retired with honor)

Testbed/Old Desktop (Kshatriya): Xeon X5470 @ 4.0GHz | ZALMAN CNPS9500 | Gigabyte EP45-UD3L | 8GB Nanya DDR2 400MHz | XFX HD6870 DD | OCZ Vertex 3 Max-IOPS 120GB | Corsair CX430M | HooToo USB 3.0 PCIe Card | Osprey 230 Video Capture | NZXT H230 Case

TrueNAS Server (La Vie en Rose): Xeon E3-1241v3 | Supermicro X10SLL-F | Corsair H60 | 32GB Micron DDR3L ECC 1600MHz | 1x Kingston 16GB SSD / Crucial MX500 500GB

Link to comment
Share on other sites

Link to post
Share on other sites

16 minutes ago, AbydosOne said:

I'm not aware of any cameras that work with the Arduino. The ATMEGA line are microcontrollers, not designed to handle streaming video. You need boards more like RasPis.

I've found modules such as the OV7670 online. There was a guide to outputting to a display here:

https://maker.pro/arduino/tutorial/how-to-interface-the-ov7670-camera-module-with-arduino

Would you recommend a pi or other one board computers for this application? If so, do you know of any resources to get me started?

Link to comment
Share on other sites

Link to post
Share on other sites

36 minutes ago, Circulating said:

I've found modules such as the OV7670 online. There was a guide to outputting to a display here:

https://maker.pro/arduino/tutorial/how-to-interface-the-ov7670-camera-module-with-arduino

Would you recommend a pi or other one board computers for this application? If so, do you know of any resources to get me started?

Seems to do it's stuff on the camera board and just use the arduino as a passthrough.

 

Only one can be used here a raspberry pi kinda board is what you need.

Link to comment
Share on other sites

Link to post
Share on other sites

20 hours ago, jaslion said:

Seems to do it's stuff on the camera board and just use the arduino as a passthrough.

 

Only one can be used here a raspberry pi kinda board is what you need.

I see, thank you for the insight. 

 

To keep costs low, is it still possible to use this sort of pass through config combined with my 'rotating circuit' and an output? It would be treated as one camera. 

 

In my design matrix, cost and availability of parts are major contributors to a final score. Its really hard to find raspberry pi's nowadays and I'd need five-ish, since I'm making multiple sets. 

 

Also, I don't think I made this clear, I'm not intending to process the imagery at all, nor send it over wifi via the arduino. 

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, Circulating said:

I've found modules such as the OV7670 online. There was a guide to outputting to a display here:

https://maker.pro/arduino/tutorial/how-to-interface-the-ov7670-camera-module-with-arduino

That can copy a 160x120 image from the camera straight to a display locally at 10Hz, very far from what you want.

 

There are solutions but video is hard, and something custom like that won't be possible for a few bucks.

 

Something like this might be a starting point...

https://www.arducam.com/product/arducam-1mp4-quadrascopic-camera-bundle-kit-for-raspberry-pi-nvidia-jetson-nano-xavier-nx-four-ov9281-global-shutter-monochrome-camera-modules-and-camarray-camera-hat/

 

But yeah, probably $350ish range for one set of hardware.

F@H
Desktop: i9-13900K, ASUS Z790-E, 64GB DDR5-6000 CL36, RTX3080, 2TB MP600 Pro XT, 2TB SX8200Pro, 2x16TB Ironwolf RAID0, Corsair HX1200, Antec Vortex 360 AIO, Thermaltake Versa H25 TG, Samsung 4K curved 49" TV, 23" secondary, Mountain Everest Max

Mobile SFF rig: i9-9900K, Noctua NH-L9i, Asrock Z390 Phantom ITX-AC, 32GB, GTX1070, 2x1TB SX8200Pro RAID0, 2x5TB 2.5" HDD RAID0, Athena 500W Flex (Noctua fan), Custom 4.7l 3D printed case

 

Asus Zenbook UM325UA, Ryzen 7 5700u, 16GB, 1TB, OLED

 

GPD Win 2

Link to comment
Share on other sites

Link to post
Share on other sites

20 hours ago, Kilrah said:

That can copy a 160x120 image from the camera straight to a display locally at 10Hz, very far from what you want.

 

There are solutions but video is hard, and something custom like that won't be possible for a few bucks.

 

Something like this might be a starting point...

https://www.arducam.com/product/arducam-1mp4-quadrascopic-camera-bundle-kit-for-raspberry-pi-nvidia-jetson-nano-xavier-nx-four-ov9281-global-shutter-monochrome-camera-modules-and-camarray-camera-hat/

 

But yeah, probably $350ish range for one set of hardware.

I found a solution for 30-ish per set. Thank you so much for the starting point! I really appreciate your help

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×