Reverse Engineering Liberates Dash Cam Video

If you’ve purchased a piece of consumer electronics in the last few years, there’s an excellent chance that you were forced to use some proprietary application (likely on a mobile device) to unlock its full functionality. It’s a depressing reality of modern technology, and unless you’re willing to roll your own hardware, it can be difficult to avoid. But [krishnan793] decided to take another route, and reverse engineered his DDPAI dash camera so he could get a live video stream from it without using the companion smartphone application.

Like many modern gadgets, the DDPAI camera creates its own WiFi access point that you need to connect to for configuration. By putting his computer’s wireless card into Monitor mode and running Wireshark, [krishnan793] was able to see that the smartphone was communicating with the camera using some type of REST API. After watching the clear-text exchanges for awhile, he not only discovered a few default usernames and passwords, but the commands necessary to configure the camera and start the video stream.

After hitting it with the proper REST messages, an nmap scan confirmed that several new services had started up on the device. Unfortunately, he didn’t get any video when he pointed VLC to the likely port numbers. At this point [krishnan793] checked the datasheet for the camera’s Hi3516E SoC and saw that it supported H.264 encoding. By manually specifying that as the video codec when invoking VLC, it was able to play a video stream from port 6200. A little later, he discovered that port 6100 was serving up the live audio.

Technically that’s all he wanted to do in the first place, as he was looking to feed the video into OpenCV for other projects. But while he was in the area, [krishnan793] also decided to find the download URL for the camera’s firmware, and ran it through binwalk to see what he could find out. Not surprisingly the security turned out to be fairly lax through the entire device, so he was able to glean some information that could be useful for future projects.

Of course, if you’d rather go with the first option and build your own custom dash camera so you don’t have to jump through so many hoops just to get a usable video stream, we’ve got some good news for you.

Homebrew Dash Cam Enables Full Suite Of Sensors

You heard it here first: dash cams are going to be the next must-have item for your daily driver. Already reaching market saturation in some parts of the world but still fairly uncommon in North America, we predict that car makers will soon latch onto the trend and start equipping cars with dash cams as standard equipment. And you can just bet that whatever watered-down, overpriced feature set they come up with will be sure to disappoint, so you might want to think about building your own Raspberry Pi dash cam with an accelerometer and lots of LEDS.

Still very much in the prototyping phase, [CFLanger]’s project is at its heart a dash cam, but it looks like he wants to go far beyond that. Raspivid and a PI NoIR camera take care of the video streaming, but the addition of a Pi SenseHAT gives [CFLanger] a bunch of options for sensing and recording the car’s environment. Not content with the SenseHAT’s onboard accelerometer, he added an ADXL345 to the sensor suite. The 64-pixel LED display is just for fun – it displays pitch and roll of the platform – and a yet-to-be-implemented bar-graph display will show acceleration in the X-axis. He figures the whole thing is good for a couple of days of video, but we hope he adds audio capture and perhaps ECU data from an OBDII-Bluetooth adapter.

We’ve seen surprisingly few DIY dash cams on Hackaday, at least so far. There has been a dash cam teardown and retasking, and there are plenty of dashboard computer builds, though. Seems like most hackers want that DIY self-driving car first.

Continue reading “Homebrew Dash Cam Enables Full Suite Of Sensors”