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:

widgety

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?
DigiZone.cz: Jaká je Swisscom TV Air Free

Jaká je Swisscom TV Air Free

DigiZone.cz: Další programatické formáty

Další programatické formáty

DigiZone.cz: Digi Slovakia zařazuje stanice SPI

Digi Slovakia zařazuje stanice SPI

Vitalia.cz: 5 důvodů, proč jet na výlov rybníka

5 důvodů, proč jet na výlov rybníka

Měšec.cz: TEST: Vyzkoušeli jsme pražské taxikáře

TEST: Vyzkoušeli jsme pražské taxikáře

Lupa.cz: Cimrman má hry na YouTube i vlastní doodle

Cimrman má hry na YouTube i vlastní doodle

Vitalia.cz: dTest odhalil ten nejlepší kečup

dTest odhalil ten nejlepší kečup

120na80.cz: Co je padesátkrát sladší než cukr?

Co je padesátkrát sladší než cukr?

Lupa.cz: Jak levné procesory změnily svět?

Jak levné procesory změnily svět?

Vitalia.cz: Nová vakcína proti chřipce se aplikuje nosem

Nová vakcína proti chřipce se aplikuje nosem

Lupa.cz: Proč jsou firemní počítače pomalé?

Proč jsou firemní počítače pomalé?

DigiZone.cz: Wimbledon na Nova Sport až do 2019

Wimbledon na Nova Sport až do 2019

Vitalia.cz: Vodárny varují: Ve vodě z kohoutku jsou bakterie

Vodárny varují: Ve vodě z kohoutku jsou bakterie

Vitalia.cz: Test dětských svačinek: Tyhle ne!

Test dětských svačinek: Tyhle ne!

Lupa.cz: Další Češi si nechali vložit do těla čip

Další Češi si nechali vložit do těla čip

Podnikatel.cz: Nemá dluhy? Zjistíte to na poště

Nemá dluhy? Zjistíte to na poště

Lupa.cz: Adblock Plus začal prodávat reklamy

Adblock Plus začal prodávat reklamy

DigiZone.cz: Technisat připravuje trojici DAB

Technisat připravuje trojici DAB

Vitalia.cz: Muž, který miluje příliš. Ženám neimponuje

Muž, který miluje příliš. Ženám neimponuje

Podnikatel.cz: Letáky? Lidi zuří, ale ony stále fungují

Letáky? Lidi zuří, ale ony stále fungují