Projekt 5: ESP8266 WiFi multiszenzor (Therma)

Az előző ESP8266 projektem sikerén felbuzdulva újabb szenzort készítettem, ezúttal kissé nagyobb dobozba és beáldoztam hozzá egy liciten, olcsón szerzett kétoldalú protolapot, amire merészen ráforrasztottam a D1 minit. (Amit kissé elhamarkodtam, mert előbb nem ártott volna összedugdosni mindent, és kipróbálni, de erre később visszatérek.)

A korábbi nagyobb NodeMCU 0.9 hardver után ezúttal a D1 Minire (klón, nem eredeti) esett a választásom, a kisebb méret és nem utolsó sorban a kedvező ár miatt, ám mint kiderült ennek feszültségszabályozója miatt nem ideális választás a radaros megoldáshoz.
A korábban használt MiniPIR-t száműztem az eszözkészletemből a rövid hatótáv miatt, és visszatértem a HC-SR501-re, ami a nagyobb dobozban kényelmesen el is fér. A SOT23->DIP10 átalakítót is mellőztem az ÉS kapuval együtt a forrasztás professzionális volta miatt, úgy döntöttem mégis inkább szoftveresen közösítem a két mozgásérzékelő jelzését.

Íme a szükséges eszközök listája és jelen áruk a nagy e-piacon:

Eszköz Bruttó ár
D1 Mini ESP8266 fejlesztői lap (*) 800 Ft
5x7cm kétoldalú protolap (*) 200 Ft
5V1A hálózati töltő, USB (*) 360 Ft
2m MicroUSB töltőkábel (*) 380 Ft
2x4 csatlakozós beforrasztható terminál (*) 2 x 20Ft
2 csatlakozós beforrasztható csavaros terminál (*) 30 Ft
3 csatlakozós beforrasztható csavaros terminál (*) 49 Ft
HC-SR501 (*) 270 Ft
RCWL-0516 (*) 201 Ft
10V 2000uF kondenzátor 60 Ft
10kohm ellenállás 30 Ft
10cm USB-microUSB kábel (*) 200 Ft
microUSB DIP panel (*) 200 Ft
DHT22 (*) 649 Ft
4.7K ellenállás 10 Ft
BH1750 (*) 274 Ft
Vízérzékelő 3 csatlakozós, analóg (*) 200 Ft
Műanyag doboz 80x50x21 (*) 200 Ft
Piezo buzzer (*) 200 Ft
300 ohm ellenállás 10 Ft
Egy hajlított fémlap talpnak, és nehezék az aljára ellensúlynak ismeretlen
135x75x50mm műanyag műszerdoboz 813 Ft
1db 20mm átmérőjű kerek üvegbúra (*) 23 Ft
Összesen: 4999 Ft

 

Az árakon látszik, hogy az ESP modul mellett a DHT22 a másik drága tétel, ám a +/- 0.5 fok mérési pontosságon alul nem akarom adni. A műanyag dobozt Magyarországon vettem. :)

Hogy ne áruljak zsákbamacskát, az eredmény így néz ki (standard műanyag doboz, egy kis festés biztos dobna rajta):

p5_01_front.jpg

Ezúttal talpra szerelt megoldást készítettem, mivel szekrény tetejére kerül, és háttal lesz az ablaknak, így a fényérzékelő a hátuljára került. A hátul kikandikáló két kábel közül az egyik 5V táp, a másik egy 4 eres kábel (cirka 1.8m), ami a vízérzékelőhöz vezet a padlóra.

p5_02_back.jpg

Első nekifutásra úgy tűnt még sok is a lapon található GPIO-k száma, de aztán végül csak lett mindennek célja.

Elvi bekötési rajz:

 p5.jpg

ESP lábkiosztás:

Láb cimke Alternatív megnevezés Rákötött eszköz
TX GPIO1/D10 -
RX GPIO3/D9 -
D1 GPIO5/SCL BH1750-SCL
D2 GPIO4/SDA BH1750-SDA
D3 GPIO0 -
D4 GPIO2 -
A0 TOUT Vízérzékelő analóg
D0 GPIO16/WAKE Buzzer +
D5 GPIO14 SR501 OUT
D6 GPIO12 RCWL OUT
D7 GPIO13 DHT22 DATA
D8 GPIO15 Vízérzékelő +

 

Első lépés, némi furkálás után a HC-SR501 beillesztése, beragasztott műanyag anyákra csavarozása, DHT22 becsavarozás.

p5_03_phase1.jpg

Ezek tűs csatlakozót kaptak, ami majd a panelra forrasztott csatlakozósorra illeszkedik. A panel alsó oldala, mely a szokásos rejtett radaros mozgásérzékelőt is tartalmazza így fest:

p5_04_board.jpg

Látható, hogy sokat nem morfondíroztam a távtartók kérdésén, csavaranyák teljesen megfeleltek a célra.

 p5_05_inside.jpg

