Умен дом · Хардуер
Мониторинг на Raspberry Pi 5 с Hailo-8, Frigate и Whisper
Малкият сървър за видео и реч работи тихо, докато не прегрее, не се задръсти паметта или не спре детекторът. Ето как да го наблюдавате с Prometheus и Grafana — само с неща, които проверихме в официалната документация. Командите и конфигурациите по-долу не са пускани от нас — тествайте ги първо в лаборатория.
- Оригиналът (юни 2026) сочеше конкретни версии.
Node Exporter 1.8.0 · Prometheus 3.0.0 · Alertmanager 0.27.0→ последни към 03.10.2026: Node Exporter 1.12.1, Prometheus 3.15.0 (LTS 3.13.3), Alertmanager 0.34.1; в кода версиите са заменени с „вижте страницата за изтегляне“. [10] - Оригиналът предлагаше самописен Frigate exporter през MQTT.
„Frigate exporter (чрез MQTT)“→ Frigate вече подава метрики за Prometheus на адрес /api/metrics; самописният скрипт е махнат. [6] - Самописният Hailo exporter викаше команда на Hailo за температура, която не успяхме да потвърдим в документацията.
„hailo_exporter.py“→ махнат; следим времето за инференция на детектора през Frigate. [5][6] - Оригиналът препращаше аларми през чужд Discord прокси.
„прокси за Discord (Go)“→ Alertmanager има вграден получател discord_configs. [11] - Примерите са обобщени: без данни за вход, конкретни адреси и имена на устройства — всеки ги настройва за себе си. Добавени: ограничения на хардуера, лицензи, правна бележка, източници.
01 · ЦЕЛТАКакво следим
Четири неща могат да се повредят незабелязано: самият Raspberry Pi (температура, памет, диск), ускорителят Hailo-8, видеосистемата Frigate и услугата за реч. Схемата е проста:
- Node Exporter — метрики на хоста: процесор, памет, диск, температура.
- Frigate — собствени метрики: кадри в секунда, време на детектора, температура на устройството, място за запис, събития. [6]
- Blackbox Exporter — проверка дали една услуга (например тази около Whisper) отговаря.
- Prometheus събира всичко през равни интервали, Grafana го рисува, Alertmanager праща известие в Discord.
02 · ХАРДУЕРЪТКакво казват производителите
| Компонент | Проверен факт (03.10.2026) | Лиценз |
|---|---|---|
| Raspberry Pi 5 | Процесор BCM2712, 4 ядра Cortex-A76 на 2,4 GHz; памет LPDDR4X-4267 от 1 до 16 GB; един PCIe 2.0 x1 интерфейс; захранване 5 V / 5 A; препоръчва се активно охлаждане; в производство най-малко до януари 2036. [1] | — |
| Raspberry Pi OS | Текуща версия Trixie, по-старата Bookworm също работи; версии преди Bookworm — не. [1] | — |
| Hailo-8 | До 26 TOPS, типична мощност 2,5 W, без външна DRAM памет. [4] | Хардуер на Hailo; лиценз на софтуера им — не е проверяван |
| Raspberry Pi AI HAT+ | Вариант 13 TOPS (Hailo-8L) или 26 TOPS (Hailo-8); свързва се през PCIe порта на Pi 5; околна температура 0–50 °C. По-старият AI Kit е извън производство; съществува и AI HAT+ 2 с Hailo-10H (40 TOPS). [2][3] | — |
| Frigate | Последна стабилна 0.17.2 (28.06.2026); 0.18.0-rc1 (30.08.2026) е предварителна. Поддържа Hailo-8 и 8L, вкл. Pi 5 с PCIe платката; модел по подразбиране YOLOv6n; в документацията ~7 ms (Hailo-8) и ~11 ms (Hailo-8L) за инференция. [5][7][8] | MIT |
| Whisper (OpenAI) | Размери tiny, base, small, medium, large и turbo. Цифрите в README за памет — около 1 GB (tiny), 6 GB (turbo), 10 GB (large) — са видео памет на графична карта; на Pi 5 не са мерени. [9] | MIT (код и тегла) |
| Prometheus · Alertmanager · Node Exporter | Най-нови: 3.15.0 · 0.34.1 · 1.12.1. [10] | Apache 2 |
| Grafana | Отворена версия под AGPL-3.0 — важи, ако променяте и публично предлагате системата. [12] | AGPL-3.0 |
03 · ХОСТЪТNode Exporter и Prometheus
Вземете архивите за arm64 от страницата за изтегляне на Prometheus и сложете версията, която виждате там. [10] Не поставяйте Prometheus, Grafana или Frigate директно в интернет — държете ги във вътрешна мрежа.
# Заменете <версия> с текущата от страницата за изтегляне
mkdir -p ~/monitoring
cd ~/monitoring
wget https://github.com/prometheus/node_exporter/releases/download/v<версия>/node_exporter-<версия>.linux-arm64.tar.gz
tar xvf node_exporter-*.tar.gz
sudo cp node_exporter-*/node_exporter /usr/local/bin/
# След това направете systemd услуга, която стартира node_exporter
# под непривилегирован потребител, и я пуснете с: sudo systemctl enable --now node_exporterКонфигурацията на Prometheus (prometheus.yml) събира хоста и Frigate. Портът на Node Exporter е този по подразбиране; адресът на Frigate е като в неговата документация. [6]
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: "node"
static_configs:
- targets: ["localhost:9100"]
- job_name: "frigate"
metrics_path: "/api/metrics"
static_configs:
- targets: ["frigate:5000"]
rule_files:
- "alerts.yml"04 · FRIGATEFrigate и Hailo-8
Frigate е с отворен код (MIT) и работи като контейнер. [8] В документацията си той изрично посочва Raspberry Pi 5 с PCIe платката от AI Kit като поддържан хардуер за Hailo-8 и Hailo-8L. [5] Ако не зададете свой модел, детекторът сваля YOLOv6n от Hailo Model Zoo при първо пускане; после работи и без връзка. [7]
Метриките се включват през настройката за телеметрия. Полезните за нас са:
frigate_detector_inference_speed_seconds— колко време отнема един детектор; при Hailo-8 документацията очаква около 7 ms. [5][6]frigate_camera_fps,frigate_detection_fps,frigate_skipped_fps— дали камерите подават кадри и колко от тях детекторът пропуска.frigate_device_temperature— температура на устройството.frigate_storage_free_bytes— свободно място за записи.frigate_camera_events— брой събития по камера и обект.
05 · РЕЧТАWhisper и другите услуги
Whisper е библиотека и команден инструмент, не готова услуга с метрики. [9] Затова не наблюдаваме „Whisper“, а услугата, която го обвива. Най-простата проверка е Blackbox Exporter: пита дали порт или адрес отговаря. [10] Така следите и всяко друго устройство в домашната мрежа — например робот или шлюз — само като цел за проба.
# В prometheus.yml — проба на TCP порт на услугата за реч
- job_name: "probe-services"
metrics_path: /probe
params:
module: [tcp_connect]
static_configs:
- targets: ["<хост-на-услугата>:<порт>"]
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: "<адрес-на-blackbox-exporter>"Бележка за паметта: цифрите за Whisper в README са за видео памет. Върху процесора на Pi 5 избирайте малки модели и измерете сами времето и паметта — ние не сме ги измервали.
06 · АЛАРМИТЕGrafana и известия в Discord
Grafana свързвате с Prometheus като източник на данни и правите табло с панели за температура, памет, FPS, време на детектора, място за запис и състояние на пробите. Отворената версия е под AGPL-3.0. [12] При първото влизане задайте собствена парола и не оставяйте тази по подразбиране.
Alertmanager има вграден получател за Discord, така че отделен прокси не е нужен. [11] Адресът на webhook-а е тайна — слагайте го във файл, не в код.
route:
receiver: discord
group_by: ['alertname']
repeat_interval: 1h
receivers:
- name: discord
discord_configs:
- webhook_url_file: /etc/alertmanager/discord_webhook.txt
send_resolved: truegroups:
- name: edge_ai
rules:
- alert: FrigateDown
expr: up{job="frigate"} == 0
for: 2m
labels: {severity: critical}
annotations: {summary: "Frigate не отговаря"}
- alert: DetectorSlow
expr: frigate_detector_inference_speed_seconds > 0.05
for: 5m
labels: {severity: warning}
annotations: {summary: "Детекторът е по-бавен от обичайното"}
- alert: CameraNoFrames
expr: frigate_camera_fps == 0
for: 2m
labels: {severity: warning}
annotations: {summary: "Камера не подава кадри"}
- alert: LowRecordingSpace
expr: (frigate_storage_free_bytes / frigate_storage_total_bytes) < 0.1
for: 10m
labels: {severity: warning}
annotations: {summary: "Под 10% свободно място за записи"}
- alert: HighMemory
expr: (1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100 > 85
for: 5m
labels: {severity: warning}
annotations: {summary: "Заета памет над 85%"}07 · ВНИМАНИЕВидеонаблюдение и лични данни
08 · ИЗТОЧНИЦИИзточници
- Raspberry Pi Ltd, „Raspberry Pi 5“ — raspberrypi.com/products/raspberry-pi-5
- Raspberry Pi Ltd, „Raspberry Pi AI HAT+“ — raspberrypi.com/products/ai-hat
- Raspberry Pi Documentation, „AI HAT+“ — raspberrypi.com/documentation/accessories/ai-hat-plus.html
- Hailo, „Hailo-8 AI Accelerator“ — hailo.ai/products/ai-accelerators/hailo-8-ai-accelerator
- Frigate, „Recommended hardware“ — docs.frigate.video/frigate/hardware
- Frigate, „Metrics“ — docs.frigate.video/configuration/metrics
- Frigate, „Object detectors“ (Hailo-8) — docs.frigate.video/configuration/object_detectors
- Frigate, версии и лиценз MIT — github.com/blakeblackshear/frigate/releases
- OpenAI, „Whisper“ (README и лиценз MIT) — github.com/openai/whisper
- Prometheus, „Download“ (версии на Prometheus, Alertmanager, Node Exporter, Blackbox Exporter) — prometheus.io/download
- Prometheus, „Alertmanager configuration“ — prometheus.io/docs/alerting/latest/configuration
- Grafana, лиценз AGPL-3.0 — github.com/grafana/grafana
Проверено на 03.10.2026 г. по документацията на производителите. Командите и конфигурациите не са пускани от нас; цифрите за скорост са от документацията, не от наши измервания. Не е правен съвет.