Hlavní navigace

OpenHAB a jeho instalace na Raspberry Pi

Jiří Pech 3. 8. 2015

Inteligentní dům a internet věcí jsou dva moderní a často skloňované buzzwordy. Jedním z nástrojů pro jejich ovládání je i open source a svobodný projekt openHAB. Tento článek popisuje jeho základní vlastnosti a dále pak jeho instalaci a nastavení na populárním jednodeskovém počítači Raspberry Pi.

Co je openHAB

OpenHAB je svobodný software, který slouží k řízení inteligentních domů. Sám o sobě neposkytuje přímé služby pro ovládání jednotlivých prvků (IoT), ale poskytuje jednotné prostředí pro sjednocení jejich ovládání pomocí webového rozhraní. Současně existují i aplikace pro iOS, Android a Windows Mobile, stáhnutelné z jednotlivých storů.

OpenHAB je naprogramován v Javě za pomocí frameworku OSGi, tudíž dokáže běžet všude tam, kde může běžet Java. Je pro něj k dispozici velké množství připravených modulů. Je doporučena Oracle Java JRE nebo JDK ve verzi 1.7 nebo 1.8, ale vyzkoušel jsem, že postačuje i OpenJDK, jak ostatně uvidíte příště. Jelikož je vhodné, aby takovýto software běžel neustále, je vhodné jej instalovat na nějaké energeticky úsporné zařízení nebo na zařízení, které je jinak stejně v provozu. Sami autoři doporučují jednodeskové počítače např. BeagleBone, UDOO nebo Raspberry Pi.

Z nich je asi nejdostupnější, a to i finančně, Raspberry Pi, a protože si myslím, že podobně jako mně se vám může někde válet odložené Raspberry Pi 1 (po upgradu na Raspberry Pi 2), použijeme jej pro instalaci. Nemáme-li žádné k dispozici, můžeme jej zakoupit např. na rpishop.cz.

Příprava Raspberry Pi

Použijte zcela běžnou instalaci Raspbianu, kterou si můžete stáhnout na stránkách pro stažení. Použijte přímo image pro Raspbian a ne NOOBS s více různými distribucemi. Raspbian si připravte na microSD kartu (nebo SD kartu v případě starších verzí Raspberry) obvyklým způsobem. Postačí i 4GB karta, na které bude po kompletní instalaci obsazeno asi 2,6 GB prostoru.

Předpokládám, že Raspberry Pi budete chtít mít někde stranou, ať nepřekáží, a budete u něj chtít mít minimum kabelů (kromě napájení nejlépe žádný), proto si pro něj pořiďte nějaký WiFi dongle. Pro prvotní nastavení WiFi sítě jej připojte ethernetovým kabelem (RJ-45) k nějakému switchi nebo routeru. Samozřejmě vám nic nebrání v tom mít Raspberry Pi trvale připojen ethernetovým kabelem, komunikace tak je spolehlivější, rychlejší a hlavně bezpečnější. Máte-li připojeno Raspberry k monitoru a klávesnici, pak můžete přeskočit následující odstavec a pokračujete počáteční konfigurací Raspbianu.

Pokud čtete následující odstavec, pak předpokládám, že máte pouze Raspberry Pi připojen pouze ethernetovým kabelem ke switchi a napájecím kabelem k PC nebo zdroji napětí. Vyčkejte cca minutu, než naběhne Raspbian. Nyní je třeba zjistit, jaké IP bylo Raspberry přiděleno. Použijte na mobilu či tabletu některý ze skenovacích nástrojů sítě pro Android nebo iOS (Fing, Network Tolls, Network Scanner…) nebo pokud máte v počítači UNIX (Linux, OS X…), můžete si síť proskenovat příkazem:

nmap -sP 10.0.0.0/24

kde 10.0.0.0 samozřejmě nahradíte IP adresou vaší sítě. Jakmile znáte IP adresu Raspberry (např. 10.0.0.2), už se kněmu přihlásíte snadno buď z Windows pomocí PuTTY nebo z UNIXu příkazem:

ssh pi@10.0.0.2

Přednastavené heslo je raspberry. Nyní si spusťte příkaz pro konfiguraci:

sudo raspi-config

a jste ve stejné situaci, jako kdyby jste poprvé spustili Raspberry připojené ke klávesnici a monitoru. Pozor pokud máte kartu s předinstalovanou verzí NOOBS, potřebujete mít monitor a klávesnici, neboť tam musíte při prvním startu vybrat, který z obsažených operačních systémů se bude využívat. Vyberte samozřejmě Raspbian.

Nyní by jste měli v obou případech být v situaci, že máte nabootovaný Raspbian a před vámi na monitoru je spuštěný program raspi-config. Ujistěte se zde, že máte nastaveno bootování do znakového režimu, pro videopaměť postačí nastavit 16 MB a nastavte si zvětšení oddílu na celou kartu. Ukončete raspi-config, upgradujte Raspberry a restartujte jej.

sudo apt-get update
sudo apt-get upgrade
sudo reboot

Pokud budete používat WiFI je nutné ji nyní nastavit. Doinstalujte si program wicd-curses příkazem:

sudo apt-get wicd-curses

a spusťte jej:

sudo wicd-curses

Nyní se můžete řídit pomocí nápovědy v zápatí. Nejprve po stisku klávesy P ověřte obecné nastavení a stiskem F10 jej potvďte. Dále vyberte pomocí kurzorových šipek síť kterou chcete používat a stiskněte kurzorovou šipku vpravo pro její nakonfigurování. Zadejte potřebné údaje (typ šifrování, přihlašovací jméno, heslo atd.) a stiskněte F10 pro potvrzení, k této síti se nyní připojíte pomocí klávesy C anebo Enter. Až bude vše hotovo, tak klávesou Q práci s programem ukončíte a o své úspěšnosti se přesvědčíte pomocí příkazu ifconfig

