Teresa Foltová

← Zpátky

Published on Wed Nov 09 2022 14:25:00 GMT+0000 (Coordinated Universal Time) by Teresa

Architektura chytré domácnosti

Tento projekt představuje srdce mého domácího IT prostředí.

Hardware

Základem celého systému je úsporný jednodeskový počítač Orange Pi Zero 3 ve verzi s 2 GB RAM. K němu je připojený USB extension board za účelem většího počtu portů.  Orange Pi je připojený do počítačové sítě pomocí Ethernetu. Dále jsou k němu přes USB připojeny dva dongly - jeden pro Zigbee 3.0 a druhý pro Thread.

Software

Jako operační systém používám DietPi, což je vysoce optimalizovaná a odlehčená distribuce Debianu. Namísto instalace aplikací přímo do operačního systému jsem zvolila kontejnerizovaný přístup pomocí Dockeru, který je spravován přes webové rozhraní Portainer. Tím hlavním kontejnerem je Home Assistant - opensource systém pro správu a automatizaci chytré domácnosti. Jeho výhodou je, že běží zcela lokálně, což zvyšuje soukromí, kontrolu nad samotnými daty a možnost fungovat offline (což na druhou stranu je i nevýhoda, protože je potřeba ho hostovat na svém HW).

Integrace

Další velkou výhodou je možnost integrace jiných systémů chytré domácnosti - umožňuje spojení a ovládání zařízení ze SmartThings, Google Home, Tuya a mnoho jiných. Mezi mé nejpoužívanější patří:

Sítě a komunikační protokoly

WiFi

Část zařízení využívá běžné připojení přes WiFi, což je nejjednodušší způsob připojení, jelikož nepotřebuje další síťový hardware než ten, co má každý doma. Naopak nevýhoda je, že velké množství zařízení může zpomalovat celkovou propustnost a stabilitu sítě. WiFi zařízení také mají vysokou spotřebu, proto u zařízení napájených z baterie je je potřeba často měnit.

Zigbee

Kromě WiFi používám technologii ZigBee, která je přímo dělaná pro chytrou domácnost. Na rozdíl od WiFi je mnohem úspornější (baterie v zařízení vydrží několik měsíců až let) a díky mesh topologie je také stabilnější.

Softwarový stack: Zigbee2MQTT a Mosquitto

Místo přímé integrace do Home Assistanta (přes ZHA) využívám oddělenou architekturu založenou na protokolu MQTT. Stack se skládá ze dvou nezávislých Docker kontejnerů:

  1. Eclipse Mosquitto (MQTT Broker): Funguje jako centrála pro vyměňování zpráv - zajišťuje jejich extrémně rychlé předávání mezi různými službami na lokální síti.
  2. Zigbee2MQTT (Z2M): Kontejner, který komunikuje přes USB s koordinátorem, překládá proprietární Zigbee signály ze senzorů a odesílá je jako standardizované textové zprávy (JSON) do MQTT brokeru.

3. Topologie sítě a stabilita (Mesh routing)

Zigbee funguje jako mesh síť, což znamená, že její stabilita závisí na správném rozložení prvků v prostoru. Síť mám logicky rozdělenou na dvě skupiny zařízení:

4. Integrace do Home Assistanta a aplikační vrstva

Samotný Home Assistant běží v dalším kontejneru a napojuje se na MQTT broker. Díky funkci MQTT Auto-Discovery se nově spárovaný senzor v Zigbee2MQTT okamžitě a automaticky objeví v Home Assistantovi i se všemi svými entitami (např. teplota, vlhkost, stav baterie).

Thread

Poslední používanou technologií je Thread. Jedná se novější technologii, která je dost podobná Zigbee. Tím že je novější existuje pro ni méně zařízení a není tak “dospělá”. Podrobněji se jí věnuju ve vlastním projektu.

Praktické využití a automatizace

Všechna zařízení, ze kterých je potřeba číst informace či je ovládat jsou uložena v customizovatelném Dashboardu: Integrace

← Zpátky

Nedávné projekty