Az otthonautomatizálási rendszerek, amelyek Orange Pi (vagy Raspberry Pi kompatibilis) kártyaszámítógépekre épülnek, egyre népszerűbbek. Azonban ezek a rendszerek érzékenyek lehetnek az áramkimaradásokra, áramingadozásokra és túláramokra. Saját tapasztalataim alapján szeretném bemutatni, hogyan tehetjük védetté openHAB/Orange Pi alapú otthonautomatizálási rendszerünket egy AQEX qUPS-P-SC-1.3 szuperkondenzátoros tápegység modul és a hozzá tartozó qups-guard szoftver segítségével.
Miért éppen Orange Pi?
Számos kártyaszámítógép közül az Orange Pi számomra azért vált be, mert ár/érték arányban kiváló, és a Raspberry Pi-hez hasonlóan széles körű támogatással rendelkezik. Könnyen telepíthető rá az OpenHAB, amely egy nyílt forrású otthonautomatizálási platform.
Amikor 2016 környékén elkezdtem a házat okosítani, már volt tapasztalatom Raspberry Pi SBC-kel és éppen a 3-as verzió került piacra. Kísérletező kedvem és az online információk alapján kialakult jó benyomásom miatt úgy gondoltam adok egy esélyt az Orange Pi PC2-nek, amely funkcionalitásban felül, árban alulmúlta a Pi 3-ast. Akkoriban az openHAB2-re építettem a rendszert és azóta is gondozásmentesen teszi a dolgát - system uptime 860 nap, öntözés, világítás, LED dekor, Marantz és LG OLED TV csüng rajta nagy megelégedésre. A stabilitása bámulatos.
De idestova 2016 óta eltelt barátok között is 9 év, szóval megérett a rendszer a frissítésre. Az openHAB már a 4.3-as verziónál tart és nyárra tervezik az 5-öst bevezetni. A hardvert illetően nincs szükség beavatkozásra, megfelelő mind teljesítményben, mind kapacitásban - csak egy új SD kártya kerül bele.
Kiegészítés:
Az OrangePi ökoszisztéma sokféle hardvert és szoftvert magába foglal, emiatt nem szabad elhallgatni a hátrányát sem. A Raspberry Pi alapítvány és a mögötte kialakult óriási közösség messze jobb támogatást biztosít a jövőbeni kihívásokkal szemben, amelyek a frissítések a kiberbiztonsági helyzet miatt akadnak bőven. Az OrangePi nem tud ekkora bázist maga mögött, így a frissítések, hibajavítások lassabban követik a fejlődést, ha egyáltalán. Ezzel a rizikóval mindenképpen számolni kell és ennek függvényében alakítani a rendszert.
Az áramkimaradások és áramingadozások veszélyei
Az áramkimaradások és áramingadozások számos problémát okozhatnak az otthonautomatizálási rendszerekben:
Adatvesztés: Az áramkimaradás során a rendszerben lévő adatok elveszhetnek, ami a konfiguráció újbóli beállítását és a rendszer újraindítását eredményezheti.
Hardverkárosodás: Az áramingadozások és túláramok károsíthatják a kártyaszámítógép hardverét, ami a rendszer meghibásodásához vezethet.
Funkcionalitás elvesztése: Az áramkimaradás során az otthonautomatizálási rendszer nem fog működni, ami azt jelenti, hogy nem tudjuk vezérelni a világítást, a fűtést, a biztonsági rendszert és más eszközöket. Természetesen, ha nem direkt kapcsolattal csatlakoznak az eszközök, akkor a hálózati komponenseket is védeni kell.
OpenHAB telepítése Debian alapú Orange Pi rendszereken
Az OpenHAB telepítése Debian alapú Orange Pi rendszereken, mint például az Armbian, viszonylag egyszerű az apt csomagkezelő segítségével. Az alábbi lépéseket követve gyorsan üzembe helyezhetjük a rendszert. Az SD kártyára kicsomagoljuk a legfrissebb Orange Pi PC2-höz tartozó Armbian képfájlt:
Elindítjuk és megvárjuk türelmesen, míg a folyamat véget ér:
Ezt követően az SD kártyát visszahelyezzük az Orange Pi PC2-be és elindítjuk (monitor, billentyűzet és hálózat csatlakoztatva vagy ssh-n keresztül). Az armbian kezdeti beállítási képernyője fogad, ahol a root jelszó, felhasználó és a nyelvi/lokalizációs beállításokat követően elindul a frissen telepített operációs rendszer. Célszerű elnevezni a gépet (sudo hostnamectl hostname <választott_gépnév>) majd leállítani, hogy végső helyén, zavaró perifériák nélkül önmagában dolgozhasson a headless szerverünk. Ezt követően ssh-n csatlakozunk be és folytatjuk a beállítást.
Rendszerfrissítés:
Mielőtt bármit telepítenénk, frissítsük a rendszer csomaglistáját és a már telepített csomagokat:
sudo apt update
sudo apt upgrade -y
Az openHAB otthonautomatizálási rendszer telepítését többféleképpen megtehetjük - választhatjuk a könnyű vagy a nehezebb utat.
A kényelmes mód
Az Armbian által felkínált, konfiguráló keretrendszerbe épített lehetőség.
Indítsuk el az armbian-config eszközt. A software menüpont alatt a HomeAutomation-t válasszuk. Rögtön az első menüpont a HAB001. Ezt kiválasztva és jóváhagyva elindul az automatizált telepítés.
A manuális mód
Az OpenHAB futtatásához Java szükséges. Telepítsük az OpenJDK-t:
sudo apt install openjdk-17-jdk -y
GPG kulcs és OpenHAB tároló hozzáadása:
Adjuk hozzá az OpenHAB GPG kulcsát és tárolóját a rendszerhez:
curl -fsSL "https://openhab.jfrog.io/artifactory/api/gpg/key/public" | gpg --dearmor > openhab.gpg
sudo mkdir /usr/share/keyrings sudo mv openhab.gpg /usr/share/keyrings
sudo chmod u=rw,g=r,o=r /usr/share/keyrings/openhab.gpg
echo 'deb [signed-by=/usr/share/keyrings/openhab.gpg] https://openhab.jfrog.io/artifactory/openhab-linuxpkg stable main' | sudo tee /etc/apt/sources.list.d/openhab.list
Frissítsük újra a csomaglistát, hogy az OpenHAB csomagok is elérhetőek legyenek, majd telepítsük az OpenHAB-ot:
sudo apt update
sudo apt install openhab -y
Indítsuk el az OpenHAB szolgáltatást, és engedélyezzük, hogy a rendszer indulásakor automatikusan elinduljon:
sudo systemctl daemon-reload
sudo systemctl start openhab
sudo systemctl enable openhab
Ellenőrizzük, hogy az OpenHAB sikeresen elindult-e:
sudo systemctl status openhab
Ha mindent jól csináltunk, az OpenHAB aktívként és futóként fog megjelenni.
Az OpenHAB webes felülete a 8080-as és a 8443-as porton érhető el. A böngészőben írjuk be az Orange Pi IP címét és a 8080-as portot (türelem, elsőre hosszú ideig tarthat a jetty indítása):
http://<orange_pi_ip_címe>:8080
https://<orange_pi_ip_címe>:8443
Az első indításkor az OpenHAB konfigurációs felülete fog megjelenni.
További tippek
openHABian: Alternatív megoldásként használhatjuk az openHABian-t, amely egy előre konfigurált image, kifejezetten Orange Pi-re és más hasonló eszközökre. Az openHABian leegyszerűsíti a telepítési és konfigurációs folyamatot.
Firewall: Ha tűzfalat használunk, ne felejtsük el megnyitni a 8080-as és/vagy a 8443 portot az OpenHAB számára.
Konfiguráció: Az OpenHAB konfigurálása egy külön témakör, amelyről rengeteg információt találhatunk az OpenHAB hivatalos dokumentációjában és a közösségi fórumokon.
Az AQEX qUPS-P-SC-1.3 és a qups-guard megoldás
Az AQEX qUPS-P-SC-1.3 egy szuperkondenzátor alapú tápegység modul, amely áthidalja a rövidebb áramszüneteket és áramingadozásokat. A modul a szuperkondenzátorokban tárolt energiát használja a rendszer táplálására, amíg az áramellátás helyre nem áll. A qups-guard szoftver pedig kommunikál a szünetmentes tápegység modullal, és elvégzi a biztonságos leállítást áramkimaradás esetén, illetve naplózza az eseményeket.
Az AQEX qUPS-P-SC-1.3 és a qups-guard előnyei
Rövid áramszünetek áthidalása: Az AQEX qUPS-P-SC-1.3 képes áthidalni a rövidebb áramszüneteket (néhány másodperctől néhány percig), így a rendszer folyamatosan működik.
Védelem az áramingadozások ellen: A modul védelmet nyújt az áramingadozások és túláramok ellen, megakadályozva a hardverkárosodást.
Biztonságos leállítás: A qups-guard szoftver gondoskodik a rendszer biztonságos leállításáról áramkimaradás esetén, így elkerülhető az adatvesztés és a hardverkárosodás.
Eseménynaplózás és beavatkozás: A qups-guard szoftver naplózza az eseményeket, így nyomon követhetjük az áramkimaradásokat és más eseményeket. Minden eseményre beállítható script vagy programhívás, csakúgy mint levélküldés vagy egyéb értesítés.
Az AQEX qUPS-P-SC-1.3 és a qups-guard telepítése
Csatlakoztassuk az AQEX qUPS-P-SC-1.3 modult az Orange Pi kártyaszámítógéphez. Csatlakoztassuk a modult az áramforráshoz.
Telepítsük a qups-guard szoftvert az Orange Pi-re, amihez szükség lesz a git repo kezelőre, a pip python csomagkezelőre, python3-venv virtuális környezetre, orangepi python könyvtárra és a kompatibilis OPi.GPIO csomagra. Telepítsük őket root felhasználóra váltva a továbbiak erejéig, mert a gpio hozzáféréshez ez szükséges (megoldható nélküle is):
sudo su
apt install git python3-pip python3-venv -y
Ezt követően klónozzuk a qups-guard katalógust egy megfelelő könyvtárba (~/ megfelelő):
git clone https://github.com/aqexhu/qups-guard.git
Lépjünk a könyvtárba és készítsük el a python virtuális környezetet:
cd qups-guard
python3 -m venv .
Ezt követően telepítsük a GPIO könyvtár OrangePi specifikus változatát, amely felel a megfelelő vezérlésért (figyeljünk, case sensitive):
./bin/python3 -m pip install OPi.GPIO
Siker esetén hasonló üzenet fogad:
Collecting OPi.GPIO
Downloading OPi.GPIO-0.5.2-py2.py3-none-any.whl (33 kB)
Installing collected packages: OPi.GPIO
Successfully installed OPi.GPIO-0.5.2
Konfiguráljuk a qups-guard szoftvert és hardvert a gyártó utasításai szerint. Állítsuk be a GT1-2 DIP kapcsolót egy általunk választott állásba és ennek megfelelően indítsuk el próbaképpen az szolgáltatást:
sudo ./bin/python3 qups-guard_orangepipc2.py 10 &
A háttérben fut a felügyeleti szoftver. A journal megtekintésével láthatjuk az üzeneteit:
journalctl -f
Kimenete:
Feb 19 14:37:22 kbopenhab python3[17926]: UPS Guard[17926]: UPS Guard system started.
Feb 19 14:37:22 kbopenhab python3[17926]: UPS Guard[17926]: Power OK
Feb 19 14:37:22 kbopenhab python3[17926]: UPS Guard[17926]: Capacitor in HIGH charge level
Ha változás történik, itt a naplóban rögzítésre kerül, illetve leállításra kerül az eszköz szabályos shutdown paranccsal, amennyiben betáp hiányában alacsony szintre kerül az energiatároló tartalma, ezáltal védve a szoftver- és hardvertermékeinket.
Amennyiben tartós áramszünet következik be, a rendszer figyel és az alsó küszöbnél, amikor a biztonságos leállítás még kivitelezhető, kiadja a leállítási parancsot és az Orange Pi leáll:
Feb 20 11:55:57 kbopenhab python3[21435]: UPS Guard[21435]: Power NOT OK
Broadcast message from root@orangepipc2 on pts/1 (Thu 2025-02-20 11:58:27 CET):
The system will power off now!
Connection to 192.168.199.198 closed by remote host.
Connection to 192.168.199.198 closed.
A logokból látható, hogy az én esetemben 2,5 perc telt el a tápellátás megszűnése és a biztonsági lekapcsolás között.
Állítsuk be a rendszert, hogy a qups-guard szoftver induláskor automatikusan induljon és mindig óvja a rendszert. A klónozott katalógus systemd könyvtárában található egy qups_guard.service állomány. Ez alapján testreszabható a szolgáltatás a systemd alrendszer számára. A helyi elérési utat és a DIP kapcsoló állás paraméterét kell módosítani, majd bemásolni az /etc/systemd/system könyvtárba. A következő két parancs regisztrálja és élesíti az indítást.
systemctl daemon-reload
systemctl enable qups-guard.service
Összefoglalás
Az AQEX qUPS-P-SC-1.3 szuperkondenzátoros tápegység modul és a qups-guard szoftver segítségével hatékonyan védhetjük meg Orange Pi alapú otthonautomatizálási rendszerünket az áramkimaradások, áramingadozások és túláramok ellen. Ez a megoldás biztosítja a rendszer folyamatos működését, megakadályozza az adatvesztést és a hardverkárosodást, valamint biztonságos leállítást tesz lehetővé áramkimaradás esetén.
Kiegészítés
Ha hosszabb áramszünetekre is szeretnénk védelmet a rendszerünknek, akkor az akkumulátoros HAT-et kell alkalmaznunk. Tapasztalataim szerint Magyarországon ritkák az áramszünetek, viszont a napelemes rendszerek elterjedése egyre nagyobb kihívások elé állítja az áramszolgáltatókat és a tőlük/rajtuk függő temérdek érzékeny okos-terméket.