Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
To vylepšuje standardní zvonek s pevně připojenými dveřmi s modulem esp-12F (esp8266).
Instaluje se do samotné zvonové jednotky, aby se zabránilo jakékoli změně zapojení. Poskytuje následující funkce
- Rozpoznat zvonek dveří
- Odesílá oznámení do telefonu prostřednictvím IFTTT
- Ukládá aktivitu zvonku na serveru easyIOT (volitelně)
-
Po stisknutí zvonku spustí další aktivitu prostřednictvím adresy URL
Pořizuji snímek na webovou kameru u dveří a na svém telefonu si mohu prohlížet nedávné zachycení zvonku
- Volitelné vestavěné teplotní čidlo (DS18B20), které je součástí monitorování teploty mého domu
Krok 1: Hardware a materiály
Jsou potřeba následující materiály
- WiFi / CPU modul ESP-12F (ESP8266)
- Převodník DC Buck pro napájení 3,3 V.
- Usměrňovací dioda (např. 1N4001)
- Elektrolytický kondenzátor 220uF 35V
- Elektrolytický kondenzátor 220uF 16V
- Zenerova dioda 3,3 nebo 2,6V
- Rezistory
- Kousek pásové desky
- V případě potřeby konektory
- V případě potřeby digitální snímač teploty DS18B20
Schéma ukazuje použitý obvod. Předpokládá nízkonapěťový zvon napájený střídavým proudem, který je nejběžnějším typem pevného drátového jednoduchého zvonku. Zvonková jednotka získává energii z externího zvonového transformátoru obvykle kolem 10 V střídavého proudu. To není kritické, jediným omezením je maximální napětí do převodníku buck. Používám MP2307 s maximálním vstupem 23 V DC (~ 16 V AC).
Obvykle jsou aktivní 3 terminály. Zatlačením zvonku se provede připojení z jedné strany napájecího zdroje k elektromagnetu zvonku. Modul využívá dva AC terminály k produkci stejnosměrného proudu prostřednictvím jednoduchého polovičního usměrňovače. Snímání tlaku zvonu je sledováním napětí na skutečném solenoidu. To bude normálně uzemněno, ale když je zvonek aktivován, bude plný střídavý proud. Rezistor / zenerova dioda to seřízne, takže do pinu GPIO je přiveden puls 0 - 3,3 V 50 Hz. Software to zpracuje tak, aby poskytoval jedinou aktivaci na každý zvonek.
Obvod jsem zkonstruoval na trochu pásové desce a je dostatečně malý, aby se snadno vešel do zvonové jednotky. Používám jednoduché propojovací konektory, které usnadňují instalaci a zapojení konkrétně v souladu s hlavním napájecím zdrojem, aby bylo možné v případě potřeby snadno resetovat napájení.
Schéma, jak je znázorněno, zahrnuje teplotní senzor DS18B20. Toto je volitelné. Používám to jako součást sítě monitorující většinu oblastí v mém domě. Je -li součástí, je dobré zapojit senzor několika centimetry kabelu, aby byl izolován od jakýchkoli efektů lokálního vytápění.
Krok 2: Software
Dveřní tlačná jednotka používá skicu Arduino dostupnou na github
To je třeba upravit tak, aby vyhovovalo místním podmínkám, a poté zkompilováno v prostředí esp8266 Arduino. Následující potřebné knihovny, jsou standardní nebo je lze přidat.
- ESP8266 Wi -Fi
- Wifi klient
- Webový server ESP8266
- ESP8266mDNS
- Server ESP8266HTTPUpdateServer
- ArduinoJson
- WifiClient Zabezpečený
- IFTTTMaker
- DNS server
- WiFiManager (volitelné použití)
- OneWire
- Teplota v Dallasu
Položky ve skice, které mají být změněny, zahrnují
- Podrobnosti o místním přístupu k Wi -Fi (ssid, heslo), pokud nepoužíváte WifiManager
- Autorizační kód pro přístup na web AP_AUTHID. Je dobré z toho udělat slušnou délku. Může obsahovat alfanumerické znaky.
- firmware OTA heslo update_password
-
Heslo WifiManageru WM_PASSWORD
Wifi lze nastavit ručně přidáním komentáře do WM_NAME
- Klíč tvůrce IFTTT (viz krok oznámení)
Mezi volitelné změny patří
- Změna vstupního kolíku pro detektor zvonku
- Výměnný kolík pro teplotní čidlo
- Změna portu pro přístup na web z výchozího nastavení 80
Jakmile je toto provedeno, mělo by být nejprve zkompilováno a nahráno pomocí konvenčního sériového nahrávání. Následnou aktualizaci lze provést kompilací exportního binárního souboru v prostředí Arduino a poté přístupem k rozhraní OTA na adrese ip/firmware.
Zatlačení dveřního zvonku je v softwaru detekováno přerušením snímáním náběžné hrany prvního impulsu z obvodu detektoru. Všechna následující přerušení jsou ignorována. K opětovné aktivaci detektoru po BELL_MIN_INTERVAL, který je nastaven na 10 sekund, se používá časový limit.
K dalším aktivitám lze přistupovat na webovém serveru esp8266
- ip/recent ukazuje nedávnou aktivitu zvonku
- ip/reloadConfig znovu načte espConfig
- ip/bellPush simuluje zvonění
Krok 3: Konfigurace
Software je podle konstrukce konfigurován z místního webového serveru. Modul načte konfigurační data na základě adresy MAC. Díky tomu je velmi výhodné spouštět více modulů pomocí stejného binárního souboru a také usnadňuje aktualizaci konfigurace bez překompilování. Bylo by možné to přeskočit a dát konfigurační data přímo do kódu.
Konfigurační soubor ukládám na svůj server EasyIOT, který má složku easyIOT/html, kde lze konfigurační soubor snadno načíst.
Soubor se nazývá espConfig a je to jednoduchý textový soubor, který pro každou možnou adresu Mac ukládá řadu parametrů (12). Modul načte pouze parametry nastavené pro jeho adresu Mac.
Příklad ze souboru je
#Sál
#Mac adresa123456ABCDEF
#název modulu
esp8266-hala
#maska režimu serveru (1 = snímání teploty, 4 = režim varu, 4 = zvonek)
9
Uzel #EIOT pro teplotu
N9S0
#nepoužitý
-1
# minimální teplotní interval v sekundách
60
#maximální teplotní interval v sekundách
300
#interval výkonu kotle
0
#EasyIOT napájecí uzel kotle
-1
#EasyIOT Bell push uzel
N10S0
# Hodnota oznámení IFTTT
přední
#IFTTT upozornit na název události
domovní zvonek
#akce URL
192.168.0.2/snap.php
Jakýkoli řádek začínající na # je ignorován. Všechny řádky musí být přítomny. -1 se používá k ignorování parametrů.
Konfigurační soubor je načten při prvním spuštění modulu. Může být také znovu načten v běžícím systému (když byla konfigurace změněna) přístupem k ip/reloadConfig
Část konfigurace režimu kotle zde není relevantní, ale používá se v mých teplotních čidlech připojených k výstupu potrubí ústředního topení, protože detekuje, když kotel topí, a může vypočítat průměrnou spotřebu energie.
Krok 4: Oznámení
Když je detekován dveřní zvonek, pokusí se to oznámit pomocí IFTTT nebo PushOver. Nyní jsem PushOver, protože poskytuje rychlejší opakování.
Pro IFTTT potřebujete účet a aktivujte kanál Maker WebHoooks. MakerKey z tohoto kanálu je třeba zkompilovat do kódu.
Nastavte akci IF pomocí Maker WebHooks a použijte název události se stejným názvem jako v konfiguraci (např. Zvonek). Akce POTOM by měla být oznámení IFTTT. K oznámení, které bude v konfiguračním souboru, můžete přidat hodnotu1. To může být užitečné, pokud máte 2 nebo více detektorů.
Do telefonu si musíte nainstalovat aplikaci IFTTT a poté se při každém spuštění zvonku zobrazí oznámení.
Pro PushOver potřebujete účet PushOver a podle pokynů budete dostávat oznámení API. V softwaru musíte nastavit tokeny NOTIFICATION_APP a NOTIFICATION_USER s hodnotami z vašeho účtu PushOver.
Chcete-li dostávat oznámení, musíte si do telefonu nainstalovat aplikaci PushOver a zaplatit mírný jednorázový poplatek. To stojí za to, abych získal mnohem rychlejší odezvu.
Krok 5: Integrace EasyIOT
Software může odesílat zprávy o teplotě a zvonku push na server EasyIOT. Automatizaci EasyIOT lze použít k provedení dalších akcí na základě těchto zpráv.
Nastavte server EasyIOT (např. Na Raspberry Pi). Nakonfigurujte adresu IP a heslo uživatelského jména do softwaru esp8266 a zkompilujte.
Nyní přidejte virtuální ovladač do konfigurace EASYIOT. Vyberte analogový teplotní vstup a poznamenejte si název uzlu EasyIOT. Toto by mělo být vloženo do části názvu uzlu teploty souboru espConfig.
Přidejte druhý virtuální ovladač. Zvolte digitální vstup dveří, poznamenejte si název uzlu a vložte jej do souboru espConfig.
Krok 6: Další Bell Push akce
Software má rutinu s názvem actionBellOn. Jak bylo napsáno, to může dělat 3 věci
- Oznámení IFTTT
- Zpráva EasyIOT
- Proveďte URL akce
Adresu URL lze použít ke spuštění jiné aktivity z jiných webových serverů. Použitá adresa URL je v souboru espConfig.
Pokud je server adresy URL ověřen, je třeba uživatelské jméno a heslo nakonfigurovat a zkompilovat do kódu.
Používám to k přístupu na adresu URL s názvem snap.php na kameře vedle dveří. Při stisknutí zvonku to vyžaduje jpg. Poslední 4 jsou uchovávány a lze je dálkově prohlížet na webovém serveru kamer.
Používám kamery založené na malině Pi, které tuto operaci zvládají velmi snadno. Fotoaparát