- ESP intelligens csatlakozó az otthoni automatizáláshoz
- Szükséges anyagok
- Intelligens csatlakozó program az ESP8266-hoz
- Kördiagramm
- 3D nyomtatott ház az intelligens csatlakozóaljzathoz
Amióta elkezdtem dolgozni az ESP Wi-Fi modulokkal, mindig szerettem volna létrehozni egy intelligens Wi-Fi aljzatot, amely lehetővé teszi számomra, hogy okostelefonon keresztül vezeték nélkül vezérelhessem a váltakozó áramú terhelésemet. Míg az ilyen termékek már kaphatók a piacon, mint például a népszerű Moko WiFi Smart Plug vagy a Sonoff, ezek kissé drágák, és ráadásul ez nem okoz örömet a saját építésében. Tehát ebben a projektben megmutatom, hogyan építheti fel saját Smart csatlakozóját az ESP8266 Wi-Fi modul használatával. Az általunk épített eszköz könnyen csatlakoztatható bármely kilépő váltóáramú aljzathoz, majd a másik végén egyszerűen csatlakoztathatja a tényleges terhelést, ha csatlakoztatja ezt a készülékünk aljzatába. Ezt követően csak mindig tartsa bekapcsolva az aljzat főkapcsolóját, és közvetlenül az okostelefonról vezérelheti a terhelést. Szórakozás ugye? Tehát lépjünk be a projektbe.
ESP intelligens csatlakozó az otthoni automatizáláshoz
Már készítettünk egy maroknyi otthoni automatizálási projektet, az egyszerű RF alapú otthoni automatizálástól kezdve a kedvenc Google asszisztens alapú, hangvezérelt otthoni automatizálásomig. De ma ennek a projektnek a követelménye kissé eltér.
Itt a cél az, hogy be- és kikapcsoljam a Wi-Fi routeremet úgy, hogy csak a Smartphone-t használom közvetlenül a munkaállomásomból. Mivel időnként megszakad az internetkapcsolatom, és amikor felhívom az ügyfélszolgálatomat, a szokásos válasz: "Uram, sajnálom az okozott kellemetlenségeket. Indítsa újra az útválasztót úgy, hogy kikapcsolja, majd néhány másodperc múlva újra bekapcsolja ” Puffff! Unod már, hogy minden alkalommal az útválasztóhoz sétálok, úgy döntöttem, hogy megépítem ezt a wifi intelligens csatlakozót, és ezzel irányítom a routert.
De várj egy percet! A router kikapcsolása után már nem lesz hozzáférésem internethez. Tehát hogyan kapcsolom vissza újra távolról? Szerencsére az ESP8266-os készülékünk hozzáférési pontként használható, vagyis útválasztóként is működhet, ha saját wi-fi jelet küld. Ez a Wi-Fi jel mindig elérhető lesz, amíg az ESP8266 be van kapcsolva. Ezért az ESP8266-ot rögzített portálként programozzuk, így ha csatlakozunk az ESP Wi-Fi jeléhez, akkor egy weboldalra kerülünk, ahonnan be- és kikapcsolhatjuk a terhelésünket.
Szükséges anyagok
1. ESP8266 Wi-Fi modul
2. Hi-Link AC-DC átalakító (3,3 V)
3. 3V relé
4. NPN BC547 tranzisztor
5. FTDI programozó modul
6. Arduino Wi-Fi pajzs
7. Vezetékek csatlakoztatása
Megjegyzés: Ezt a korábban épített Arduino Wi-Fi pajzsot használjuk. A táblát csak arra használják, hogy feltöltse az Arduino kódot az ESP8266 modulba. Ha még nem rendelkezik ezzel a táblával, akkor bármelyiket elkészítheti a link feltöltésével, amely a kód feltöltéséhez használja ezt az egyszerű ESP8266 programozó áramkört.
Intelligens csatlakozó program az ESP8266-hoz
Mielőtt tovább folytatnánk, merüljünk egyenesen a programba, hogy megértsük, hogyan fog működni a DIY WiFi intelligens csatlakozónk. Amint itt láthatja, néhány fejlécfájl hozzáadásával és egy DNS hálózati szerver beállításával kezdjük a programot
#include
Ezután inicializáljuk az ESP GPIO 2. tűjét kimenetként, amelyet a terhelésünk vezérlésére használunk. Ezután van egy hosszú HTML kódunk a weboldalunkhoz. Itt teljesen három képernyő található a weboldalunkon, nevezetesen a kezdőképernyő, a képernyőn és a kikapcsolt képernyő.
Karakterlánc Kezdőlap_Screen = "" // 1. oldal - Kezdőképernyő HTML-kód "" " " + style_detials + "
""Üdvözöljük - CircuitDigest
"" "; Karakterlánc ON_Screen =" "// 2. oldal - Ha az eszköz be van kapcsolva" "" "+ style_detials +" ""Intelligens csatlakozó - BE van kapcsolva
"" "; Karakterlánc OFF_Screen =" "// 3. oldal - Ha az eszköz ki van kapcsolva " " " " + style_detials + " " "Intelligens csatlakozó - KI
" " ";Ez a három weboldal megnyitásakor ilyesmi jelenik meg. Testreszabhatja weboldalát úgy, hogy az tetszés szerint jelenjen meg.
Ezután megvan a void beállítási funkciónk, amelyen belül meghatározzuk, hogy az ESP hozzáférési pontként működjön, és nevet is adunk neki, itt „ESP_Smart_Plug”. Amikor bármely felhasználó csatlakozik ehhez a Wi-Fi-hálózathoz, a rendszer a kezdőlapra kerül, amelyet korábban meghatároztunk.
pinMode (LED_BUILTIN, OUTPUT); // LED csap a pinMode (GPIO_2, OUTPUT) jelzés kimeneteként; // GPIO pin kimenetként a relé vezérléséhez WiFi.mode (WIFI_AP); // Az ESP beállítása AP módban: WiFi.softAPConfig (apIP, apIP, IPAddress (255, 255, 255, 0)); WiFi.softAP ("ESP_Smart_Plug"); // Adja meg az AP hálózatát dnsServer.start (DNS_PORT, "*", apIP); webServer.onNotFound (() { webServer.sendHeader ("Location", String ("http://www.circuitdigest-automation.com/home.html"), true); // Alapértelmezés szerint nyissa meg a kezdőképernyőt webServer.send (302, "text / plain", ""); });
Ha a felhasználó az ON gombra kattint, a kezdőlapon megjelenik a képernyőn megjelenő oldal, és a GPIO 2 tű magasra lesz állítva
// ON_Screen webServer.on ("/ relay_ON", () {// Ha a bekapcsoló gombot megnyomja digitalWrite (LED_BUILTIN, LOW); // Kapcsolja ki a LED digitalWrite (GPIO_2, HIGH); // Kapcsolja ki a webszerver.send relét (200, "text / html", ON_Screen); // A képernyő megjelenítése });
Hasonlóképpen, ha a felhasználó a kikapcsológombra kattint, megjelenik a képernyőn kívüli oldal, és a GPIO 2 tű LOW értékű lesz.
// OF_Screen webServer.on ("/ relay_OFF", () {// Ha kikapcsolja a gombot megnyomja digitalWrite (LED_BUILTIN, HIGH); // Kapcsolja be a LED digitalWrite (GPIO_2, LOW); // Kapcsolja be a webServer.send relét (200, "text / html", OFF_Screen); // A képernyő megjelenítése });
A teljes kód a könyvtárfájlokkal együtt ZIP fájlként letölthető az alábbi linkről. Most, hogy elkészült a kódunk, egyszerűen feltölthetjük az ESP modulunkra, egyszerűen kattintson a feltöltés gombra, majd megvárjuk a kód feltöltését. A teljes program a könyvtárfájlokkal együtt letölthető az alábbi linkről
ESP8266 intelligens csatlakozó - Arduino kód letöltése
Azok, akik rendelkeznek a Wi-Fi védelemmel, egyszerűen csatlakoztathatják a modulokat a fent látható módon, és csatlakoztathatják a számítógéphez, hogy elkezdhessék programozni az ESP8266-ot az Arduino IDE használatával. Azok a személyek, akik nem rendelkeznek ezzel a táblával, használhatják a korábban említett kapcsolási rajzot.
A kód feltöltése után keressen Wi-Fi hálózatokat a telefonján, és találnia kell egy „ESP_Smart_Plug” nevű jelet . Csatlakozzon hozzá, és az Ön által éppen tervezett weboldalra kerül. Itt, amikor megnyomja a kikapcsológombot, észre kell vennie, hogy az ESP kártyánk LED-je kialszik, és amikor megnyomja a bekapcsológombot, a LED-nek újra be kell kapcsolnia.
A kód néhány további ellenőrzése után már nem lesz szükségünk a programozó táblára ehhez a projekthez. Most ki kell építenünk egy áramkört, amely ESP-modulunkat közvetlenül a hálózati feszültségről táplálja, és GPIO-tűjével átkapcsolhatunk egy relét. Ennek az áramkörnek a felépítéséhez egy Hi-Link AC-DC átalakító modult használtam, amely a váltóáramú hálózati feszültséget 3,3 V DC-re alakítja 900mA kimeneti árammal, amely elegendő ahhoz, hogy az ESP modult hálózatról táplálja. A kimeneti oldali relé egy 3,3 V-os relé, amelyet az ESP GPIO csapja vezérelhet egy ilyen tranzisztoron keresztül, mint ez a BC547. Szükségünk lesz egy 1k-os ellenállásra is, hogy korlátozzuk tranzisztorunk alapáramát.
Kördiagramm
A Wi-Fi intelligens csatlakozó teljes kapcsolási rajza így nézne ki.
A projektünk áramellátására szolgáló hálózati tápellátást ezen a csatlakozón keresztül kapjuk meg. A többi komponens azok, amelyek megmagyarázták a fülhallgatót. Egy másik fontos dolog, amire koncentrálni kell, a GPIO-0 és a GPIO-2 magas szinten tartása indítás közben. Egyébként az ESP modul programozási módba lép, és a kimeneti kód nem fog működni. Ezért egy 10k-os (3,3k-tól 10k-ig terjedő értékeket lehet használni) ellenállást használtam a GPIO-tű alapértelmezett magasra húzására. Alternatív megoldásként használhat PNP tranzisztort is a BC547 helyett, és a relét magas oldalról kapcsolhatja. A kapcsolási rajz elkészültével azt terveztem, hogy miként lehet ezeket az alkatrészeket forrasztani úgy, hogy a tábla mérete a lehető legkisebb legyen, hogy egy kis burkolatba illeszkedjen, és a tábla forrasztásával dolgozzon.
3D nyomtatott ház az intelligens csatlakozóaljzathoz
Ezután megmértem a tábla méreteit a vernierem segítségével, és megmértem a dugó és aljzat méreteit is, hogy kialakítsam az okos csatlakozóm burkolatát. A tervem valahogy így nézett ki, ha elkészült.
Miután meg voltam elégedve a dizájnnal, STL fájlként exportáltam, a nyomtató beállításai alapján felszeleteltem, végül kinyomtattam. Az STL fájl szintén letölthető a thingiverse-ről, és saját burkolatát kinyomtathatja.
Miután elkészült a nyomtatás, elégedett voltam az eredménnyel. Aztán folytattam a vezetékek hozzáadását az alaplapomhoz, és azokat a tápkivezetésekhez és az aljzathoz is csavaroztam. A teljes csatlakozással összeállítottam az áramkört a házamba, és minden szépen illeszkedett, amint itt láthatja.
Az intelligens csatlakozóval, amely készen áll a cselekvésre, odamentem az útválasztómhoz, felkutattam a vezetékét, hogy megtalálja az adapterét. Aztán kivettem az aljzatból, az okos csatlakozót ugyanahhoz a csatlakozóhoz csatlakoztattam és bekapcsoltam. Most visszadugtam az adaptert az intelligens csatlakozónkhoz, és hasonlóan a továbbiakban a telefonomról vezérelhetem. Ugyanígy vezérelheti otthonában az alacsony fogyasztású váltakozó áramú terhelést és érezheti jól magát.
A teljes kód letölthető innen, és ennek a DIY intelligens hálózati csatlakozónak a működő videója megtalálható az oldal alján. Remélem, hogy tetszett a projekt, tudassa velem a megjegyzés részben, mit automatizálna ezzel az eszközzel. Ha bármilyen kérdése van, hagyja őket a fórumban, és mindent megteszek a válaszadásban.