Switching the LED of a surveillance cam on and off using Linux

I already wrote a script on my Raspberry that starts and stops the surveillance mode of my camera using the "Surveillance Station" on the Synology DiskStation. Now I wanted to extend that tool and light the LEDs of the cam when it is recording and turning them off if it isn't.

This has two reaso...

By Ole Albers

Published on January 15, 2016, 12:00 am

Category: linux

Tag: synology, raspberrypi

st: I do not want to use the cam for "secret recordings", damaging the private spheres of my visitors. Second: I can easily see if the cam is working as expected. Now my cam has the option to activate the LEDs or deactivate from a web interface, but it is all-or-nothing. It does not depend if it is recording or not. Which isn't a surprise as the camera does not trigger the recordings itself but this is done by the Surveillance Station.

I own (and use) the "Robocam 4", sold by 7Links. But this hardware is quite common and used under different names, too.

Finding out the right commands is quite straight-forward: Open the webinterface and listen what happens there using the developer console in Chrome:

konsole

The "Request URL" and "Form Data" are the most interesting informations here. Before entering that stuff into the Linux-shell let's test this with a more "comfortable" interface. The chrome extension "Postman" offers a nice way to play around with POST-Requests. The setting should be "x-www-form-urlencoded" here:

postman

 

If everything works as desired it is time to put that command to Linux using shell commands. Especially easy if the come does not only accept POST-requests, but GET-requests, too.

http://192.168.0.88/admin/system.cgi?led=2

worked like a charm in my case.

The only thing that's left is the authentifivcation. If you receive a classic login-screen like from a .htaccess password-protection it can be easily added to the url. So

wget http://username:password@192.168.0.88/admin/system.cgi?led=2

turns on the LEDs

wget http://username:password@192.168.0.88/admin/system.cgi?led=0

turns them off

(0=off, 1=on, 2=blinking)

 

Just add these lines to your existing script and the LEDs should be work just like needed :)