WHIP Huby: Inteligentní páteř chytré domácnosti

WHIP Huby: Inteligentní páteř chytré domácnosti
WHIP Hub: RasPi 4 + Relay Board + CAN HAT + pasivní chladič + 64GB SD

Most mezi světy

V našem článku o WHIP Nodes jsme představili "nervové buňky" systému WHIP - malé specializované mikrokontroléry, které v reálném čase ovládají senzory a aktory a komunikují mezi sebou. Jak ale tyto Nodes komunikují s vnějším světem? Jak jsou jejich data agregována, analyzována a propojena s dalšími systémy?

Odpověď: WHIP Hub.

WHIP Hub je minipočítač postavený na Raspberry Pi, který funguje jako inteligentní middleware mezi hardwarovými Nodes a nadřazeným serverem. Překládá mezi světem CAN-busové komunikace v reálném čase a propojeným světem internetu.

Přitom platí fundamentální designový princip: Vyšší inteligence je vždy doplněk, nikdy předpoklad. Základní vrstva - Nodes, které čtou senzory a ovládají aktory - funguje zcela autonomně. Hub přidává komfort, analýzu a konektivitu, ale pro základní provoz není nutný.

Hardwarový základ

Základní platforma

Aktuálním standardem pro WHIP Huby je Raspberry Pi 4B s 8 GB RAM. Pro náročnější úlohy jako multiroom audio nebo lokální zpracování AI používáme také Raspberry Pi 5 s 16 GB RAM.

Kompaktní provedení s pasivním chlazením (používáme chladiče Geekworm pro Pi 4 a pouzdra EDATEC pro Pi 5) umožňuje instalaci do rozvaděčů nebo nenápadné umístění v obytném prostoru. Hub typicky spotřebuje 5-10 wattů - méně než LED žárovka.

Proč Raspberry Pi?

Volba Raspberry Pi jako platformy pro Hub je ekonomické rozhodnutí. Pro úlohy vyžadující TCP/IP sítě, komplexní protokolové stacky nebo několik gigabajtů operační paměti je plnohodnotný linuxový počítač lepší volbou:

PlatformaCenaRAMSíťEkosystém
STM32H7 (High-End MCU)~30€1 MBVolitelně, složitéBare Metal/RTOS
Raspberry Pi 4B~50€8 000 MBGigabit + WiFiKompletní Linux

Raspberry Pi přináší kompletní ekosystém: Python, Perl, Node.js, Docker, databáze - cokoli potřebujete. Vývoj je rychlejší, ladění jednodušší a existuje obrovská komunita s řešeními téměř každého problému.

Pro časově kritické úlohy v řádu mikrosekund jsou STM32 Nodes správnou volbou. Pro vše ostatní je Pi nejen dostačující, ale nadřazený.

Rozšíření pomocí HATs

Skutečná magie vzniká díky specializovaným rozšiřujícím deskám (HATs - Hardware Attached on Top):

Waveshare Dual-CAN HAT

Srdce komunikace s Nodes. Tento HAT nabízí dva galvanicky oddělené CAN-busové kanály s 120Ω zakončovacími odpory (přepínatelné jumperem). Technické údaje:

  • 2 nezávislé CAN kanály (can0, can1)
  • Přenosová rychlost 1 Mbit/s
  • CAN-kontrolér MCP2515 s SPI připojením
  • Galvanické oddělení pro odolnost vůči rušení
  • Na kanál až 20m délka sběrnice, 30 účastníků

Jediný Hub tak může spravovat až 60 WHIP Nodes na celkové vzdálenosti 40 metrů. Flexibilní topologie umožňuje různé konfigurace:

Hub na konci:          Hub uprostřed:

|---20m---Hub          |--10m--Hub--10m--|
|---20m---|            |--10m--|  |--10m--|

ATX LED DALI HAT

Pro profesionální ovládání osvětlení podle standardu DALI (Digital Addressable Lighting Interface). Jedna DALI sběrnice může adresovat až 64 účastníků, se 4kanálovým HAT dosáhneme 256 individuálně ovladatelných svítidel.

