Projekt 1: Domoticz szerver Raspberryn (Cerberus)
2017. július 31. írta: eNeS

Projekt 1: Domoticz szerver Raspberryn (Cerberus)

Első körben szükség lesz egy vezérlőre. Praktikus okból, mivel a vezérlő még elbírja, kapott pár szenzort is, olyanokat, amit a többi eszközömmel is tervezek használni. Az első projekt kódneve: CERBERUS.

Hosszas tervezgetés és próbálkozás után, az alábbi alkatrészekből összeállítottam egyet:

Eszköz Bruttó ár
Raspberry Pi Zero W (szállítási költséggel - pimoroni) 4610 Ft
GPIO Hammer Header - Male (pimoroni) 678 Ft
Lexar 8GB Class10 microSD memóriakártya (*) 1808 Ft
microUSB 5V2A hálózati töltő 1990 Ft
USB OTG kábel (*) 260 Ft
USB hangkártya (*) 205 Ft
Hangszóró 3,5mm jack 1W - óriási hanghatásra ne számítsunk (Mini Pillow Speaker) (*) 250 Ft
HC-SR501 (*) 270 Ft
RCWL-0516 (*) 205 Ft
DHT22 (*) 780 Ft
BH1750 (*) 300 Ft
Snody univerzális infratartó konzol 323 Ft
400C1 Kerek kötődoboz gumibevezetővel 65x35mm 180 Ft
410C5 Kötődoboz 150x110x70mm 688 Ft
Összesen: 12547 Ft

 

*: a megjelölt tételek ebay-ről származnak, liciten, nagyobb mennyiség vásárlásakor akár jóval olcsóbban, Magyarországon pedig ennél jóval drágábban beszerezhetőek

Egyéb szükséges tételek: csavarok, anya, tipli, kötegelő, kábelek, ragasztópisztoly, forrasztópáka, fúró, kalapács.


Felszerelve így fest:
dome01.jpg

Bal oldalán a fényérzékelő van üveg mögé rejtve, alul a hőmérséklet szenzor, középen a hangszóró kacsintgat, felül meg a mozgásérzékelő. Itt már feltűnt, hogy a fényérzékelőnek kevés az előtte nyitott 8mm átmérőjű nyílás, nagyobb kell, hogy elegendő fény jusson be hozzá, de a kézi fúró mindent megold...

dome02.jpg

A dobozba kukkantva látszik a Raspberry, az USB hangkártya és némi nemű kókány vezetékelés. Az USB hangkártya és a vezetékek nagyjából megadják a doboz minimális szélességét, még talán 2cm-el lehetett volna kisebb a doboz, de a következő dobozméret, amit találtam, már szűkös lett volna.

dome03.jpg

A fenti, állítható kerek dobozban azért nem középen van az infra mozgásérzékelő, mert felette a radaros kapott helyet, így lett kombinált mozgásérzékelő. A kombinált infra, mint azt már írtam a mozgásérzékelők témánál, nagyon praktikus, mivel a két érzékelő külön-külön tud néha hamis jelzést produkálni, együtt ennek az esélye már elhanyagolható. És nem szeretném, ha felhős időben, amikor hirtelen előbújik a felhők mögül a nap, azt mozgásnak észlelve bekapcsoljon a világítás, mikor senki sincs otthon... A Snody 3D forgatható infratartó pedig azért kell, mert ez nem riasztórendszer, hanem épületautomatizálás. Tehát igazából a nyitott ajtón keresztül nem vagyok rá kíváncsi, hogy mozgás van-e a szomszéd helyiségben, én arra a helyiségre vagyok kíváncsi, ahol elhelyeztem, ezért buktatom az érzékelőt a szükséges irányba, hogy azt lássa, amit kell.

Ami még hiányzik belőle, az a szünetmentesítés, a Raspberry hivatalos UPS Pico önmagában annyiba kerülne, mint az egész fenti szerkezet, így inkább további alternatívákat keresek, valamilyen LiPo akkus megoldással.

Elvi bekötési rajz:

dome_bekotes.jpg Összeszerelés után a memóriakártyára jöhet:

Ha ez megvan, bár a Domoticz-ban is lehetne, pl GPIO-n keresztül bizonyos eszközök állapotát lekérdezni, én inkább a többi eszközhöz tervezett MQTT-n keresztüli adatküldést fogom ezen is használni. Erre egy python programot rögtönöztem, ami még fejlesztésre szorul, de azért csatolom érdeklődők kedvéért. Előre szólok, hogy még erős fejlesztés alatt áll (főleg a hangjelző/sziréna része, amit netrádiónak is használni szándékozok), de alapvetően működik.

A működtető Python szkriptet átírtam, hogy újra tudjam hasznosítani, szétdobva több unit-ba a szükséges funkciókat:

https://github.com/enesbcs/multisensor-python-rpi

A ms_cer.py-be a lehetséges beállítások:

  • mqttServer jelenleg localhost-ra van állítva, egyébként az MQTT szerver IP címe
  • tempdelaysec hány másodpercenként kezdje küldeni az adatokat (30-240 másodperc ajánlott)
  • PIN_TMP a fenti bekötés szerint a BCM22-es csatlakozó
  • IDX_TMP ezt a Domoticz-ban felvett virtuális szenzor IDX címére kell állítani (hőmérséklet+páratartalom)
  • IDX_LHT fényérzékelő Domoticz IDX
  • PIN_MOTION1 az SR501 a BCM23-as csatlakozón
  • PIN_MOTION2 az RCWL a BCM16-os csatlakozón
  • IDX_MOTION_C Domoticz IDX a kombinált mozgásérzékeléshez, ha mindkét fenti érzékelő jelez
  • IDX_PITMP Domoticz IDX a Raspberry saját hőmérsékletét adja vissza
  • IDX_SIREN Domoticz IDX Választó kapcsoló, hangjelzésre (10,20,30,40,50,60 értékekkel), hangfájlok a sound mappában vannak
  • PIN_REED az utólag rábővített ajtónyitás-érzékelő BCM26-on
  • IDX_REED az ajtónyitás-érzékelő Domoticz IDX
  • extraként jelenlétérzékelés is került bele, de némi tesztidőszak után csak a WiFi-s megoldás, a MAC címek és a Domoticz IDX-ek összerendelését a config_presence.py fájlban kell elvégezni

A Domoticz 0,5-2% közti CPU időt és 137MB RAM-ot használd, de a saját Python szkriptem is elég éhes, 81MB RAM-ot, és 5-7% CPU-t kér, de azt mondanám, van még tartalék az egymagos Raspberry PI Zero-ban.

 

A bejegyzés trackback címe:

http://bitekmindenhol.blog.hu/api/trackback/id/tr7712697767

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.

Xebu 2017.08.02. 00:47:36

Mennyi áramot vesz fel az egység így? 5V-on működik, ugye?

eNeS 2017.08.02. 07:20:23

@Xebu: Igen, egy 5V 2A tápegységre van kötve, de első tesztjeimkor nem fogyasztott többet 200mA-nél. Előkeresem az USB Charger Doctort és megnézem azért ismét.

eNeS 2017.08.02. 19:18:07

@Xebu: USB Charger Doctor szerint 5.3V mellett induláskor 0,08-0,23A között ingadozik, aztán mikor a linux már elindult beáll 0,10-0,14A fogyasztás közé a fenti konfig. Próbáltam online netrádiót is hallgatni vele, nem növelte a fogyasztást.