IP Camera in a Car
I’ve been able to do some pretty miraculous things with 3G/4G cellular links over the past decade. Technical challenges many said were impossible to solve at the time. Years ago the main challenge was not only signal strength and coverage, but also identifying ways to stay within data and bandwidth limitations set by each carrier. While these topics still in part remain, it is now a matter of identifying use-cases that extend beyond the traditional IoT scope. One of those use-cases involves real-time IP dash camera streaming.
I have come across a number of engineers who have attempted this and results have been mostly unfavorable as there are indeed many challenges both hardware and software wise. My main goal was to construct a process using as little logical steps as possible so as to eliminate as many potential failure points.
The programming logic is as follows:
Car starts –> Turns IP camera and VPN router on –> VPN router establishes a link to data center –> Camera server at data center identifies camera and begins recording process.
For testing purposes, I wired up a newer BMW X3 so I had to be extremely careful about what type of components to choose. In my initial electrical tests, the BMW was very sensitive to parasitic leaks and battery drain caused by even the most innocuous of devices (such as common cell phone chargers.) Furthermore, the BMW’s internal computer contained a spinning hard drive based system that would remain on for a duration of up to 15 minutes after being parked and turned off. The system re-enables itself randomly and even if the key fob is in proximity.
The yellow brick is the VPN router. Found on Amazon for roughly $20, it has USB 3G/4G capability, however the router is configured to wirelessly bridge to a WiFi hotspot wired into another 12v source. As soon as the car’s key fob approaches the car, it signals the aux to turn on and the router makes its connection to the remote server. This process takes a little less than one minute.
Front view. Five cameras total in this car now. What an age we live in.
The model of IP camera used for this project is a TOP-308 and was chosen for size and relatively low drain off of 12V. I did not want IR/IR-Cut and kept this to a wired LAN connection.
Tucked away hidden behind the visor I left the pigtail out because it’s an easy thing to check. If the LAN link is blinking rapidly it means all is well. Otherwise all hidden away.
Here’s the view of the mirror for reference. Yes, I could have done a better job hiding the Ethernet cable, however for extended testing purposes it performed the job well. The standard local recording dash cam is to the right.
Quick first run test. No edits to the IP RTSP/Encoder yet. 25fps/1700-2500kbps seems like this system can breeze through it with about a max of 2 second delay.
Unlimited/uncapped data is required, and the car continues to stream for that 15 minutes after the last button or door is touched. Unlocking car or pressing any button on fob will again spin the system up for 15 minutes if the engine is off.
Can this be run in a “set it and forget it” environment? Where once I used to believe others that only in a practice round can it be done, I know know that this is a viable option for commercial transit and logistics. Years and two cars later, this system continues to work without error.