Configuring a Surveillance Camera with Udev and Systemd

Say Cheese

© Photo by Shaurya Sagar on Unsplash

© Photo by Shaurya Sagar on Unsplash

Article from Issue 310/2026
Author(s):

You can use systemd to make your computer react when you change a file or plug in a device. We'll show you how to leverage these powerful features to build a surveillance system.

In modern Linux systems, the Udev device manager listens for notice of new devices added to the system. If a device is detected, Udev can trigger an action. In most situations, Udev operates behind the scenes. You don't have to be an expert in Udev to boot your computer or plug in a device, but if you feel like experimenting, you can configure Udev directly to automate an action. There's a good chance you are already familiar with starting and stopping systemd services by hand or enabling them to start at boot, but you can also have them start when certain ad hoc conditions are met. You could, for example, have systemd trigger an event when you plug in new hardware or when things change in the filesystem. You do that by combining a Udev rule with a systemd service.

This article shows how to leverage the kernel's Udev device manager and systemd's Device and Path units to create a home surveillance system with Single Board Computer (SBC) and an off-the-shelf webcam. The idea is that, when the SBC detects the camera has been connected (or when it detects the camera on boot), it will trigger a surveillance service that will take a picture every few seconds. If the surveillance script detects movement, it will save the images to a predetermined folder. These images will be saved with a unique date-and-time-based name.

I have several SBCs lying around from bygone eras, some never used and still in their original boxes. I picked a PINE 64A [1] (Figure 1), but any device that can run Linux will do. In my case, I'll use a version of Arch Linux that works well with the PINE 64A's ARMv8 architecture [2].

[...]

Use Express-Checkout link below to read the full article (PDF).

Buy Linux Magazine

Related content

  • Hardware Detection

    Udev, HAL, and D-Bus provide automated hardware configuration, even if you plug in on the fly. We'll help you easily access new devices.

  • Udev

    After three years of hanging around on the sidelines, Udev has finally ousted the legacy Dev-FS system. We take a look under the hood at the Udev device management system inside your Linux system.

  • systemd-networkd

    The new networkd component of the systemd project supports basic network configuration. Despite its early stage of development, one thing is clear: This is a daemon with brains.

  • Hotplugging

    Hardware which just works is what every user wants. Current Linux distributions go a long way to fulfilling that dream. In this article, we will be investigating how the hotplug system works.

  • Command Line: Systemd

    Wondering what all the fuss is about systemd? We explain the basic concepts and capabilities of the new system management suite – coming soon to a distro near you.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News