Důležité: DALI je samostatný systém. Svítidla fungují i bez Hubu - Hub pouze přidává inteligentní řídicí funkce (více později).

Waveshare 8-Relay HAT

Osm bezpotenciálových spínacích výs tupů pro přímé řídicí úlohy. Každé relé může spínat až 5A při 250V AC nebo 30V DC. Typické aplikace:

  • Zavlažovací ventily
  • Garážová vrata
  • Rozdělovače topných okruhů
  • Čerpadla a ventilátory

HiFiBerry ADC8x / DAC8x (pouze Pi 5)

Pro multiroom audio aplikace: 8kanálový audio vstup nebo výstup ve studiové kvalitě. Pi 5 má dostatek výpočetního výkonu pro zpracování zvuku v reálném čase, korekci místnosti a streaming.

CAN-busový most

Protokol WHIP CAN

WHIP Nodes komunikují přes CAN-bus vlastním protokolem. 29bitové Extended CAN-ID jsou využity takto:

Bit [28:19]  Rezervováno (10 bitů)
Bit [18:7]   Příkaz (12 bitů) = Modul (8 bitů) + Subpříkaz (4 bity)
Bit [6:0]    Node-ID (7 bitů)

Tato struktura umožňuje:

  • 256 modulů (typy senzorů, typy aktorů, systémové funkce)
  • 16 subpříkazů na modul (dotazy, nastavení, konfigurace...)
  • 128 Nodes na sběrnici (teoreticky, prakticky ~30 kvůli elektrickým limitům)

8 bajtů užitečných dat na CAN-frame obsahuje vlastní parametry - naměřené hodnoty, požadované hodnoty, konfigurační nastavení. Pro větší objemy dat existuje multi-frame protokol.

Identifikační ceremonie

Při startu provádí Hub "identifikační ceremonii":

  1. Broadcast "Všichni hlaste se!" - Hub vysílá výzvu všem Nodes
  2. Nodes odpovídají - Každý aktivní Node hlásí své ID (odvozené z unikátního hardwarového UUID STM32)
  3. Individuální dotazy - Hub se ptá každého nahlášeného Node na jeho schopnosti
  4. Distribuce seznamu účastníků - Hub posílá kompletní seznam všech Nodes všem účastníkům

Tato ceremonie se provádí při startu Hubu a opakuje se, když jsou Nodes přidány nebo odebrány. Nodes ukládají seznam účastníků - buď v interní flash paměti STM32, nebo na externím FRAM/EEPROM.

Proč Nodes ukládají seznam svých peerů? Kvůli GANGLION - schopnosti Nodes komunikovat mezi sebou i bez Hubu (podrobně popsáno v článku o WHIP Nodes).

Hub nahrává GANGLION skripty do Nodes a přidává vyšší inteligenci: komplexnější logiku, časové plány, závislost na počasí, notifikace. Ale pro základní provoz není nutný.

Protokolové mosty: Jazyky domácí techniky

Moderní domácí technika mluví mnoha protokoly. WHIP Huby překládají mezi těmito světy.

Modbus: Profilová integrace zařízení

Modbus je esperanto průmyslové automatizace - protokol ze 70. let, který je stále implementován prakticky v každém profesionálním zařízení. Hub ovládá obě varianty:

  • Modbus TCP - Přes Ethernet, pro síťová zařízení
  • Modbus RTU - Přes sériové rozhraní (RS-485), pro starší zařízení

Implementace WHIP podporuje 17 z 21 Modbus funkčních kódů a byla validována více než 800 testy.

To zvláštní: Neexistuje žádná natvrdo kódovaná podpora pro konkrétní výrobce. Místo toho WHIP používá profilový systém.

Koncept profilů

Každé Modbus zařízení je popsáno YAML souborem - svým "profilem". Tyto profily definují:

  • Které registry existují
  • Jaký mají datový typ (uint16, int32, float32...)
  • Jak interpretovat surové hodnoty (škálování, jednotky)
  • V jakých intervalech se mají dotazovat

Generická třída WhipHub::Model::Device::Modbus interpretuje tyto profily za běhu. Neví nic o Victron, nic o vzduchotechnice, nic o systémech řízení baterií - čte YAML a mluví Modbus.

