From 1f80cba17008ff4ad556ebe9b52b864b3a31d13d Mon Sep 17 00:00:00 2001
From: Chengxun Lee <24319042+bclswl0827@users.noreply.github.com>
Date: Thu, 9 Jan 2025 16:19:46 +0800
Subject: [PATCH 1/3] doc: Added new docs on Frigate NVR
---
.../frigate_nvr_with_raspberrypi_5.md | 258 ++++++++++++++++++
sidebars.js | 3 +-
2 files changed, 260 insertions(+), 1 deletion(-)
create mode 100644 docs/Edge/Raspberry_Pi_Devices/Raspberry_Pi_with_AI/frigate_nvr_with_raspberrypi_5.md
diff --git a/docs/Edge/Raspberry_Pi_Devices/Raspberry_Pi_with_AI/frigate_nvr_with_raspberrypi_5.md b/docs/Edge/Raspberry_Pi_Devices/Raspberry_Pi_with_AI/frigate_nvr_with_raspberrypi_5.md
new file mode 100644
index 000000000000..37932662e1e6
--- /dev/null
+++ b/docs/Edge/Raspberry_Pi_Devices/Raspberry_Pi_with_AI/frigate_nvr_with_raspberrypi_5.md
@@ -0,0 +1,258 @@
+---
+description: This wiki article provides a step-by-step guide on how to deploy Frigate NVR on Raspberry Pi 5 with Hailo 8 running yolov8n.
+title: Frigate NVR with Raspberry Pi 5
+keywords:
+ - Edge
+ - reComputer r1000
+ - Object detecton
+image: https://files.seeedstudio.com/wiki/wiki-platform/S-tempor.png
+slug: /frigate_nvr_with_raspberrypi_5
+last_update:
+ date: 09/01/2025
+ author: Joshua Lee
+
+no_comments: false # for Disqus
+---
+
+
+## Introduction
+
+**Frigate NVR** is an open-source network video recorder designed for real-time object detection with AI models. Paired with the **Raspberry Pi 5**, it enables efficient video surveillance at the edge, powered by YOLOv8n. This guide will walk you through the installation and configuration process for an optimal setup.
+
+## Prepare Hardware
+
+### Recommended Components
+
+
+
+
+ Raspberry Pi 5 8GB |
+ Raspberry Pi AI Kit |
+
+
+ |
+ |
+
+
+
+
+ |
+
+
+ |
+
+
+
+
+**Alternatively, you also need at least one camera for video streaming. You can refer to [Recommended hardware](https://docs.frigate.video/frigate/hardware#cameras) to see the recommended cameras.**
+
+## Install Hailo PCIe Driver
+
+### Step 1: Enable PCIe Gen 3
+
+Open a terminal and run the following command.
+
+```bash
+$ sudo apt update
+$ sudo raspi-config
+```
+
+In the dialog, select **6 Advanced Options** and then **A8 PCIe Speed**.
+
+![6 Advanced Options](https://raw.githubusercontent.com/Seeed-Projects/Benchmarking-YOLOv8-on-Raspberry-PI-reComputer-r1000-and-AIkit-Hailo-8L/main/resource/1.png)
+![6 Advanced Options](https://raw.githubusercontent.com/Seeed-Projects/Benchmarking-YOLOv8-on-Raspberry-PI-reComputer-r1000-and-AIkit-Hailo-8L/main/resource/2.png)
+
+Choose "Yes" to enable PCIe Gen 3 mode.
+
+![6 Advanced Options](https://raw.githubusercontent.com/Seeed-Projects/Benchmarking-YOLOv8-on-Raspberry-PI-reComputer-r1000-and-AIkit-Hailo-8L/main/resource/3.png)
+
+Afterward, click "Finish" to exit.
+
+### Step 2: Install Hailo PCIe Driver
+
+Install the dkms package. This package is required to install the Hailo PCIe driver.
+
+```bash
+$ sudo apt update
+$ sudo apt install dkms
+```
+
+Get Hailo PCIe Driver from [GitHub](https://github.com/hailo-ai/hailort-drivers).
+
+```bash
+$ git clone --depth 1 https://github.com/hailo-ai/hailort-drivers
+$ cd hailort-drivers/linux/pcie
+```
+
+Then, install the Hailo PCIe driver.
+
+```bash
+$ sudo make dkms_install
+```
+
+After installation, download firmware for Hailo and copy it to the `/lib/firmware/hailo` directory.
+
+```bash
+$ cd ../..
+$ ./download_firmware.sh
+$ sudo mkdir -p /lib/firmware/hailo
+$ sudo cp *.bin /lib/firmware/hailo
+```
+
+To avoid PCIe max_desc_page_size issue, we also need to create a rule in `/etc/modprobe.d/hailo_pci.conf` with the following content.
+
+```bash
+options hailo_pci force_desc_page_size=256
+```
+
+Restart the system to take effect.
+
+```bash
+$ sudo reboot
+```
+
+After the system is restarted, the Hailo PCIe driver is installed successfully. The `/dev/hailo0` device will be created. Check the device by running the following command.
+
+```bash
+$ sudo ls /dev/hailo*
+/dev/hailo0
+```
+
+## Install Frigate NVR
+
+In this part, we assume you have your camera set up and ready to stream with RTSP protocol in 1920x1080 resolution.
+
+- Example RTSP URL: `rtsp://admin:passw0rd@192.168.98.11:554/cam/realmonitor?channel=1&subtype=0`
+
+### Step 1: Prepare the Environment
+
+1. **Update your system:**
+
+ ```bash
+ $ sudo apt update
+ ```
+
+2. **Install Docker:**
+
+ ```bash
+ $ curl -fsSL get.docker.com | bash
+ $ sudo usermod -aG docker $USER
+ ```
+
+3. **Reboot the system:**
+
+ ```
+ $ sudo reboot
+ ```
+
+4. **Get Frigate Image:**
+
+ Go to [Package frigate](https://github.com/blakeblackshear/frigate/pkgs/container/frigate/versions), choose one image with `-h8l` suffix. In this example, we choose `ghcr.io/blakeblackshear/frigate:b265b6b-h8l`.
+
+ ```bash
+ $ docker pull ghcr.io/blakeblackshear/frigate:b265b6b-h8l
+ ```
+
+5. **Create Docker Compose File:**
+
+ Here is an example of the `frigate.yml` file, the `hailo0` device is the one you created in the previous step, configuration files are in the `./config` directory and data files are in the `./data` directory.:
+
+ ```yaml
+ services:
+ frigate-hailo:
+ container_name: frigate-hailo
+ privileged: true
+ restart: unless-stopped
+ image: ghcr.io/blakeblackshear/frigate:b265b6b-h8l
+ shm_size: 1024mb
+ devices:
+ - /dev/hailo0:/dev/hailo0
+ volumes:
+ - /etc/localtime:/etc/localtime:ro
+ - ./config/:/config
+ - ./data/db/:/data/db
+ - ./data/storage:/media/frigate
+ - type: tmpfs
+ target: /tmp/cache
+ tmpfs:
+ size: 1000000000
+ ports:
+ - 5000:5000
+ ```
+
+6. **Download Model:**
+
+ Go to [Public Pre-Trained Models](https://github.com/hailo-ai/hailo_model_zoo/blob/master/docs/public_models/HAILO8/HAILO8_object_detection.rst) to download the model you want to use. Here is the example of using YOLOv8n model: `yolov8n`.
+
+ ```bash
+ $ mkdir -p ./config/model_cache
+ $ sudo wget https://hailo-model-zoo.s3.eu-west-2.amazonaws.com/ModelZoo/Compiled/v2.14.0/hailo8/yolov8n.hef -O ./config/model_cache/yolov8n.hef
+ ```
+
+9. **Edit Frigate Config:**
+
+ Here is an example of the `config/config.yml` file, which is for the Frigate application:
+
+ ```yml
+ database:
+ path: /data/db/frigate.db
+
+ cameras:
+ home:
+ ffmpeg:
+ inputs:
+ - path: rtsp://admin:passw0rd@192.168.98.11:554/cam/realmonitor?channel=1&subtype=0
+ roles:
+ - record
+ - detect
+
+ objects:
+ track:
+ - person
+ - cat
+
+ detectors:
+ hailo8l:
+ type: hailo8l
+ device: PCIe
+ model:
+ path: /config/model_cache/yolov8n.hef
+
+ model:
+ width: 640
+ height: 640
+ input_tensor: nhwc
+ input_pixel_format: bgr
+ ```
+
+6. **Start Docker Instance:**
+
+ ```bash
+ $ docker compose -f frigate.yml up -d
+ ```
+
+ After the Frigate is up and running, you can access the Frigate web UI at `http://:5000` to check the camera stream.
+
+ ![frigate-web](https://files.seeedstudio.com/wiki/reComputer-R1000/YOLOV8/frigate_web.webp)
+
+## Tech Support & Product Discussion
+
+Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs.
+
+
+
+
\ No newline at end of file
diff --git a/sidebars.js b/sidebars.js
index fed7838d737d..0c6f90d15eb5 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -3400,7 +3400,8 @@ const sidebars = {
'Edge/Raspberry_Pi_Devices/Raspberry_Pi_with_AI/tutorial_of_ai_kit_with_raspberrypi5_about_yolov8n_object_detection',
'Edge/Raspberry_Pi_Devices/Raspberry_Pi_with_AI/yolov8_object_detection_on_recomputer_r1000_with_hailo_8l',
'Edge/Raspberry_Pi_Devices/Raspberry_Pi_with_AI/yolov8_pose_estimation_on_recomputer_r1000_with_hailo_8l',
- 'Edge/Raspberry_Pi_Devices/Raspberry_Pi_with_AI/clip_application_on_rpi_with_ai_kit'
+ 'Edge/Raspberry_Pi_Devices/Raspberry_Pi_with_AI/clip_application_on_rpi_with_ai_kit',
+ 'Edge/Raspberry_Pi_Devices/Raspberry_Pi_with_AI/frigate_nvr_with_raspberrypi_5',
]
},
From 5625be4506018fd0bb97c489ef568e6596b8c3eb Mon Sep 17 00:00:00 2001
From: Chengxun Lee <24319042+bclswl0827@users.noreply.github.com>
Date: Thu, 9 Jan 2025 16:36:12 +0800
Subject: [PATCH 2/3] fix: Fixed purchase link for Rpi 5
---
.../Raspberry_Pi_with_AI/frigate_nvr_with_raspberrypi_5.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/Edge/Raspberry_Pi_Devices/Raspberry_Pi_with_AI/frigate_nvr_with_raspberrypi_5.md b/docs/Edge/Raspberry_Pi_Devices/Raspberry_Pi_with_AI/frigate_nvr_with_raspberrypi_5.md
index 37932662e1e6..98d5c03307be 100644
--- a/docs/Edge/Raspberry_Pi_Devices/Raspberry_Pi_with_AI/frigate_nvr_with_raspberrypi_5.md
+++ b/docs/Edge/Raspberry_Pi_Devices/Raspberry_Pi_with_AI/frigate_nvr_with_raspberrypi_5.md
@@ -36,7 +36,7 @@ no_comments: false # for Disqus
From 400515694d8e7dfc0dca010790a86afb7b3f8300 Mon Sep 17 00:00:00 2001
From: Chengxun Lee <24319042+bclswl0827@users.noreply.github.com>
Date: Thu, 9 Jan 2025 17:44:42 +0800
Subject: [PATCH 3/3] fix: Make compiler works
---
.../frigate_nvr_with_raspberrypi_5.md | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/docs/Edge/Raspberry_Pi_Devices/Raspberry_Pi_with_AI/frigate_nvr_with_raspberrypi_5.md b/docs/Edge/Raspberry_Pi_Devices/Raspberry_Pi_with_AI/frigate_nvr_with_raspberrypi_5.md
index 98d5c03307be..737a6eb49cbb 100644
--- a/docs/Edge/Raspberry_Pi_Devices/Raspberry_Pi_with_AI/frigate_nvr_with_raspberrypi_5.md
+++ b/docs/Edge/Raspberry_Pi_Devices/Raspberry_Pi_with_AI/frigate_nvr_with_raspberrypi_5.md
@@ -8,7 +8,7 @@ keywords:
image: https://files.seeedstudio.com/wiki/wiki-platform/S-tempor.png
slug: /frigate_nvr_with_raspberrypi_5
last_update:
- date: 09/01/2025
+ date: 01/09/2025
author: Joshua Lee
no_comments: false # for Disqus
@@ -30,21 +30,21 @@ no_comments: false # for Disqus
| Raspberry Pi AI Kit |
- |
- |
+ |
+ |
- |
- |