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:
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...
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.
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. [Kész]
Elvi bekötési rajz:
Összeszerelés után a memóriakártyára jöhet:
- Raspbian telepítése,
- majd a Domoticz telepítése.
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.
UPDATE: a lenti szkript már régen elavult, helyette a könnyen beállítható RPIEasy-t ajánlom!
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:
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.