2. díl - OpenHAB na Raspberry Pi

Raspberry Pi používáme jako centrální jednotku systému Pi-Home. Je to jedno z nejpopulárnějších mini PC, výkonově bohatě dostačující pro naší aplikaci s odběrem ~ 5W. Díky jeho příznivé ceně a miniaturním rozměrům je doporučováno jej v rozvaděči zdvojit do zálohy.

Co budeme potřebovat:

RPi 4 B 2GB nebo vyšší (volitelně case / DIN držák)

SSD flash disk (v krajném případě lze nahradit kvalitnější microSD kartou)

USB HUB s externím napájenim (alespoň 25W) nebo USB adaptér

Napájení a propojení

Raspberry Pi je pro tuto aplikaci ideální napájet přímo z USB hubu s externím napájením. USB port Raspberry Pi může být také propojen do USB rozbočovače pro komunikaci s deskami Arduino Mega viz schéma zapojení. Veškerá komunikace s okolím je pak provaděna prostředníctvím sítě LAN.

Pi-Home - schéma zapojení OpenHAB

Software

V našich projektech používámé open source software OpenHAB 3 na deskách Raspberry Pi 4B. Níže naleznete podrobný postup jak si OpenHAB zprovoznit na svém RPi.

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.1 Formát hledejte .img.xz a verzi 32-bit.

2) Připojte SSD disk nebo microSD pro OpenHAB do počítače a stáhněte si prográmek EtcherPro 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) Zapojte SSD disk s OpenHAB, ethernetový kabel a USB napájení do RPi. 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)

http://192.168.4.30:8080

Vytvořte nového uživatele a zadejte heslo:

OpenHAB 3 - First Login​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í):

OpenHAB - Bindings

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.

OpenHAB - MQTT Broker Settings

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.

Pi-Home - nastavení OpenHAB

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é!

Pi-Home - nastavení OpenHAB - MQTT

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

Nahrávání skecthů Arduina z Raspberry Pi

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!

Komentáře

Your profile picture

Dobrý den, nevidím home folder ve Windows, vidím jen openHAB-addons, openHAB-conf, openHAB-sys a openHAB-userdata. Nemáte tip co dělám špatně? Díky

Your profile picture

Dobrý den,

přidal jste složky /home/openhabian a /usr/share/arduino/libraries/ viz návod ke konci do Samby?

.......

Tip: Přidejte si složky /home/openhabian a   /usr/share/arduino/libraries/ do Samby.....

.....

Pokud ano zkuste ještě restart. Pak by se ty složky měli objevit také. Pokud nejsou vidět je chyba někde v konfiguráku samby.

Your profile picture

Díky moc - funguje. Ten Tip jsem přehlídl.

Your profile picture

Co mi teda ještě vrtá hlavou, proč se přes Windows dostanu v pohodě do všech složek (včetně home), ale jediná lib mě nepustí - přístup odepřen, nestalo se vám? Díky

Your profile picture

V tom případě mohou být ještě práva složky libraries. Připojte se přes SSH a zkontrolujte práva složky:

cd /usr/share/arduino

ls -al

změnil bych pak klidně na 775 nebo i vyšší

sudo chmod -R 775 libraries

Přidat komentář

Nejlepší články z blogu

PiHome - Chytry dum mereni spotreby elektriny
Měření spotřeby domu po fázíchHodnocení: 
0%

V tomto příspěvku ukážeme jak lze řešit měření aktuální spotřeby po fázích v rodinném domě. Lze použít různé komerční zařízení, bohužel nativní MQTT zařízení jsme nenašli. V našem případě jsme tedy zvolili kvůli existující síti Z-Wave produkt Aeotec Home Energy Meter Gen5.

DIY Alarm
Alarm z existujících PIR senzorů v chytrém doměHodnocení: 
0%

V chytrém domě, kde PIR čidla neslouží jenom ke spínání světel při pohybu, je možné tyto čidla vyžít k zjištění přítomnosti osob v dané místnosti. Na těchto informacích se dá postavit poměrně spolehlivý domácí necertifikovaný zabezpečovací systém. V tomto postupu naleznete logiku jakým způsobem to může fungovat v softwaru OpenHAB 3 na našem demo příkladě chytrého domu.

Arduino PIR - možnost deaktivace, časovač a denní doba
Pokročilé nastavení PIR čidel pro řízení světel v OpenHABHodnocení: 
100%

PIR čidlo HC-SR501 obsahuje mechanické nastavení dosahu záběru a délky sepnutí. V inteligentním domě ale chceme mít možnost variabilně parametry PIR měnit. Ukážeme jak PIR čidlo nastavit tak, aby šlo v aplikaci nebo vypínačem deaktivovat a volitelně nastavovat délku svícení.

Centrální tablet pro chytrý dům
Centrální tablet pro ovládání chytrého domuHodnocení: 
80%

Centrální tablet nebo starší smartphone se perfektně hodí jako centrální ukazatel informací o stavu v domě a také k jeho ovládání. Zpravidla nahrazuje videovrátného a můžete si na něm pustit například oblíbenou hudbu při vaření nebo číst recepty. V článku popíšeme funkční příklad takového "wall" tabletu a jeho nastavení v tzv. kiosk módu, aby nesvítíl po nocích a reagoval jenom když je někdo poblíž.

Persistent linux live USB
Vytvoření persistent live USB LinuxuHodnocení: 
0%

Většina distribucí linuxu existuje v "live" provedení, tz. že po rozbalení jej můžete používat přímo z flash disku nebe externiho SSD. Po uložení práce se vám ale klasická live distribuce znovu uvede to výchozího nastavení. Toto řeší tzv. persistent live instalace. Ukážeme si jak jej vytvořit na Linuxu nebo Windows.

Jabltron propojení s chytrou domácností
Propojení Jablotronu s OpenHABHodnocení: 
0%

V tomto článku si představíme užitečný "binding" pro OpenHAB hlavně v tuzemských instalacích kde je hodně zastoupen alarm od firmy Jablotron. Propojení alarmu s chytrou domácností nám umožní reagovat na stav zakódování/odkodování domu. Typicky při zákodování domu zhasnout všechna světla, zavřít přívod vody, vypnout cirkulaci TUV, vypnout spínáne zásuvky a cokoliv dalšího co nepotřebujete v provozu nejste-li doma.

Thunderbird vs Exchange email and calendar
Thunderbird vs MS ExchangeHodnocení: 
0%

V tomto článku si ukážeme jak provozovat firemní poštu a kalendář postavenou na MS Exchange 20xx s Thunderbirdem na jakḱoliv distribuci Linuxu. Používám toto řešení k spokojenosti přes 8 let od verze Exchange 2013 - 2016 - 2019.

Konfigurace OpenVPN na MikroTiku
OpenVPN na routerech MikroTikHodnocení: 
90%

Máte-li doma smart-home, NAS atp., je dobré myslet na bezpečný přístup do vaší sítě zvenku. Zde bych aktuálně volil komerční router jako Turris, nebo levnější variantu routerů MikroTik. V tomto článku ukážeme postup, jak si zřídit zabezpečený přístup do domácí sítě z venku jak z počítače tak z mobilu pomocí OpenVPN na routerech MikroTik.

Nastavení OpenVPN v iOS
Nastavení OpenVPN připojení v iOSHodnocení: 
100%

V tomto článku najdete podrobný návod, jak se připojit k OpenVPN v iOS.

Nastavení OpenVPN na Androidu
Nastavení OpenVPN připojení v AndroiduHodnocení: 
100%

V tomto článku najdete podrobný návod, jak se připojit k OpenVPN na Androidu.