me

richard hannagan

my bike light runs linux

and the app it came with sucks

According to the TAC, "In the last five years, 55 bicycle riders have been killed on Victorian roads – an average of 11 each year." and "Killed in same direction crashes (40%)"

I was recently gifted a rear bike light with a camera built-in. Maybe it will catch the numberplate of the guy who kills me and drives off, or maybe it will just be fun to play with. Unfortunately the app it comes with isn't the greatest piece of UI design ever created, so here are some improvements I'd like to make to the overall experience.

To start with, to get recordings from the camera, you can either remove the micro-SD card and plug it into your computer, or connect to a wifi hotspot which is constantly broadcasting from the light whenever it's turned on and recording, and there's apparently no way to change the either the SSID or password.

Here are the improvements I'd like to make:

  • Stream from the camera without using the app
  • Get previously recorded video from the camera without using the default app
  • Change the default wifi config
  • Make a better app (iOS only for now because I've never used Android.)
  • Okay fine an Android app too, it can't be that hard (ref: this post)

1. How does this thing work?

When connecting to the light's wifi network (CARDV_####), you're given a 192.168.1.# address.

nmap 192.168.1.1 gives me the following:

RTSP stands for Real-Time Streaming Protocol. VLC can open RTSP links. Unfortunately, there doesn't appear to be a way to find the exact link the camera is broadcasting from.

A few minutes of Googling default RTSP links for various dashcam models didn't yield any working results. But maybe the company will just tell me the link?

That was easy.

And... success! I can stream video to VLC on Mac or iPhone. So maybe the app is already created and it's just VLC? No, I still need a way to get previously recorded video from the camera.


Telnet

History of telnet at Bell Labs

Telnet description from Podcast: If you had full access to a computer during your time slice, you didn’t need a punch card system, you could use a teletype terminal. Teletype terminals looked like large typewriters combined with printers and maybe a phone line, and they were originally used for sending telegraphs, I think. You could type in commands and send it directly to the computer using the telephone line and then have the results printed out right away right above you. And with a timeshare system, you could hook up a number of these to a single computer and split time between them.

Teletype terminals communicated over telnet, a protocol that’s still in use to this day, although I guess SSH has largely replaced it. The ASCII format of text documents was created for these teletype machines, and that’s why it has weird control characters like the end of the transmission. This was such an interesting time. It was the birth of these interactive computers. Anyways, back to the Multics project ref: https://corecursive.com/brian-kernighan-unix-bell-labs1/

nmap listed a telnet port open. Let's see if it works?

But what's the username and password? root? nothing???

Yep.

A quick ls lists the following directories. And it looks like the micro-SD card is mounted at /mnt/mmc/

So I should be able to access photos and videos just like directly from the SD card at e.g. http://192.168.1.1/mnt/mmc/Normal/F/REC20240120-171923-1884.mp4

More success!