步驟1:硬件和材料
需要以下材料
該示意圖顯示了所使用的電路。假設(shè)使用低壓交流電鈴,這是硬連線簡單鈴的最常見類型。鈴單元從外部鈴式變壓器獲得功率,通常約為10V交流電。這不是至關(guān)重要的,唯一的限制是降壓轉(zhuǎn)換器的最大電壓。我使用的是基于MP2307的,最大輸入為23V dc(?16V AC)。
通常有3個活動端子。按下鐘形開關(guān),即可從交流電源的一側(cè)連接到鐘形螺線管。該模塊使用兩個交流端子通過一個簡單的半波整流器產(chǎn)生直流電源。通過監(jiān)控實際螺線管兩端的電壓來實現(xiàn)鐘聲按動感應(yīng)。這通常會接地,但是當(dāng)鈴響時,將是完整的交流電。電阻/齊納二極管對此進行鉗位,以便將0-3.3V 50 Hz脈沖饋入GPIO引腳。該軟件對其進行處理,以使每按一次鐘就可激活一次。
我將電路構(gòu)造在一些帶狀板上,并且該電路小到可以輕松裝入鐘單元中。我使用簡單的跳線連接器來簡化安裝,并與主交流電源一起專門安裝,以便在需要時可以很容易地將其復(fù)位。
所示的原理圖包括一個DS18B20溫度傳感器。這是可選的。我將其用作監(jiān)視房屋中大部分區(qū)域的網(wǎng)絡(luò)的一部分。如果包括的話,最好用幾厘米的電纜將傳感器連接到電纜中,以使其與任何局部熱效應(yīng)隔離開。
DC Buck轉(zhuǎn)換器用于3.3V電源
整流二極管(例如1N4001)
電解電容器220uF 35V
電解電容器220uF 16V
齊納二極管3.3或2.6V
插排板件
連接器(如有需要)
DS18B20數(shù)字溫度傳感器
步驟2:軟件
門推單元使用github上提供的Arduino草圖
需要對此進行調(diào)整以適應(yīng)當(dāng)?shù)貤l件,然后在esp8266 Arduino環(huán)境中進行編譯。需要以下庫,它們是標準的或可以添加的。
ESP8266WiFi
WifiClient
ESP8266WebServer
ESP8266mDNS
ESP8266HTTPUpdateServer
ArduinoJson
WifiClientSecure
IFTTTMaker
DNSServer
WiFiManager(可選使用)
OneWire
DallasTemperature
草圖中要更改的項目,包括
如果不使用WifiManager則本地wifi訪問詳細信息(ssid,密碼)
用于Web訪問的授權(quán)代碼AP_AUTHID。使其長度適中是一件好事。它可以包含字母數(shù)字字符。
固件OTA密碼update_password
WifiManager密碼WM_PASSWORD
可以通過注釋掉WM_NAME來手動設(shè)置Wifi
IFTTT制造商密鑰(請參閱通知步驟)
可選更改包括
門鈴檢測器的更改輸入引腳
更改的引腳對于溫度傳感器
將Web訪問端口從默認80更改
一旦完成,則應(yīng)首先使用常規(guī)的串行上傳功能進行編譯和上傳。隨后的更新可以通過在Arduino環(huán)境中編譯導(dǎo)出二進制文件,然后在ip/firmware中訪問OTA接口來完成。
在軟件中,通過中斷檢測到第一個脈沖的上升沿來檢測門鈴?fù)苿訌臋z測器電路。所有后續(xù)中斷都將被忽略。超時用于在BELL_MIN_INTERVAL設(shè)置為10秒后重新激活檢測器。
esp8266 Web服務(wù)器上可能會訪問其他活動
ip/recent顯示最近門鈴活動
ip/reloadConfig重新加載espConfig
ip/bellPush模擬門鈴?fù)扑?/p>
步驟3:配置
構(gòu)建時,該軟件從本地Web服務(wù)器獲取其配置。該模塊根據(jù)其Mac地址加載配置數(shù)據(jù)。這使得使用相同的二進制文件運行多個模塊非常方便,并且還使得無需重新編譯即可更輕松地更新配置。可以跳過此步驟,并將配置數(shù)據(jù)直接放入代碼中。
我將配置文件存儲在EasyIOT服務(wù)器上,該服務(wù)器在easyIOT/html上有一個文件夾,可在其中輕松檢索配置文件。
該文件稱為espConfig,它是一個簡單的文本文件,為每個可能的Mac地址存儲許多參數(shù)(12)。模塊僅加載為其Mac地址設(shè)置的參數(shù)。
文件中的示例為
#Hall
#Mac地址
123456ABCDEF
#模塊名稱
esp8266-hall
#服務(wù)器模式掩碼(1 =溫度感應(yīng),4 =鍋爐模式,4 =門鈴)
9
#EIOT節(jié)點的溫度
N9S0
#未使用
-1
#最小溫度間隔以秒為單位
60
#最大溫度間隔以秒為單位
300
#鍋爐功率間隔
0
#EasyIOT鍋爐電源節(jié)點
-1
#EasyIOT鐘形推節(jié)點
N10S0
#IFTTT通知值
前面
#IFTTT通知事件名稱
門鈴
#action URL
192.168.0.2/snap.php
任何以#開頭的行都會被忽略。所有行都必須存在。 -1用于忽略的參數(shù)。
在模塊首次啟動時讀取配置文件。也可以通過訪問ip/reloadConfig將其重新加載到正在運行的系統(tǒng)中(更改配置時)
配置的鍋爐模式部分與此處無關(guān),而是用于連接到中央供暖系統(tǒng)的溫度傳感器中
第4步:通知
當(dāng)檢測到門鈴?fù)苿訒r,將檢測到鍋爐正在加熱的管道輸出。
它嘗試通過IFTTT或PushOver通知此情況。我現(xiàn)在使用PushOver,因為它提供了更快的響應(yīng)。
對于IFTTT,您需要一個帳戶并激活Maker WebHoooks頻道。需要將此通道中的MakerKey編譯為代碼。
使用Maker WebHooks設(shè)置IF操作,并使用與配置中相同名稱的事件名稱(例如,門鈴)。 THEN操作應(yīng)為IFTTT通知。您可以將value1添加到將在配置文件中的通知中。如果您有2個或更多檢測器,這將非常有用。
您需要在手機上安裝IFTTT應(yīng)用,然后在門鈴被觸發(fā)時就會出現(xiàn)通知。
對于PushOver,您需要一個PushOver帳戶并按照說明接收API通知。您需要使用PushOver帳戶中的值在軟件中設(shè)置NOTIFICATION_APP和NOTIFICATION_USER令牌。
您需要在手機上安裝PushOver App,并支付一筆一筆的費用,以接收通知。在我看來,這是值得的,以獲得更快的響應(yīng)。
步驟5:EasyIOT集成
該軟件可以將溫度和門鈴?fù)扑蛨蟾姘l(fā)送到EasyIOT服務(wù)器。 EasyIOT自動化可以根據(jù)這些報告來執(zhí)行其他操作。
設(shè)置EasyIOT服務(wù)器(例如,在Raspberry Pi上)。在esp8266軟件中配置IP地址和用戶名密碼,然后進行編譯。
現(xiàn)在在EASYIOT配置中添加虛擬驅(qū)動程序。選擇溫度模擬輸入,并記下EasyIOT節(jié)點名稱。這應(yīng)該放在espConfig文件的溫度節(jié)點名稱部分。
添加第二個虛擬驅(qū)動程序。選擇門數(shù)字輸入,記下節(jié)點名稱并放入espConfig文件。
步驟6:其他Bell Push操作
該軟件有一個名為actionBellOn的例程。按照本文所述,可以做三件事
IFTTT通知
EasyIOT報告
執(zhí)行操作URL
URL可用于觸發(fā)其他Web服務(wù)器上的其他活動。所使用的URL在espConfig文件中。
如果該URL的服務(wù)器已通過身份驗證,則需要配置用戶名和密碼并將其編譯為代碼。
我使用它來在門旁邊的攝像頭上訪問一個名為snap.php的URL。按下鈴鐺時需要jpg。最后4個保留下來,可以在相機Web服務(wù)器上遠程查看。
我使用基于樹莓派的相機,這種操作非常容易。相機
責(zé)任編輯:wv
-
門鈴
+關(guān)注
關(guān)注
1文章
118瀏覽量
35831 -
ESP8266
+關(guān)注
關(guān)注
50文章
962瀏覽量
45097
發(fā)布評論請先 登錄
相關(guān)推薦
評論