# Příklad: vendor/victron/multiplus_ii.yaml
modbus:
  type: tcp
  default_port: 502
  registers:
    ac_input_voltage:
      address: 3
      type: uint16
      scale: 0.1
      unit: V
    ac_input_power:
      address: 12
      type: int16
      unit: W
    battery_soc:
      address: 843
      type: uint16
      unit: "%"

Výhody profilového přístupu

1. Žádné programování pro nová zařízení
Máte nové Modbus zařízení? Vytvořte YAML soubor s mapou registrů z datasheetu. Hotovo. Žádná Perl třída, žádná kompilace, žádné code review.

2. Okamžitá aktivace
Profily se načítají za běhu. Změny jsou účinné po reloadu konfigurace - bez restartu systému.

3. OEM zařízení triviálně zvládnutelná
Stejný střídač se prodává pod pěti různými značkami? Jeden řádek pro každý alias:

# vendor/noname_solar/hybrid_5000.yaml
isa: vendor/victron/multiplus_ii   # Stejné zařízení, jiný název

4. Komunitní příspěvky
Profily se vytvářejí snadněji než kód. Koncový uživatel může své zařízení integrovat sám a sdílet profil s ostatními.

Existující profily zařízení

Dodávaná knihovna profilů zahrnuje mimo jiné:

KategoriePříkladyRegistry
StřídačeVictron MultiPlus/Quattro, SMA, Fronius50-200
Bateriová úložištěECS BMS, Pylontech, Seplos100-400
VzduchotechnikaVents rekuperátory, Zehnder30-80
Tepelná čerpadlaRůzné60-150
ElektroměryEastron SDM, Carlo Gavazzi40-100

Tento seznam není konečný - ukazuje pouze, které profily již existují. Systém je navržen pro zařízení, o kterých dnes ještě nevíme.

DALI: Světlo s inteligencí

DALI (Digital Addressable Lighting Interface) je standard pro profesionální ovládání osvětlení. Dvouvodičová sběrnice, přes kterou lze individuálně ovládat až 64 svítidel.

Důležité pochopit: DALI svítidla fungují samostatně. Každé svítidlo má svou vlastní adresu a reaguje přímo na DALI příkazy. Hub není pro základní provoz nutný.

Co Hub přidává, je vyšší inteligence:

  • Simulace přítomnosti - Během dovolené nebo nepřítomnosti Hub zapíná a vypíná světla podle realistických vzorců, aby simuloval přítomnost
  • Protokolování využití - Která světla svítí jak dlouho? Kde se plýtvá energií?
  • Integrace do dashboardu - Přehled všech svítidel, dálkové ovládání přes aplikaci
  • Asistent zapomnětlivosti - Upozornění když světla svítí zbytečně, možnost vzdáleného vypnutí
  • Ovládání scén - Komplexní světelné nálady jedním příkazem
  • Časové plány - Automatické stmívání před spaním, budící světlo ráno

V naší vlajkové instalaci jdeme ještě dále: Tam jsou svítidla napájena stejnosměrně a přímo připojena k bateriovému úložišti. I při kompletním výpadku sítě funguje osvětlení - ale to je materiál na samostatnou případovou studii.

MQTT: Lingua franca IoT

MQTT (Message Queuing Telemetry Transport) je standardní protokol pro IoT komunikaci. Hub může fungovat jako MQTT klient i jako broker.

Typické integrace:

  • Home Assistant - Hub publikuje data ze senzorů, Home Assistant na ně reaguje
  • Node-RED - Vizuální programování automatizačních toků
  • InfluxDB + Grafana - Dlouhodobý sběr dat a vizualizace
  • Vlastní aplikace - Jakýkoli software, který mluví MQTT

SNMP: Monitoring sítě

Simple Network Management Protocol - standard pro monitoring síťových zařízení. Hub umí:

  • Monitorovat routery a switche (šířka pásma, chyby, teplota)
  • Dotazovat se na stav UPS (nabití baterie, zátěž, doba autonomie)
  • Integrovat tiskárny a další síťová zařízení

Kanálová architektura: Brána do světa