A D1 Mini azért balra néz, hogy éppen a WiFi AP-ra tekintsen, egyébként fektetve is rá tudtam volna helyezni a protolapra. Bár az is igaz, hogy érdemes minél messzebb és eltérő irányban beépíteni az RCWL radarhoz képest. De még ez is kevés volt ez esetben. Használok Raspberryvel és NodeMCU-val is RCWL radart, és eddig nem volt problémám velük, a D1 mini feszültségszabályzója viszont olyannyira gyengének tűnik, hogy az RCWL-t rákötve az folyamatosan mozgást (OUT lábon 3,5V) jelzett! Megmértem, a D1 5V lábán 4,6V-ot adott le.. ezek szerint ez kevés, a NodeMCU-ra átkötöttem ugyanezt a radart és ott 5,02V-ot mértem, és rendben működött - csak mozgásra adott jelet! Némi morfondírozás után beáldoztam egy 10cm-es microUSB kábelt, félbevágtam, ráforrasztottam egy microUSB DIP adapterre, és erről vettem le egy huszáros Y elosztóval a szükséges 5V tápot (és GND-t) a radarnak. Amit először a képen látható módon megosztott az SR501-el, de ettől az lett instabil, így végül az SR501-et visszakötöttem a D1 Mini 5V és GND lábaira, így már nagyjából jónak tűnt. Annyi apró problémával, hogy a tápforrás feszültségingadozása miatt téves jelzések érkeztek a radaros érzékelőről néha, így némi utánaolvasás után az 5V és GND közé tettem egy 2000uF kondenzátort, az OUT és GND közé pedig egy 10k ellenállást, így nagyából stabilizálódott a helyzet.
Egészen addig, míg össze nem csavaroztam mindent, mert azután ismét megjelent némi zavar, de az már a WiFi miatt lehet.. 3 másodpercnél rövidebb jelzések, szoftveresen ezt megpróbálom még szűrni, bár a kombinált használati mód miatt ezek hatása csekély.

A jobb fent látható buzzer piros kábelére (+) egy 300 ohmos ellenállást is applikáltam, mivel a közös GND-n keresztül (?) némi háttérbúgást felszedett.

A doboz hátuljának kinevezett fedőn pedig a fényérzékelő látható, I2C csatlakozókra kötve.

Összességében látható, hogy ez a doboz elég tágas, 2 centivel lehetett volna alacsonyabb is, illetve mélységből is elég lett volna a fele, ha nem 90 fokkal elforgatva szerettem volna látni a D1 mini modult.

És végül a 4 eres kábellel külön kis dobozba helyezett vízérzékelő:

p5_06_water.jpg

A felirat feletti elektronikát nem tervezték úgy, hogy víz érje, így vízálló FBS ragasztóval vízhatlanítottam, a réz érzékelők lefelé állnak, a dobozt pedig alul és oldalt megfúrtam, hogy befolyjon a víz.

És hogy minek a vízérzékelő?
Nos jelentem csőtörés esetére, csaptelep mellé szerintem praktikus. Inkább ne legyen szükség rá, de én speciel az alattam levő lakás eláztatásával kapcsolatos újrafestést kihagynám az éves költségkeretemből.

Szoftver

Természetesen a mindenre is jó ESPEasy került fel a D1 Mini-re. Az elérhető 12 darab eszközhelyből 11-et felhasználtam, ebből kettő Dummy változó, globális változónak a szabályok számára.

p5_esp1.jpg

p5_esp2.jpg

p5_esp3.jpg

A szabályok még fejlesztés alatt, jelen változatban az alábbit használom:

- az 1-es időzítő figyeli és állítja vissza a kombinált mozgásérzékelés jelzését, ha valamelyik (PIR vagy radar) szerint már nincs mozgás
- a 2-es időzítő kapcsolja be a vízérzékelő tápellátását, majd ha az analóg érték nagyobb mint 20, jelzi a víz jelenlétét

On System#Boot do
gpio,16,0
gpio,15,0
settx,1
TaskValueSet,8,1,0
TaskValueSet,8,4,0
Publish domoticz/in,{"idx":61,"nvalue":0.00,"svalue":"Off"}
Publish domoticz/in,{"idx":64,"nvalue":0.00,"svalue":"Off"}
timerset,2,60
endon

