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

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

水浸漏液傳感器液體導(dǎo)電原理方案

光電傳感器與激光傳感器的對(duì)比
水浸傳感器監(jiān)測(cè)系統(tǒng)的作用

mems傳感器是什么意思_mems傳感器原理是什么
怎么區(qū)分PNP傳感器和NPN傳感器
車(chē)載傳感器主要有哪些傳感器
常用遙感傳感器中成像的傳感器是什么
lidar傳感器和激光測(cè)距傳感器的區(qū)別
用于開(kāi)發(fā)傳感器模塊的磁傳感器

評(píng)論