Na obrázku výše můžeme vidět přiklad reálného vzhledu UI v OpenHAB 3. V následujícím článku si zprovozníme instalaci OpenHAB 3 od úplného začátku.V domě jsme měli instalovanou verzi 2.x. Od roku 2021 používáme OpenHAB 3.x. Tutoriaĺ jsme aktualizovali na nejnovější aktuální verzi OpenHAB 3.4. Nejdříve se můžete podívat na demo našeho ready-to-use řešení z projektu OpenTUX
Hardware
Na to, abychom mohli OpenHAB nainstalovat, potřebujeme nějaký HW. Pokud si chcete jenom hrát, můžete si jej nainstalovat na svůj počítač nebo vyzkoušet online demo. Podporované jsou všechny základní OS včetně NAS od Synology nebo QNAP atp. Více zde.
My se zaměříme na reálnou instalaci, a to instalaci na Raspberry Pi 4 B. Raspberry Pi je miniaturní počítač s odběrem cca 5 W. Pořizovací náklad je cca ~ 1500 Kč. Aktuálně jsou tyto single board PC trochu nedostupné, nicméně na jaře 2023 už by to mělo být lepší. Vždy se ale něco najde, můžete použít i starší PC typu miniITX nebo jiný snigle board computer. V reálném provozu (vzhledem k pořizovací ceně) je nejlepší záloha pořízení dvou identických RPi umístěných v rozvaděči vedle sebe. V průmyslu bychom to mohli zapojit do clusteru. Doma je jednodušší mít záložní RPi i se zálohou úplně odpojený. V případě poruchy primárního Pi prostě odpojíme a zapojíme zálohu. Jednoduché, levné, spolehlivé.
Raspberry Pi si již můžete koupit u mnoho prodejců, můj oblíbený shop v ČR je rpishop.cz, kde jsem byl zatím vždy spokojen s pečlivostí balení a rychlostí dodání. Pokud nebude k dispozici zkuste idealo.de (taková německá Heureka).
Tip:
Pořiďte si taky nějakou krabičku, pokud chcete OpenHAB na DIN lištu tak krabičku s DIN držákem, pasivní chladič, robustnější SD kartu (např. SanDisk High Endurance). Dá se koupit rovnou zvýhodněná sada. V reálné instalaci používáme pro systém USB SSD disk místo SD karty. Rozšířit na SSD to můžete vždy, je to vhodné hlavně až začnete zapisovat z různých čidel a ukládat data do databáze již v produkční fázi. Provozovat databázi na SD kartě není úplně nejvhodnější. Postup, jak přehodit OS na SSD a z SD karty pouze bootovat, jsem našel zde. Verze Rpi 3 B+ a RPI 4B už umí nativně bootovat z USB disku (flash, USB). V tomto tutoriálu budeme pokračovat s SD kartou.
Software
V roce 2015 jsem začínal s OpenHAB 1 a musel vše postupně instalovat na Raspbian (operační systém pro RPi). Dnes ale zkusíme projekt openhabian, kde nám v komunitě připravili nejnovější verzi OpenHAB i s instalovanými addony (Samba, Mosquitto) v připraveném obrazu systemového disku tzv. image. Vypadá to na mnohem lehčí a rychlejší cestu. Pojďme na to.
Zdrojový postup nalezneme zde. Já se pokusím to rozebrat v polopatickém postupu.
1) Stáhněte si image openhabianu (openhabian = operační system raspbian s instalací OpenHAB)
https://github.com/openhab/openhabian/releases
Aktuální verze pro RPi 4 B v době psaní tohoto manuálu je 1.7.5 Formát hledejte .img.xz a verzi 32-bit. Pokd máte větší RPi než 4GB ram tak stáhněte 64-bit revizi.
2) Připojte SSD disk nebo microSD pro OpenHAB do počítače a stáhněte si prográmek Etcher. Pro Linux na Debian je tu přímo .deb. Pro Windows doporučuji Portable verzi. Jednoduše spusťte Etcher, vyberte image .img.xz a dejte Flash!
Poznámka: Pokud chcete image rozbalit na SSD USB disk a nevidíte jej, nastavte si v konfiguraci Etcheru - "Unsafe mód". Budťe opatrní, aby jste nepřepsali nějaký jiný disk, doporučuji veškeré ostatní externí disky odpojit a dvakrát zkontrolovat!!!
3) Supr, máme openhabian na SD kartě. Vyjměte kartu, vložte do RPi. Připojte k RPi ethernetový kabel vaší domácí sítě (DHCP router).
Víc potřebovat nebudeme. Zapojte napájení a jedem.....
Cože, žádný monitor? Žádné periferie? Nebojte, openHABian jako spoustu dalších linuxů nemá žádné GUI. Je to zbytečnost, co žere prostředky, a my chceme, aby žralo RPi co nejméně. Každy jeden watt při provozu 24/7 - 365 dní v roce hraje roli.
Když RPi připojíte k monitoru/TV přes HDMI, uvidíte jenom příkazový řádek. Pokud máte ale zapojený ethernetový kabel, váš OpenHAB dostal nejspíš adresu od DHCP routeru. Připojte se ke svému routeru a podívejte se do seznamu připojených zařízení, jakou IP má zařízení s hostname "openHABianPi". U mě je to dejme tomu 192.168.4.30. Počkejte cca 30 minut, stahují se potřebné balíky a konfiguruje se first boot. Po skončení zadejte do prohlížeče adresu vašeho OpenHAB (nahraďte ale adresu níže tou svou)
Vytvořte nového uživatele a zadejte heslo:
Vyplňte regionální nastavení, můžete z mapy vybrat lokaci a nainstalujte základní rozšíření. Pro začátek budeme potřebovat těchto 7 Addonů viz níže (klikněte pro zvětšení):
Po instalaci přejděte do Settings->Things a vytvořte nový Thing ikonou + vpravo dole. Zvolte typ MQTT Binding->MQTT Broker. Vyplňte libovolné UID a jako adresu serveru zadejte localhost. Potvrďte pomoci tlačítka Create Thing úplně dole.
Co ještě budeme potřebovat? Umět SSH přístup
Použijte SSH k přístupu k vašemu RPi. Toto budete používat při každém vývoji/zásahu/ladění, takže si SSH osvojte. Možná je nejvyšší čas seznámit se pro neznalé s terminálem (přikazový řádek v Linuxu), například v Průvodce příkazovým řádkem pro začátečníky v Linuxu. Vypadá to děsivě, ale je to ta nejkrásnější věc na Linuxu. Prostě funguje vždy a všude a vždy stejně.
Pro Windows 10 uživatele už existuje SSH podpora zabudovaná přes shell. Pro ostatní Windows uživatelé doporučuji Putty. Pro ty, co mají Linux, nemusím dál nic psát. Připojíme se přes SSH příkazem do terminálu. Pozor: IP adresu níže nahraďte tou svou z routeru pro openHABianPi.
Login: openhabian, Pass: openhabian
ssh openhabian@192.168.4.30
Po přihlášení zadejte příkaz
sudo openhabian-config
Zde provedeme základní nastavení. V System Settings můžete změnit hostname (název openhabu v síti) a případně změnit čas, umístnění nebo rozložení klávesnice ale hlavně změňte výchozí heslo pro všechny služby z openhabian na svoje heslo, které ideálně nepoužívate na internetu a bude sloužit primárně pro smarthome. Heslo změníte v položce Change passwords.
V Optional Components je důležitá část a to nainstalovat službu Mosquitto. Během instalace se vás to zeptá na heslo k MQTT Brokeru. Výchozí užviatel je openhabian zvolte si vlastní heslo, které bude chránit přenášení dat od senzorů a k relé!
Pro ARDUINO
Pokud chcete používat Arduino a nahrávat do něj sketche z Raspberry Pi, nezaobejdete se bez balíka arduino. Na RPi, kde nám běží OpenHAB se přihlaste přes SSH a nainstalujte utilitu schopnou uploadovat sketche do Arduina. Dalším příkazem přidejte uživatele openhabian do skupiny dialout:
sudo apt-get install arduino-core arduino-mk
sudo usermod -a -G dialout openhabian
V základu je OpenHAB přístupný přes Sambu tedy po sítí. Stačí vepsat do File Exploreru cestu např. \\192.168.4.30\ nebo v linuxu smb://192.168.4.30/ Dostanete se tak vzdáleně na své RPi kde v domovském adresáři /home/openhabian/ vytvořte adresáře se specifickým označením dané desky Arduino, například adresáře Ard0, Ard1, Ard2, atd. Do složek pak vždy nakopírujte makefile a sketch z příkladů ať už se jedná o ovládaní relé nebo sběr dat ze senzorů, viz další články.
Makefile - obsahuje informace o typu desky, použitých knihovnách a cestu v /dev/serial
Sketch - soubor s příponou .ino obsahující vlastní program
pokud půjdete na RPi přes SSH a v tomto adresáři spustíte příkaz sudo make upload, vytvoří se složka build-xxy a sketch se nahraje do příslušného Arduina. Nezapomínejte na knihovny. Každý sketch může mít nějaké jiné. Jsou definováné v makefilu. Pokud potřebujete nějaké další knihovny pro Arduino, stáhněte je do složky /usr/share/arduino/libraries/ na vašem RPi.
Tip: Přidejte si složky /home/openhabian a /usr/share/arduino/libraries/ do Samby, aby je bylo možné sdílet a lehce nahrávat nové knihovny a sketche do RPi. Sdílené složky přidáte vložením následujících bloků do konfiguračního soubory Samby na vašem RPi. Připojte se přes SSH a spusťte:
sudo nano /etc/samba/smb.conf
a na konec souboru pak přidejte:
[home]
comment=opt folder
path=/home/openhabian
writeable=yes
only guest=no
public=no
create mask=0664
directory mask=0775
veto files = /Thumbs.db/.DS_Store/._.DS_Store/.apdisk/._*/
delete veto files = yes
[lib]
comment=opt folder
path=/usr/share/arduino/libraries
writeable=yes
only guest=no
public=no
create mask=0664
directory mask=0775
veto files = /Thumbs.db/.DS_Store/._.DS_Store/.apdisk/._*/
delete veto files = yes
uložte stisknutím kláves CTRL+O a Enter. Restartujte RPi.
Pro vysvětlení:
Samba
Co je Samba si můžete přečíst například zde. Samba je v openhabianu již defaultně zapnutá, jednoduše s ní můžete po síti sdílet soubory s Windows, PiKodi, PiNAS a dalšími zařízeními. Podporuje také autentifikaci a šifrování, ale do internetu bych Sambu nepublikoval. Ve vnitřní síti je ideální. Ve Windows File Exploreru pak stačí zadat \\192.168.4.30\ a uvidíte nasdílené složky z OpenHAB. Autentifikace pomocí defaultních login/pass.
Mosquitto
Protokol MQTT (zatím 3.1.1) použijeme pro komunikaci mezi Arduinem a OpenHAB. Později i s dalšími zařízeními. Přes MQTT komunikuje obrovská hromada věcí a vy pak pouze v OpenHAB odposlechnete hodnoty a vykonáte nějakou akci, nebo to nějak zobrazíte, uložíte do grafu atp. MQTT se v praxi používá pro několik málo klientů (například domácí automatizace) až po průmyslové použití (tisíce klientů).
V tomto kroku máme nainstalovaný a zprovozněný OpenHAB. Pokud si vytvoříte zálohu SSD disku/SD karty a dáte jej do druhého RPi, máte postaráno o robustní zálohu. Nezapomeňte vždy průbežně zálohovat SSD disk!
Tabulka výdajů (2017):
Popis | Cena |
RPi 3 B+ sada (RPi, zdroj, krabička) | 1 500 Kč |
(Volitelně) Druhé RPi3 - backup | 850 Kč |
OpenHAB | 0 Kč |
Celkem |
2 350 Kč bez DPH |