on pir#Switch>0 do
if [radar#Switch]>0
event,motiondetected
endif
endon

on radar#Switch>0 do
if [pir#Switch]>0
event,motiondetected
endif
endon

on radar#Switch<1 do
event,radarnomotion
endon

on motiondetected do
if [motion#Y]<1
TaskValueSet,8,1,1
Publish domoticz/in,{"idx":61,"nvalue":1.00,"svalue":"On", "RSSI": [RSSI#RSSI]}
timerSet,1,15
endif
endon

on Rules#Timer=1 do
TaskValueSet,8,2,([pir#Switch]+[radar#Switch])
if [motion#S]<2
TaskValueSet,8,1,0
Publish domoticz/in,{"idx":61,"nvalue":0.00,"svalue":"Off", "RSSI": [RSSI#RSSI]}
else
timerSet,1,10
endif
endon

on Rules#Timer=2 do
gpio,15,1
endon

on checkwater do
if [motion#B]<1
Publish domoticz/in,{"idx":64,"nvalue":0.00,"svalue":"Off", "RSSI": [RSSI#RSSI]}
else
Publish domoticz/in,{"idx":64,"nvalue":1.00,"svalue":"On", "RSSI": [RSSI#RSSI]}
endif
endon

on waterpower#Switch>0 do
taskrun,5
if [water#Analog]>20
TaskValueSet,8,4,1
else
TaskValueSet,8,4,0
endif
gpio,15,0
TaskValueSet,11,1,([motion#A]+[motion#B])
if [global#C]=1.0
event,checkwater
TaskValueSet,8,3,[motion#B]
endif
timerset,2,60
endon

A bejegyzés trackback címe:

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

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.

Támogatók:
okosotthon.jpg
allterco.jpg

Utolsó kommentek

  • szenorb: Hello. Bekötöttem 12V-ra , a bemetére egy mozgás érzékelőt kötöttem. Szépen kapcsol a relé a késle... (2023.06.14. 06:48) Shelly okosrelé (Shelly1)
  • Melanoheliophobia: Üdv! Kb. 2 éve vásároltam két ugyanilyen okos izzót. Sajnos az egyik még garancia idő alatt eltávo... (2023.05.03. 16:50) Shelly Vintage okosizzó
  • eNeS: Lehetséges, bár az ESP8266-ot lassan ideje elfelejteni, ha nem helyi hálózatra akarsz vele forgalm... (2023.04.02. 08:43) Tasmota szkriptek
  • eNeS: @tomih: Thonnyban rebootot nyomva nekem se megy az NTP. De mikor lekapcsoltam a Thonnyt és rebooto... (2023.04.02. 08:40) Raspberry Pico és a LAN (W5100S-EVB-Pico)
  • krump_lee: Kedves eNeS! ESP8266 tasmota-val szenvedek, hiemq kapcsolat sehogy nem jön össze, sehol nem talál... (2023.04.02. 08:31) Tasmota szkriptek
  • Utolsó 20

Címkék

433mhz (12) alkatrész (22) alternatív kapcsoló (2) amg8833 (1) analóg (2) android (1) arduinoeasy (5) audio (1) automatizálás (3) bemenet (3) bk7231n (1) ble (1) blitzwolf (4) bluetooth (9) bridge (2) camhi (2) csináld magad (22) dimmer (1) diy (28) do-it-yourself (27) domoticz (11) ds18b20 (1) ebay (3) érintő (2) érintőkapcsoló (7) érzékelő (11) esp-01 (2) esp32 (11) esp8266 (21) espeasy (2) espurna (1) esp projekt (18) Eview7 (1) ewelink (1) feldolgozó (1) felhő (1) fényérzékelő (1) firmware (7) flame detector (1) fogyasztásmérő (5) ftdi (1) füstérzékelő (1) gázérzékelő (1) gpio (1) hang (4) hangjelző (1) hőmérséklet (22) https (1) ikea (1) impulzus relé (1) izzó (2) javascript (1) jelenlétérzékelő (3) kamera (18) keresztkapcsoló (1) kézmozdulat (1) kijelző (3) kimenet (21) konnektor (8) lan (9) lángérzékelő (2) led (3) linux (4) logic level converter (1) lua (1) lux (1) maple mini (2) mcu (3) micropython (1) mikrovezérlő (2) milkv (1) mobil (1) mosfet (1) mozgás (5) mpyeasy (4) mq-2 (2) mqtt (3) működtető rendszer (5) multiroom (1) nedvesség (1) neo (1) neopixel (1) Node-RED (1) nvr (4) nyitás (7) okosház (4) okosizzó (3) okosotthon (8) oled (1) onvif (8) openbeken (1) opencv (1) openwrt (4) orange pi (4) páratartalom (6) php (1) pico (1) pi pico (2) poe (1) programozás (9) projekt (25) proximity olvasó (1) python (2) raspberry (14) raspberry projekt (6) raspbian (1) reed (1) relé (27) rf (2) rgb (6) rock pi (1) rögzítő (2) rp2 (1) rpieasy (1) rtc (1) shelly (24) smartwise (1) solid state relay (1) sonoff (20) SonOTA (1) soros (1) ssl (1) ssr (1) stm32 (4) szenzor (11) szilárdtest relé (1) szintillesztő (2) sziréna (1) szkript (3) szünetmentesítés (4) t1 (1) tasmota (8) távirányító (3) Telegram (1) termékteszt (85) termosztát (2) touch (2) ups (5) usb (7) usb hub (1) valós idejű óra (1) vezérlések (20) vezérlő (5) világítás (5) villanykapcsoló (12) webkamera (1) wiegand (1) wifi (32) ws2812 (1) xiaomi (5) xm (4) xmeye (4) yoosee (1) zigbee (16) zwave (3) Címkefelhő
süti beállítások módosítása