Frigate – Manage IP Camera with a Raspberry Pi

As a long-time user of high-quality video surveillance systems like Synology and Ubiquiti, I’ve grown accustomed to deploying and relying on their robust, feature-rich ecosystems. However, this time I was looking for something more affordable, focused solely on video management, without the overhead of NAS capabilities or other advanced features. I needed a lightweight solution that could run on a Raspberry Pi—and on Guillaume’s recommendation, I turned to Frigate. This open-source tool offers live video stream management, recording capabilities, and even optional AI-based video analysis. It looks promising and well-built. This post is, as usual, a log of my journey testing this setup in real-time. It’s also an excuse to finally experiment with a Raspberry Pi 5, which I’ve paired with an NVMe drive for video storage, avoiding the SD card’s limited endurance under heavy I/O workloads. I’ll admit, it’s slightly ironic to now need this much power for tasks I used to run smoothly on Synology boxes over a decade ago. Even funnier is that Frigate may require a neural accelerator for its AI features—something that seems excessive when you consider modern AI models like YoLo run on microcontrollers with far less processing power. That said, I don’t plan to use AI in this setup (at least not yet), but I’ve still opted for a dual PCIe HAT to keep the door open for testing a Coral accelerator in the future.

Continue reading →

Linux host to host IP over infiniband

Some tips to configure host to host ip over infiniband

Continue reading →

Fix Postgresql data corruption “invalid page in block … of relation base/16384/…

Bad news yesterday after a power failure on a server, impossible to restart my Helium ETL service: the database has been corrupted and the service is failing with the message “invalid page in block 54206178 of relation base/16384/186119818”

I had to spend time on the web and chatGPT wasn’t helping me (I’m kidding, this bot is stupid) to find a correct way to solve this, luckily, this has been resolved and here is the way I did it.

Continue reading →

Tips, get allocated device IP for mac OS X Internet share

Short story, I’m updating a Laird gateway connected to my mac book and using the Wifi connection to reach Internet. I need to get the allocated IP to access it using the web UI.

I found two ways (only one working) on Internet:

[~] ping 192.168.2.255

This way, you can get different devices responding to the ping broadcast and list the addresses. I’ve got nothing interesting but it’s good to know.

[~] arp -i bridge100 -a
? (192.168.2.5) at (incomplete) on bridge100 ifscope [bridge]
? (192.168.2.9) at xx:xx:xx:xx:44:dd on bridge100 ifscope [bridge]
? (192.168.2.99) at (incomplete) on bridge100 ifscope [bridge]

Here we have a device responding on 192.168.2.9 where the Laird is.

Secure your children Internet access

I’m a big fan of PiHole for my children but also for my IoT devices [not the one I build but the one I’m purchasing 🙂 ]. That said, there are two things missing in it:

  • The first one is that Pi-Hole is operating on DNS request so any malicious solution using its own DNS or direct IP will bypass Pi-Hole protection.
  • The second one is the lake of functionalities like stopping Internet for a certain group of user during certain period of time.

So, when a friend of me contacted me to share its work on a different solution using a proxy, I’ve been happy to let him make a blog post here to introduce his solution. And this solution can be used in complement of PiHole. So, let’s make some place here to Manu PILLANT

Continue reading →

Embedded product with Raspberry Pi Compute Module

Raspberry Pi is a good solution for creating low-cost, powerful embedded devices when you have no need of self powered solution.

I had to create a such device recently to make a programming machine for my IoT devices. I was looking for a compact solution, powered with PoE, industrial grade, able to run a Java program and host a custom HAT with my home-made chip programmer.

Here you see a picture of the first prototype of this product with the different components visible: The green board is a Rapsberry Pi compute module CM3+ with 16GB eMMc flash drive. The blue motherboard is a Waveshare PoE board for CM3+. The Black board is my custom HAT hosting the programming solution based on a STM32.

In this post, I’ll detail a bit these different components and the way they are configured to illustrate how to easily make a such system alive.

Continue reading →

Clean a linux drive on Mac Os X

Short tips: when a drive has been formatted for Linux (like a SDCard for a RPI) and you want to clean it ans reuse it as a normal (Fat32) drive, you can’t do it from Diskutil graphical tool.

Continue reading →

Transfer UDP over SSH

When you want to transfer some UDP protocol from a remote server not directly accessible from your local host you can use a combination of SSH and socat to make this communication possible.

The application case is, as an exemple, a SNMP communication with a server in a DMZ to get metrics in a local area dashboard. Like in this exemple.

You have an intermediate host where SSH is accessible you can use as a gateway.

1- on the local host (on the left side), create a SSH tunnel with a TCP port forwarding (here 10000).

ssh -L 10000:localhost:10000 **gateway_host_ip**

2- on the gateway host, route the traffic received from the port we have previously associated to the UDP target host:port

socat tcp4-listen:10000,reuseaddr,fork UDP:**target_host_ip**:**udp_port**

3 – on the local host, route the traffic received from the given UDP port to the previously associated TCP port for tunnelling

socat -T15 udp4-recvfrom:**udp_port**,reuseaddr,fork tcp:localhost:10000

That’s it.