第1步:硬件
對于這個項目,我們需要:
1。 ESP8266 - 01模塊
我們需要這個模塊將電池電壓降低到ESP8266的可接受水平。
根據數據表,應該有3V至3.6V的輸入。這個模塊給我們3.3V。
3。電池。
我正在使用3,7V鋰離子400mAh電池。實際上你可以使用任何其他合適的電源。 18650電池也是不錯的選擇。當您選擇電池時請記住ESP“吃”大約200mA連接到WiFi網絡,當電路板將數據上傳到服務器時使用大約60mA。
4。 TP4056鋰電池充電板。
5。 Pololu迷你按鈕電源開關
非常有趣的小板。它讓我們只在檢測到水時才切換ESP模塊。您不需要保持ESP開啟。因此有利于節省電池電量。
6。房屋點擊7。雙微動開關ON-OFF。一條線用于打開設備。第二行用于測試 - 它沒有水的短路,只是讓我們知道設備是否工作。
8。 Raspberry Pi微型計算機
我正在使用Raspberry Pi Zero。它足以運行Domoticz服務器。
步驟2:軟件
在您的PC上:
1。已安裝esptool,用于擦除模塊和閃存固件
2.已安裝Ampy,用于刷新程序
3推薦使用Python 3.6或更高版本
4。你想要的任何代碼編輯器。最簡單 - Python IDLE通常與Python一起安裝。我正在使用Pycharm/Atom或Anaconda Spyder On raspberry Pi
5.在Raspberry Pi上安裝的Domoticz服務器(或Windows或Linux下的普通PC)
步驟3:準備Raspberry Pi - 安裝Domoticz
因此,請使用您的RPi并安裝適合運行Domoticz服務器的操作系統。
您可以按照這些說明操作。
我在這里使用Raspbian Stretch with Desktop:https://www.raspberrypi.org/downloads/raspbian/
下一步是在您的PC上安裝Domoticz服務器。你可以在這里或這里使用說明:)。不要害怕,這不是那么困難。顯然你需要在你的終端上運行:
curl -L install.domoticz.com | sudo bash
就是這樣:)或多或少。 Domoticz設置
現在我們的服務器已準備就緒,我們可以通過輸入以下URL從任何Web瀏覽器訪問它,包括從平板電腦訪問它:http://IP_domoticz:8080
步驟4:Domoticz設置
現在我們的服務器已準備就緒,我們可以通過輸入以下URL從任何Web瀏覽器訪問它,包括從平板電腦訪問它: http://IP_domoticz:8080
步驟5:調整應用程序設置。
有各種各樣的可以通過Setup |設置的應用程序設置設置菜單。
帶有各種選項卡的設置菜單允許您輸入更好的系統功能所需的個人參數。在字段中輸入數據后,您必須通過按紅色按鈕“應用設置”來保存它們。 執行此操作后,所有密碼字段(在第一次訪問時為空)將顯示一長串星號,即使它們尚未使用過。
完成主設置后在“系統”頁面中,單擊“通知”。在這里,我們需要調整我們將要使用的通知類型。
步驟6:設置通知
通知可以是例如,當按下開關,電力使用太高,溫度高到更多選項時發送。
在我們的情況下,一旦傳感器檢測到水,就必須發送通知。所以只需打開那些,你想要使用。通常,您還需要API密鑰才能通知工作。向前跑一點,我會說我嘗試了Pushover,Pushsafer和Pushbullet。我和Pushover呆在一起。后來我會說明原因。
關于通知如何工作的幾句話。您需要在Pushbullet,Pushover或其他您想要使用的頁面上擁有一個帳戶。您還需要手機或PC上的應用程序。
獲取API密鑰,并將其插入上面的頁面。您可以單擊“測試”來測試通知。如果API密鑰正確,您應該收到手機的測試通知。
一旦傳感器檢測到水,ESP就會打開并以JSON格式向Domoticz服務器發送請求。如果滿足觸發事件的條件(向手機發送通知),Domoticz會發送通知。
稍后我將回到“事件”。
步驟7:設置與硬件設備的通信
在使用Domoticz應用程序控制之前設備或讀取傳感器必須設置與硬件設備的通信。選擇“設置”|“硬件”以添加硬件在添加適當的硬件之前,設備不會顯示。
Domoticz應用程序本身支持許多硬件設備。
在我們讀取洪水傳感器的情況下,我們需要從硬件列表中添加所謂的“虛擬”硬件。
添加硬件時,將顯示所有已定義硬件的概覽。可以禁用或刪除硬件。
新硬件應該在列表中,并且應該有一個“創建虛擬傳感器”按鈕。
單擊此按鈕并選擇傳感器類型“警報“。現在我們必須在Domoticz中添加設備才能激活。
步驟8:在Domoticz中添加設備以激活。
請注意“IDX”下面的數字。這是對此設備的唯一引用,我們稍后需要在Python腳本中處理通知。在這種情況下,IDX編號為1.
單擊左側的綠色箭頭啟用設備(由于設備已啟用,下面的圖片為藍色。)
填寫設備名稱,然后單擊“添加”。
導航到“Utilities”菜單,您的設備應該列在那里。
現在我們需要編程“事件“為我們的傳感器。這意味著,我們需要告訴服務器,如果它從傳感器收到消息,該怎么做。
對我來說這是最難的地方:)。
第9步:它不能以這種方式工作。..。..
我開始嘗試在/device/page上編程事件。下面的內容不是我的,但可以說明一下。
如果你認為你會檢查一些復選框并且它會起作用,你就錯了:)它不能以這種方式工作。我想這里的這個功能尚未完成。別忘了 - 這是開源軟件。好的,幾個小時后我找到了解決方案。我們需要使用“設置”下拉菜單中的“事件”。
點擊“事件”后,您可以創建自己的事件。您可以購買用Python或LUA編寫代碼,或者只使用名為“Blockly”的東西。
我選擇使用Blockly。有兩種方法可以強制服務器執行您想要的操作。
步驟10:以正確的方式構建事件1.
1。通過“事件”執行外部文件,使用Blockly消息“啟動腳本”
這在Windows機器上完美適用于我。但是我在Raspberry Pi上的Raspbian上沒有成功。我懷疑權限存在問題。
步驟11:以正確的方式構建事件2.
2.使用“發送帶主題的通知”消息。它適用于Raspbian。此選項支持向Pushsafe和Pushover發送通知。
使用第一種方式的優點是它更靈活。您可以選擇要在顯示器上顯示的圖標,聲音等。我的“事件”如上圖所示。
接下來,讓我們編程ESP模塊。
步驟12:編程ESP8266-01模塊
讓我們從閃爍的ESP8266模塊開始吧。通常這些模塊帶有工廠固件。可以通過使用所謂的AT命令與模塊通信。此軟件也不允許使用獨立控制器等模塊。要像獨立控制器一樣使用它們,我們需要擦除工廠固件并安裝新固件。
為此,我們將使用esptool。我們需要將模塊連接到PC以擦除固件。要做到這一點,你需要TTL轉換器+一些額外的組件。但有一個更簡單的方法:)。只需在aliexpress或ebay USB上購買帶有CH340G驅動器的ESP8266 ESP-01 Wi-Fi適配器模塊。
將ESP8266模塊插入TTL轉換器,如圖所示,并將其連接到USB端口。
如果您有與我相同的轉換器,那么您需要將開關更改為“Prog”位置。找到esptool的安裝位置(通常在某個地方,如C: Program Files(x86) Python36-32 Scripts。轉到此文件夾,在那里啟動命令提示符。
類型: python esptool.exe --port COM5 erase_flash
當然選擇正確的端口。在我的情況下它是COM5。您可以從控制面板 - 系統 - 設備管理器檢查安裝ESP的端口。
通過輸入以下命令安裝固件(我從這里獲取它:https://micropython.org/download#esp8266):
python esptool.exe --port COM5 --baud 460800 write_flash --flash_size =檢測0 C: path_to_firmware esp8266-20180511-v1.9.4.bin
好的,現在我們已準備好將micropython腳本上傳到ESP8266。
I我正在使用Adafruit MicroPython Tool(ampy)。
但現在還有另一個名為Esplorer的選項。這個應用程序帶有用戶界面,允許將文件上傳到ESP模塊。
您可以在此處找到如何安裝ampy的說明。因此,將TTL轉換器上的開關置于“UART”位置。我們需要上傳文件:
wifimgr.py - 用于連接wifi網絡的wifi管理器
main.py - 我們的主要腳本
在命令行類型中: ampy --port COM5將C: path放入文件
點擊“enter”。幾秒鐘后,您應該看到空命令行。這意味著該文件已上傳。您可以通過ampy命令檢查ESP上的文件列表:
ampy --port COM5 ls
根據我的經驗,最好上傳main.py上傳完所有必要文件后。它是這樣,因為只要你上傳main.py - ESP8266模塊將重啟并開始執行main.py文件。因此,在這種情況下,如果您嘗試上傳其他文件,有時上傳過程將失敗。但這并不意味著一切都失敗了:),只是嘗試第二次,你會成功(再次,根據我的經驗)。
第13步:連接到您的WiFi網絡。獲取通知。
如果一切正常,請重新啟動模塊,方法是將TTL轉換器重新插入PC的USB端口。
ESP啟動后,找到一個名為“Wifimanager”的新WiFi網絡。使用PC或手機連接到它,然后轉到IP地址192.168.4.1 。.在這里,您可以將ESP連接到本地WiFi網絡。選擇您要使用的WiFi網絡,輸入密碼,點擊“提交”。
如果一切正常,您將看到消息“ESP已成功連接到XXXX網絡”。
您的ESP現已連接到您的WiFi網絡并準備就緒。一旦連接到WiFi,它將連接到Domoticz服務器。 Shorty你必須在手機上收到通知。
你可以在“設置”/“記錄”中跟蹤這個過程。
Vua lia! :) 有用。現在我們可以根據下面的框圖繼續組裝所有部件。
步驟14:框圖
那里關于這個圖表沒什么可說的。非常簡單。用S1開關切換電源。設備處于關閉狀態,直到水短路“水傳感器”引腳。然后“Pololu板”接通,并為電壓轉換器供電。該電源模塊基于HT7333芯片,可為ESP8266將電壓轉換為穩定的3.3V。下一個ESP打開,并向Domoticz服務器發送消息。
步驟15:結果和結論
它有效。發送通知最多需要10秒鐘:連接到WiFi,發送通知,向手機發送警報消息。
如果檢測到水,我已將傳感器編程為每30秒發送一次警報。傳感器最多可發送5-6個通知,直到電池放電。這種裝置也可用于確定水位。我想改進什么。
1。讓它更快地運作我想我會嘗試使用ESP-Now技術,這可以讓我直接連接幾個ESP。在這種情況下,連接期間的功耗非常低并且更快。因此,我們的想法是使用一個ESP作為連接其他ESP的集線器。
2。實施電池電量警報。現在您無法知道是否有足夠的電量來發送警報消息。我認為在下一代傳感器中會有一個用于測試電池電量的特殊按鈕。
用戶必須按一下按鈕,電池電量才會顯示。
-
傳感器
+關注
關注
2565文章
52974瀏覽量
767215
發布評論請先 登錄
什么是定位漏水傳感器?
水浸傳感器智能監測系統解決方案

干簧管傳感器屬于什么傳感器
GUC65(A)礦用本安型位置傳感器制作過程
LORAWAN水浸漏液傳感器液體導電原理

光電傳感器與激光傳感器的對比
水浸傳感器監測系統的作用

評論