Hi,
I’m new here so please bear with me. I am not sure if this is the correct place to post this, but I thought that this might be interesting to anyone who uses the AMB82-MINI cameras.
I’ve started building a surveillance camera solution that includes
- Firmware for the camera with UI for configuration
- A server that can record video and play it back
- A new firmware flasher written in Go
- a bit faster than the one that came with the SDK
- comes with its own loader mini-app
- also ported to JS so you can flash AMB82 boards from the browser
- doesn’t require boot+reset buttons to be pressed on flashing
- Firmware management on the server and OTA updates for cameras
- Server can configure WiFi networks and credentials when flashing boards the first time
I haven’t started playing with the neural network bits yet, but those are next. I plan to split processing between camera and server so that the camera can do simple object/people recognition and the server can take care of heavier things like matching faces to embeddings etc.
Here are some screenshots:
This is the live-view
This is the replay view
Here is part of the config view for configuring individual cameras (the add camera button is somewhat superfluous as adding cameras is automatic when you flash them. They get the server address and the network credentials during the provisioning process)
Here is the firmware settings tab:
And here is the screen for flashing the AMB82 MINI from the browser, provisioning it with credentials and telling it where the server is
There is also an on-camera UI that can be used to configure the camera, but I had to skip the screenshot because there is a 5 image limit here.
I’m fairly new to this board so there are probably still some things that need ironing out. Also, as mentioned previously, all the neural network stuff is next. Plus additional integration interfaces and optimization of the video streaming (I have tested it for just 2 cameras and 5-6 consumers right now, but I suspect there is room for improvement).
Of course, I also have to add authentication, access control and I’ll have a look at whether the video streams from the camera to the server could perhaps be encrypted. I have no idea how this affects performance.
The entire thing can be shipped as a single binary. So you start the binary, it creates an SQLite database for its data, and stores video in the filesystem. Then you connect your cameras via USB the first time, flash and provision them, and after that you can flash them OTA. (You just need to set your server address and add some wifi networks and the cameras just connect automatically to the server).
The plan is to upgrade cameras automatically whenever I create a new firmware release for the AMB82.
I just thought I’d share this project here. Let me know if any of you find it interesting.
-Bjørn




