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

評論