Filozofie: Generický pro nepředvídané

WHIP byl vyvinut se zvláštní filozofií: Systém má být schopen plnit úlohy, které jsme jako vývojáři nikdy nepředvídali.

Chytrá domácnost není izolovaný systém. Existuje v propojeném světě plném služeb, API a platforem. "Kanálová architektura" Hubu umožňuje integraci s více než 30 externími službami - a seznam roste.

Přehled dostupných kanálů

Umělá inteligence

  • Anthropic Claude - Pro rozhraní v přirozeném jazyce a inteligentní vyhodnocování
  • Ollama - Lokální LLM modely bez závislosti na cloudu
  • OpenWebUI - Webové rozhraní pro lokální AI

Cloudové platformy

  • AWS - Amazon Web Services pro škálování a zálohy
  • Azure - Microsoft Cloud Services

Komunikace a sociální sítě

  • Discord - Notifikace a ovládání přes chat
  • X/Twitter - Publikování stavových aktualizací (ano, opravdu!)
  • Reddit - Automatizované příspěvky
  • IRC - Klasický chatovací protokol
  • Gmail - E-mailové notifikace

Domácí síť

  • FritzBox - Detekce přítomnosti přes WiFi zařízení, protokol hovorů
  • UniFi - Monitoring sítě pro Ubiquiti infrastrukturu
  • OpenMediaVault - Monitoring NAS

Energie a solár

  • Victron VRM - Cloudové připojení pro Victron systémy
  • PVGIS - Prognóza solárního výnosu na základě meteorologických dat

Média a dohled

  • Kodi - Ovládání mediacentra
  • ZoneMinder - Video dohled

Úložiště a databáze

  • Nextcloud - Synchronizace souborů a kalendář
  • ownCloud - Alternativní cloudové úložiště
  • InfluxDB - Databáze časových řad pro data ze senzorů

Infrastruktura

  • Proxmox - Monitoring virtualizační platformy
  • Teltonika - Mobilní routery (LTE/5G záloha)

Kryptoměny

  • Bitcoin/Altcoins - Monitoring peněženek, dotazy na ceny

Vývoj a dokumentace

  • GitLab - CI/CD integrace, sledování issues
  • MediaWiki - Automatická dokumentace
  • TicketSystem - Workflow podpory

Příklady využití kanálů

Kanály umožňují scénáře, které na první pohled vypadají absurdně - ale pro někoho jsou přesně to pravé:

"Publikuj můj solární výnos na Twitter"

trigger: daily_at_sunset
action:
  channel: x
  message: "Dnes vyrobeno: {{ pv_daily_yield }} kWh ☀️"

"Upozorni mě na Discord když je pračka hotová"

trigger: power_drop
  device: pracka
  below: 5W
  for: 2min
action:
  channel: discord
  message: "@here Prádlo je hotové! 🧺"

"Rozsviť světlo když se můj telefon připojí k WiFi"

trigger: fritzbox_device_connected
  mac: "AA:BB:CC:DD:EE:FF"
action:
  dali: chodba_strop
  brightness: 80%

Shrnutí

WHIP Huby jsou inteligentním pojítkem mezi světem senzorů a aktorů v reálném čase a propojeným světem moderních IT systémů:

  • CAN-Ethernet most pro až 60 Nodes na Hub
  • Správa Nodes s identifikační ceremonií a uploadem GANGLION
  • Překladač protokolů pro Modbus, DALI, MQTT, SNMP
  • Integrační brána k 30+ externím službám
  • Datově řízený - konfigurace místo programování
  • Odolný vůči selhání díky hierarchické redundanci

Přitom vždy platí: Hub přidává inteligenci, ale nikdy není předpokladem pro základní provoz. WHIP systém funguje i tehdy, když selže vše kromě Nodes.

V následujících článcích série představíme konkrétní případy použití - od monitoringu fotovoltaiky přes inteligentní řízení vzduchotechniky až po odolné DC osvětlení.


Tento článek je součástí naší série o systému WHIP pro chytrou domácnost. Další články: [WHIP Nodes: Nejchytřejší uzly v chytré domácnosti]

]]>