V případě neúspěchu opakujte předchozí postup než budete mít WiFi síť připojenu. Zapamatujte si IP adresu (např. 10.0.0.12). Nyní můžete Raspberry vypnout, odpojit ethernet kabel a opět zapnout. Pokuste se pomocí ssh připojit:

ssh pi@10.0.0.12

pokud jste neměnili heslo, pak je stále raspberry. Pokud zjistíte, že na této adrese nic neodpovídá, ověřte si výše popsaným způsobem, zda Raspberry nemá přidělenu odlišnou IP adresu, případně opakujte postup nastavení WiFi.

Tímto máte Raspberry Pi připraveno pro instalaci openHABu. Ještě ověřte přítomnost Javy, která by měla být v systému nainstalována defaultně příkazem java -version. Optimální odpověď na tento příkaz by měla znít asi takto:

java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) Client VM (build 25.0-b70, mixed mode)

Instalace openHAB

Tímto by jste měli mít splněny všechny prerekvizity pro instalaci openHAB, ke které nyní můžete přikročit. Podrobnosti k instalaci naleznete na webu openHAB.

Nejprve doplňte do seznamu repozitářů /etc/apt/sources.list následující řádek:

deb http://dl.bintray.com/openhab/apt-repo stable main

a obnovte seznam instalovatelných balíčků:

apt-get update

Nyní nainstalujte základní část openHABu příkazem:

sudo apt-get install openhab-runtime

a spusťte jej:

sudo /etc/init.d/openhab restart

a nastavte jeho defaultní spuštění při startu:

sudo update-rc.d openhab defaults

Máte-li nějaký specifický hardware, pro jehož ovládání chcete openhab použít můžete potřebné doplňky nyní nainstalovat příkazem sudo apt-get install openhab-addon-${addon-type}-${addon-name}. Seznam dostupných doplňků zjistíte příkazem apt-cache search openhab.

OpenHAB by měl nyní běžet na poru 8080, což můžete samozřejmě ověřit pomocí nmap. Pozor start openHABu chvíli trvá (v řádu spíše minut než sekund), proto buďte trpěliví, zejména při restartu systému. Běží-li openHAB, můžete se k němu již připojit pomocí webového prohlížeče např. na adrese:

http://10.0.0.12:8080

Pravděpodobně v prohlížeči obdržíte chybovou stránku se statusem:

HTTP ERROR 500
Problem accessing /openhab.app. Reason:
    Sitemap 'default' could not be found

To je v pořádku, protože openHAB není dosud nakonfigurován. Abyste si mohli openHAB prohlédnout a vyzkoušet jeho možnosti, nainstalujte si nyní Demo aplikaci ze serveru openhab.org.

OpenHAB demo

Stáhněte si poslední verzi openHAB demo ze stránky pro stahování. Např. příkazem:

wget https://bintray.com/artifact/download/openhab/bin/distribution-1.7.0-demo-configuration.zip

Balík rozbalte do nějakého vhodného adresáře:

mkdir demo
mv distribution-1.7.0-demo-configuration.zip demo
cd demo
unzip distribution-1.7.0-demo-configuration.zip demo

Nyní byste kromě souboru README.TXT měli vidět dva adresáře configurations a addons. Ty si nyní překopírujte na místo jejich určení:

sudo cp -r configurations /etc/openhab
sudo cp -r addons /usr/share/openhab

Z těchto příkazů současně vidíte, že openHAB v Raspbianu je umístěn v adresáři /usr/share/openhab a jeho konfigurace je v /etc/openhab. Nyní můžete openHab restartovat:

sudo /etc/init.d/openhab restart

a na demo se nyní můžete podívat pomocí webu na adrese:

http://10.0.0.2:8080/openhab.app?sitemap=demo

Aplikace pro iOS a pro Android

Pro ovládání openHABu existují aplikace jak pro iOS tak pro Android, které si můžete stáhnout z App Store anebo z Google Play. Stačí pak v aplikacích zadat IP adresu openHABu a můžete si na demu zkoušet stahovat a vytahovat okna, zhasínat a rozsvěcet a sledovat, jak se změna projevuje na ostatních zařízeních (na webu).

Závěr

V tomto článku jsme si představili jeden zajímavý software pro ovládání domácnosti a ukázali jsme si, jak jej nainstalovat na jednodeskový počítač Raspberry Pi. V příští části si ukážeme mnohem zajímavější způsob umístění openHABu a nainstalujeme si jej na router Turris.

Našli jste v článku chybu?

4. 8. 2015 12:40

V Jave bych problem nevidel. Ale ze dneska nekdo dobrovolne pouzije OSGI mne trochu znervoznuje.

18. 8. 2015 17:58

mericidum (neregistrovaný)

Mám to rozchozené. Kdyžtak se ozvi na info@mericidum.cz

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Lupa.cz: Kdo pochopí vtip, může jít do ČT vyvíjet weby

Kdo pochopí vtip, může jít do ČT vyvíjet weby

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?

Měšec.cz: Finančním poradcům hrozí vracení provizí

Finančním poradcům hrozí vracení provizí

Podnikatel.cz: E-Ježíšek si i letos zařádí. Nákupy od 2 do 5 tisíc

E-Ježíšek si i letos zařádí. Nákupy od 2 do 5 tisíc

Vitalia.cz: Jmenuje se Janina a žije bez cukru

Jmenuje se Janina a žije bez cukru

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Měšec.cz: Jak levně odeslat balík přímo z domu?

Jak levně odeslat balík přímo z domu?

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

Vitalia.cz: Znáte „černý detox“? Ani to nezkoušejte

Znáte „černý detox“? Ani to nezkoušejte

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka