Ugyan létezik több, készen kapható eszköz, amivel meg lehet oldani a feladatot - én is egy kész ESP8266 alapú Yunshan relét fogtam be először a célra - viszont a legtöbb (általam ismert olcsó) megoldás csak az integrált antennájával rendelkezik, ami azt kell mondjam, kültéren elég sovány tud lenni, különösen, ha mindezt beépítjük egy dobozba, ahol netán fém alkatrészek is takarhatják.
Aki professzionális, kész megoldásra vágyik ezeket nézegesse inkább:
- Door Master 3
- ASC Wifi/Bluetooth Controller
- SmartWise garázskapu vezérlő (bár ennek 5V tápellátását nem tartom túl praktikusnak, és nincs külső antennája)
Természetesen aki a blog visszatérő olvasója, tudja, hogy nem vagyok a Felhős, gyári megoldások feltétlen híve, még akkor se, ha potom 25 ezer forintért megvehetném. Inkább összerakom háromezerért...
Terveztem tehát egy minél kevesebb alkatrészből összeállítható, cserélhető antennával rendelkező céleszközt.
Szükséges alkatrészek listája:
Eszköz | Bruttó ár |
ESP-07S külső antennával szerelhető ESP8266 fejlesztői lap (*) | 675 Ft |
ESP8266 Adapter Plate/Board (fehér lap) (*) | 153 Ft |
3dbi Wifi antenna 2.4Ghz (*) | 375 Ft |
100x60x25mm fekete, műanyag műszerdoboz (*) | 360 Ft |
5x7cm protolap, kétoldalas (*) | 160 Ft |
Bekapcsoló gomb / rocker switch (*) | 20 Ft |
4.7K ohmos ellenállás x1 | 20 Ft |
S8050 NPN tranzisztor | 20 Ft |
1N4001 dióda | 10 Ft |
3V DC relé (*) | 150 Ft |
DC-DC feszültség Step-Down átalakító 8-55V -> 3.3V 2A (*) | 923 Ft |
Dugaszolható 4-es csatlakozású sorkapocs 5.08" (*) | 100 Ft |
Összesen: | 3148 Ft |
Látható, hogy nem estem túlzásokba, nincs működést és állapotot visszajelző LED, nincs nyitott vagy csukott állapotot visszajelző bemenet, nincs kézi nyitó nyomógomb, nemes egyszerűséggel a relét vezérli egy GPIO és kész, ennyire volt szükségem. De egy pár ilyet ki lehet hozni az "olcsó" 15ezer forintos SmartWise árából is...
Feltűnhet, hogy aránylag drága a tápegység, majd egy ezres. Nos igen, a kapu vezérlésnél elméletben 24VDC áll rendelkezésre, így egy egyszerűbb max 28V-ot tudó step-down átalakító is megfelelő lehetne, de rámértem a célhelyen és abból bizony 30VDC jött ki. Szóval biztosra mentem, 55V maximummal még akár (passzív 24/48V) POE-ről is táplálhatnám, ez az átalakító már csak ezért is szimpatikus nekem.
Teszteltem az integrált és a külső antennás megoldást is, nagyjából 10 méteren és egy falon át az integrált antennás ESP8266 AP jelerőssége -75dBm, a külső antennás pedig -58 dBm, ami szerintem egészen jó. (-50: nagyon jó, -80: már használhatatlanul rossz)
Bekötési rajz:
Feltűnhet, hogy a korábban általam előszeretettel használt relé board helyett ezúttal sima "pőre" relé került a konfigba. Nos igen, azt kell mondjam, ha csak magát a relét kell elhelyezni, sokkal könnyebben befér egy kisebb dobozba. Persze kell még hozzá 3 db egyszerű passzív áramköri elem, ha nem lenne világos a fenti bekötési rajzból itt alant mutatom nagyobb és jobban kivehető módon a pőre relé egyszerű vezérlésének módját. (a relé boardon ezek a passzív elemek már megtalálhatóak, ezért azokkal egyszerűbb dolgozni)
Mivel nem nagyon szeretnék több DC átalakítót tenni, és az ESP modul 3V-os, ezért nyilvánvaló választás a 3V tekercsfeszültségű relé is. A lábainak azonosítását forrasztáshoz az alábbi ábra segíti:
A négyes sorkapocs első két bemenetén a + és GND táp megy a készülékbe, a + ráadásul leválasztható a kapcsolóval (amit egyébként kifordíthattam volna a doboz külsejére is, de szánt szándékkal inkább benne helyeztem el). A maradék két sorkapocs a motor vezérlője felé menő kontaktust biztosítja. méghozzá a COM (C) és a Normally Open (NO) lábait.
A működésének alapja pofonegyszerű: a GPIO12 HIGH állapotában az S8050 tranzisztor segítségével áram alá helyezi a relé tekercsét, ez összezárja a C és NO kapcsokat, ebből a rá kötött vezérlő tudja, hogy ideje nyitni/csukni.
Ha valaki kihagyta volna a Shinobi videorögzítős cikkem, amiben az S8050 vezérelte a ventillátort, íme a lábak azonosításához szükséges kép:
Már csak a működtető program hiányzik az eszközre.
Az ESP alapú nyílt forrású megoldások bármelyike jó lehet, akár ESPEasy, akár Tasmota beüzemelhető rajta, amivel illeszthető tetszőleges nyílt forrású okosotthon-vezérlőbe. Jelen esetben viszont más elérési módot akarok használni, méghozzá állandó Access Point üzemmódban lokálisan elérhetőt. (ezt sem a Tasmota sem az ESPEasy nem hozza stabilan)
Éppen ezért egy roppant alapszintű, egyszerű Arduino kódot készítettem, ami egy WiFi Hotspotot hoz létre induláskor, "GateControl" néven, az alap jelszava 12345678. A "GateControl"-ra telefonnal történő csatlakozáskor egy bejelentkező ablak érhető el, egyetlen nyitás/zárás gombbal. A gomb megnyomásakor behúz a relé és 4 másodpercig tart, majd elenged.
Beállítási lehetőségeket nem tettem bele, másik jelszót újrafordítással tehetünk bele, a http://172.217.28.1/update alatt On-The-Air (ElegantOTA segítségével) módon tölthető fel az új firmware.
(ha van mobilinternet az eszközön, előbb le kell tiltani persze, különben feloldja a fenti IP címet a google-re)
A firmware és forrása elérhető itt:
https://github.com/enesbcs/ESP_AP_Relay
Első feltöltése UART-USB átalakítóval az RX,TX lábain keresztül lehetséges a szokásos módon.
Ha kiválasztjuk a GateControl SSID-t, akkor a "Bejelentkezés a WiFi hálózatba" vagy hasonlóra kattintva bejön ez a roppant egyszerű oldal, egyetlen gombbal:
Mert néha a kevesebb több..
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.
Hypervisor 2020.02.17. 18:47:09
fix ip helyett miért nem használsz mDNS-t?