Domoticz OpenWRT-n
2019. március 10. írta: eNeS

Domoticz OpenWRT-n

Következzen ezúttal egy hálózati routerrel kapcsolatos élménybeszámolóm.
Az OpenWRT-ről már írtam korábban, a jelen cikkben kipróbált GL-iNET gyártó különlegessége, hogy minden eszközük gyárilag OpenWRT-vel érkezik, így annak frissítése még egyszerűbb, mint a többi gyártó termékénél.
A routerekre alapvetően mint hálózati útválasztó eszközökre, illetve WiFi-s társaikról mint a telefonjaink csatlakozását lehetővé tevő eszközökre szoktunk gondolni. Nem mellesleg ez az első védelmi vonal a belső hálózatunk iránt érdeklődő, ritkán jó szándékú, külső látogatók ellen - a tűzfal.
Arra a router kiválasztásánál érdemes figyelni, hogy a 4MB tárhellyel rendelkezők támogatása már egyre kérdésesebb, a 8MB-al rendelkezők még használhatóak, de igazából 16MB és a felettivel szereltet érdemes beszerezni.

Az előre elkészített OpenWrt binárisok letöltése (megfelelő típushoz való), majd frissítése nem túl nagy kihívás általában:
https://openwrt.org/toh/start

Viszont, ha szeretnénk ennél kicsit többet-mást, pl van egy 16MB flash tárhellyel bíró routerünk és Domoticz szervernek akarjuk használni, annak sincs különösebb akadálya. Sőt, mint a képen látható, a korábban már bemutatott RTLSDR USB-s tunerkártyát is beüzemeltem vele.

glinet_rf.jpg

Kis probléma még - mielőtt nagyon belelkesülnénk - hogy a Domoticz benne van ugyan az OpenWrt tárolókban, így telepítése nem ördöngősség, viszont leálláskor az adatbázis nem mentődik el.. ami komoly sokkhatásként érheti a kezdő érdeklődőt, aki felvette minden eszközét Domoticzba, majd áramszünetkor azt látja, hogy minden üres. (persze a szünetmentesítést nem győzőm eléggé hangsúlyozni, de akkor is)

Az ötlet egyébként nem saját, innen származik:
https://albert-david.blogspot.com/2019/01/20-pocket-router-as-domoticz-home.html

Az illetőnek hasonló, de v2 routere van, így újraépítettem az autom8box OpenWrt build-jét, az általa készített Domoticz segédszkriptekkel, amik legalább szoftveres újraindításnál lementik az adatbázist.

Nekem egy ilyet sikerült beszereznem (v1 változat), cirka 22 dolláros áron, a rikító kanárisárga szín egy kicsit aggasztott eleinte, de végülis meg lehet szokni.

glinet_bottom.jpg

A belsejében még egyébként használható GPIO-kat is felfedezhet az érdeklődő:

glinet_inside.jpg

Akár egy régi Nokia 700mA-s USB töltőről is elfut, ha nem teszünk rá USB eszközt, ha igen, akkor azért egy erősebbel illik megtápolni.

Indítás után a hátoldalán feltüntetett SSID-re (GL-MT300N-xxx) csatlakozva a http://192.168.8.1 címen érhetjük el a webes beállító felületét. (alapjelszó: goodlife)

glinet_web.jpg

Itt máris látható, hogy a 16MB-os flash tárhelyéből 6MB szabad pillanatnyilag. Nincs egyébként különösebb gond ezzel a gyártó által átszabott felülettel sem, de ha rákattintunk az Advanced settings-re, akkor máris továbbléphetünk az OpenWRT natív felületére:

 glinet_web_adv.png

Itt aztán észrevehető a lap alján, hogy egy aránylag régebbi, 15.05-ös verzió ketyeg a masinán. De segond, a System->Backup/Flash firmware menüpontban egyszerűen ki tudunk tallózni egy aktuális, biztonsági frissítésekkel ellátott képfájlt, ami az openwrt.org-ról beszerezhető.

Természetesen a Domoticz-ot az OpenWRT csomagkezelőjén keresztül is feltelepíthetnénk, de előre el is készíthetünk egy képfájlt az openwrt "imagebuilder" nevű segédprogramjával, ami minden szükséges elemet tartalmazni fog domoticz, mosquitto, valamint opcionálisan az általam használt RTLSDR-hez az rtl_433 csomag, valamint minden szükséges függőségük. És még az autom8box projektből a szükséges szkripteket érdemes átemelni és eleve beilleszteni, hogy a domoticz automatikusan elinduljon, illetve szabályos újraindításnál elmentse a beállításait.
https://github.com/hackboxguy/lede-a5v11/tree/master/configs/gl-mt300nv2

Ráadásként a Domoticz indítását még tovább kellett hekkelni, mivel domoticz felhasználóként indította az rtl_433 alfolyamatot, így az nem fért hozzá az rtlsdr usb eszközhöz.. amire biztos lenne elegáns megoldás is, ám egyszerűen úgy oldottam meg a problémát, hogy root joggal fut maga a domoticz is, és minden alfolyamata. (nem túl biztonságos, direktben nem célszerű kiengedni internet felé így az eszközt, de belső hálózaton vagy vpn-en nagy gondot nem okozhat) További probléma, hogy az első rádión vett hőmérsékletadat után a következő rtl_433 folyamatot paraméterezés nélkül hívta meg a Domoticz, ami így természetesen többet nem működött. Ez valószínű Domoticz oldali probléma, amit egy újrafordítás egy mai build-ből megoldott volna, de kerülő megoldásként egy előtét-szkripttel oldottam meg.

Azok kedvéért, akiknek pont ilyen routerük van, és kihagynák az alábbi lépéseket, a kész firmware letölthető innen: gl-inet-mt300n

Akik nem ijednek meg egy kis konzolos munkától, első lépésként töltsék le a szükséges szkripteket:

git clone https://github.com/enesbcs/openwrt-mt-domo.git

Futtassuk a download.sh állományt.

Amiben érdeklődők kedvéért az alábbi parancsok szerepelnek:


sudo apt-get install build-essential libncurses5-dev zlib1g-dev gawk git gettext libssl-dev xsltproc wget unzip python
wget http://downloads.openwrt.org/releases/18.06.2/targets/ramips/mt7620/openwrt-imagebuilder-18.06.2-ramips-mt7620.Linux-x86_64.tar.xz
tar xf openwrt-imagebuilder-18.06.2-ramips-mt7620.Linux-x86_64.tar.xz

Készítsük el az ehhez az eszközhöz tartozó és szükséges csomagokkal rendelkező lemezképet az mkwrtimg.sh futtatásával.

Ami érdeklődők kedvéért az alábbiakat tartalmazza:

cd openwrt-imagebuilder-18.06.2-ramips-mt7620.Linux-x86_64/
make image PROFILE=gl-mt300n FILES="files/" PACKAGES="libmosquitto-nossl -libmosquitto-ssl domoticz mosquitto mosquitto-client uhttpd uhttpd-mod-ubus libiwinfo-lua luci-base luci-app-firewall luci-mod-admin-full luci-theme-bootstrap kmod-usb-storage block-mount kmod-usb-ohci kmod-usb-uhci -ppp -ppp-mod-pppoe -ip6tables -odhcp6c -kmod-ipv6 -kmod-ip6tables -luci-proto-ipv6 -luci-proto-ppp -ppp-mod-pppoe dnsmasq -odhcpd-ipv6only -libopenzwave rtl_433 -libopenssl -libip6tc"

A legenerált állományok sikeres futtatás után (internetkapcsolat kell a szükséges fájlok letöltéséhez is) a bin/targets/ramips/mt7620 mappába kerülnek. Mivel a Domoticz önmagában 9MB-os csomag, így kevéssé meglepő módon az alap 3-4MB méretnél nagyobb, 14MB méretű sysupgrade.bin fájlt kapunk.
Az OpenWRT menüjében a fent írt Backup/Flash Firmware menüpontban betöltve frissíthető ezzel az általunk készített image fájllal. (1.41MB használható szabadon a telepítését követően)
A frissítést ajánlott kábeles kapcsolaton keresztül kivitelezni. Ha sikeresen feltöltődött, akkor indítsuk újra a kütyüt, megjelenik ezúttal egy autom8box nevű WiFi SSID, amire a szokásos goodlife jelszóval tudunk kapcsolódni és a http://192.168.8.1 címen elérhető az OpenWRT menüje.

glinet_openwrt.jpg

Illetve a http://192.168.8.1:8080 címen elérhető egy jelszó nélküli Domoticz 4.9700!

glinet_domo1.jpg

Fontos, hogy a szükséges beállítások, felhasználó, jelszó, eszközök felvitelét követően az OpenWRT Luci menüje segítségével indítsuk újra a routert (System->Reboot), ekkor menti el a beállításokat! (valami okból kifolyólag a Domoticz menüben levő újraindítás nem működik)
Ha nem nyeri el a tetszésünket, hogy a tápellátás megszűnésekor minden beállítás elvész, akkor használjunk egy jó Raspberryt inkább e helyett... vagy készítsünk jobb szkripteket, amik sűrűbben mentenek.

Amint látható a fenti képen az RTL-SDR-t is könnyű beállítani: az OpenWRT Status->System Log szerint a kernel felismerte az USB-re csatlakoztatott eszközt:

kern.info kernel: [ 5.281580] usb 1-1: new high-speed USB device number 2 using ehci-platform

Illetve a korábbi cikkben levő rádiós hőmérő is szépen szolgáltatja az adatokat az eseménynapló szerint:

daemon.info domoticz: Domoticz is starting up....
daemon.info domoticz: Domoticz running...daemon.info domoticz: (rtl) Temp + Humidity (Prologue sensor)
daemon.info domoticz[1373]: 2019-02-28 20:27:07.334 (rtl) Temp + Humidity (Prologue sensor)

Összegezve tehát, használata  a leálláskor történő adatvesztés miatt nem tekinthető teljes értékűnek, főleg ha szükségünk van esetleg a szenzorok mérési eredményeire. Ha csak automatizálni akarunk vele, és nem érdekel minket, mikor hány fok volt, akkor esetleg használható ilyen célokra. De sem árban, sem fogyasztásban nem jövünk ki jobban, mintha egy Raspberry PI Zero W-re tennénk fel a Domoticz-ot.

A bejegyzés trackback címe:

https://bitekmindenhol.blog.hu/api/trackback/id/tr3314668689

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.