步驟1:收集所需材料。
您將需要:
1 。 3個超聲波傳感器HC SR04(5V)
2。 3 ESP8266 12(5V)
3。 3顆9V電池
5。一堆母對母和公對母連接器
6。電池盒
您可以在亞馬遜上輕松購買這些東西。如果您購買其中裝有6個傳感器的傳感器和ESP,它們的確非常便宜。
第2步:系統體系結構
從圖中可以了解系統的體系結構。傳感器連接到ESP。 ESP將數據(距離)發送到Adafruit,然后對其進行處理以查看容器的裝滿程度。取決于哪個抽屜有多空以及洗衣袋有多滿,用戶將收到通知說,明天需要洗衣服。 IFTTT由Adafruit觸發,并采取措施通過Gmai發送電子郵件,在日歷中創建事件還是通過IFTTT應用發送通知。該設備帶有可在任何瀏覽器中打開的儀表板。儀表板使用Adafruit環境連接到硬件,該環境顯示傳感器的讀數。此外,從該級別可以從儀表板打開和關閉ESP。
步驟3:配置ESP
您可以輕松地操作自己的通過將ESP連接到Arduino IDE。您所需要做的就是為其下載并配置庫。您可以按照以下步驟操作:
2。打開您的IDE,轉到文件《首選項,然后在附加板管理器中復制以下鏈接,然后單擊“確定”關閉“首選項”選項卡。
http://arduino.esp8266.com/stable/package_esp8266。
3。轉到工具《板管理器《并搜索ESP8266并安裝版本2.4.1。您可以根據IDE的體積安裝其他版本。
畢竟,選擇了NodeMCU 1.0板。現在您可以像使用Arduino(甚至更好)一樣使用ESP。
4。完成與Arduino等筆記本電腦的ESP連接和工作后,進入下一級并連接WiFi或移動熱點。
第4步:連接硬件:傳感器到ESP。
在這里,您需要連接傳感器并對其進行編碼,以便為容器中的空白空間。
1。傳感器Vcc連接到NodeMCU VUpin。如果將其連接至3.3V,則傳感器將無法工作,因為其工作電壓為5V。
2。傳感器GND連接到NodeMCU GND。
3。傳感器觸發引腳連接到NodeMCU數字I/O D4。
4。傳感器回波針已連接到NodeMCU數字I/O D3。
此后,您可以編寫以下代碼以查看超聲波是否正常工作。確定傳感器,代碼和ESP正常工作后,可以將ESP連接到WiFi并檢查其是否正常工作。但是這樣做,硬件連接將發生一些變化,如下所述。但是在此之前,請確保將9V電池連接到POT,并且已經針對5V輸出電壓進行了調整。您不想燃燒您的ESP(它們聞起來很香)。
1。 ESP Vin和傳感器Vcc連接到電池的正極。
2。 ESP GND和傳感器GND連接到電池負極。請記住要接地,否則您的傳感器會提供隨機數據。
3。傳感器的觸發引腳連接到NodeMCU數字I/O D4。
4.傳感器的回波引腳連接到NodeMCU數字I/O D3。
超聲波傳感器的工作原理和編碼方式。
傳感器基本上發出一個脈沖并對其計時,直到它反射并返回到傳感器為止。根據時間和聲音的速度,我們必須制定距離。這基本上就是我們在這里所做的。傳感器本身只是簡單地將其“ ECHO”引腳保持在高電平的持續時間,該持續時間與從其發送的波中接收反射(回波)所花費的時間相對應。該模塊發出一陣聲波,同時向回波引腳施加電壓。該模塊接收來自聲波的反射,并去除回波引腳上的電壓。根據該距離,在超聲波傳感器中會產生一個脈沖,以將數據發送到ESP。起始脈沖約為10us,PWM信號基于距離為150 us-25us。如果沒有障礙物,則為ESP產生38us脈沖,以確認沒有檢測到物體。
D = 1/2×T×C; D是距離,T是發射和接收之間的時間,C是聲速,該值乘以1/2,因為T是返回距離的時間。
如上圖所示將它們連接在一起,并將其放在頂部的垃圾箱內部。
步驟5:將ESP8266與Adafruit IO連接:創建Adafruit IO帳戶
連接超聲傳感器選擇ESP8266和云Adafruit IO服務(使用MQTT協議)。
MQTT是一種簡單且輕巧的協議,它允許設備發布數據(從設備到服務器)和訂閱數據(從服務器收集數據)。 MQTT代理(在本例中為Adafruit.IO)提供了此解決方案的簡便性。通過它,設備可以發送和接收消息。
要注冊,請輸入網站:https://io.adafruit.com/,然后單擊“免費入門”。在下一個站點,用戶應輸入個人詳細信息,然后單擊“創建帳戶”按鈕。注冊后,用戶將移至帳戶的“主頁”部分。要進一步編寫超聲波傳感器的代碼,重要的是檢查以下兩個方面的AIO鍵(按鈕:查看AIO鍵):用戶名和活動鍵。
現在,我們準備創建Feed(用于保存傳感器數據值)和
步驟6:將ESP8266與Adafruit IO連接:創建Feed
此項目使用了6種不同的提要:
開/關提要-激活/停用ESP8266以獲得測量值的提要。由于添加了能源管理。 (進紙:Drawer-1-Onoff,Drawer-2-On-off,洗衣袋-On-off)。
讀取提要-正在從超聲波傳感器獲取存儲數據的提要(提手1) ,抽屜2,洗衣袋)。
創建Feed
進入Feed部分
》
單擊操作并創建一個新的提要
填充:提要的名稱(此處是第一個Drawer-1抽屜,以及簡短說明)
以相同的方式創建五個供稿。請記住,這些名稱將用于進一步的ESP8266代碼開發。
費用已經準備就緒,但是沒有一種簡單的方法可以同時嘗試所有讀數。這就是為什么需要儀表板的原因。
步驟7:將ESP8266與Adafruit IO連接:創建儀表板
在“儀表板”部分中開始創建儀表板。單擊“操作”按鈕(類似于“提要”部分中的內容)-》創建新的儀表板-》填充名稱(在本例中為:Your_Laundry_System)和簡短說明-》單擊“創建”按鈕。之后,您可以進入儀表板。
在控制臺中,單擊“創建新的阻止”按鈕。對于此應用程序,我們需要三種類型的塊:
3x切換(用于打開和關閉感應)
3x量規(在抽屜/洗衣袋中顯示實際高度)
3x折線圖(顯示歷史數據)
切換
單擊切換圖標。
選擇第一個ON/OFF提要,即Drawer-1-Onoff。
添加圖塊標題,即Clean T-shirts-Drawer 1.單擊“創建圖塊”。
將切換開關放置在儀表板的右上角。以相同的方式將其余的ON/OFF提要與Toogle連接。
Gauge
單擊“ Gauge”圖標。
選擇第一個數據收集提要:Drawer-1。
相應地填充數據:對于數據塊標題,即:清潔T恤-抽屜1,表最大值(取決于抽屜的深度- 10),低/高警告值(儀表顏色的改變)。
將儀表放置在儀表板上。以同樣的方式將其余的數據存儲源與儀表相連。
折線圖
單擊折線圖圖標
拾取拳頭數據收集提要:Drawer-1。
將“顯示歷史記錄”字段更改為24小時,并根據抽屜的深度更改Y軸“最大”和“小數”位置。
將折線圖放在儀表板上。以同樣的方式,將其余的數據存儲源與折線圖連接起來。
最終儀表板包含在圖像部分中。請記住,儀表板顯示洗衣袋/抽屜中還有多少空位。
步驟8:將ESP8266與Adafruit IO連接:為超聲波傳感器創建代碼
首先,需要Adafruit MQTT庫。為了進行安裝,請打開Arduino IDE-》工具-》管理庫,然后輸入搜索內容:Adafruit MQTT。該磁帶庫應安裝到您的計算機中。
在下載隨附的代碼示例(此處隨附用于洗衣袋中工作的超聲波傳感器的代碼)之后。
使其適用對于您的配置,您必須更改以下詳細信息:
WLAN_SSID-您的WiFi網絡的名稱。
WLAN_PASS-您的WiFi網絡的密碼。
AIO_USERNAME -Adafruit IO中的用戶名(從步驟4開始)。
AIO_KEY- Adafruit IO密鑰(從步驟4開始)。
Adafruit_MQTT_Publish 。..。“/feeds/Laundry-袋”-在這里您必須輸入將要發布數據的提要的名稱。
Adafruit_MQTT_Subscribe“/feeds/Laundry-bag-On-off”-在這里您必須輸入提要的名稱,
該程序必須上傳到ESP8266中。需要更改進紙匣1和進紙匣2的提要名稱。
重要提示:由于if(message ==“ ON”),系統將僅測量距離儀表板按鈕ON/OFF處于ON位置時一次。要再次測量,用戶必須關閉并再次打開儀表板上的傳感器。
將程序上傳到每個ESP8266儀表板后,應該顯示每個傳感器的讀數。可以從儀表板級別觸發傳感器。也可以從IFTTT小程序級別觸發系統(步驟13)。
步驟9:IFTTT,將IFTTT連接到Adafruit
警告:使用連接到Adafruit IO的三個傳感器觸發Google日歷和電子郵件時,IFTTT不是最可靠的連接。轉到步驟14,以了解有關Zapier的更多信息。
IFTTT是基于Web的服務,它創建簡單的條件“ If This Then That”。它可以與其他基于Web的服務(例如Gmail,Facebook,Instagram等)一起使用。簡單的條件包括“ This”(實際上是觸發器)和“ That”(需要執行的動作)。必須創建Applet才能使此簡單條件在IFTTT平臺中起作用。該項目利用Adafruit.io MQTT作為云來顯示洗衣袋中衣服的高度,然后抽屜,IFTTT將從Adafruit.io接收觸發器,以通過Google日歷或Gmail向用戶發送提醒。
首先在IFTTT網站上創建IFTTT帳戶。登錄到您的帳戶。 IFTTT需要連接到創建儀表板的Adafruit帳戶。轉到以下鏈接以連接到Adafruit https://ifttt.com/adafruit
下一步單擊“連接”,您將被定向到Adafruit網頁,然后單擊“授權”。如圖所示,該項目的IFTTT已連接到Adafruit帳戶。將IFTTT連接到Adafruit帳戶后,即可創建Applet。
步驟10:在IFTTT中創建Applet
此項目已嘗試連接到Gmail,Google日歷和IFTTT應用程序。以下是在平臺中創建Applet并從Adafruit創建觸發器的步驟。
1。轉到“我的小程序” https://ifttt.com/my_applets,然后單擊“新建小程序”
2。您將被引導至,然后按+ this或單擊平臺上的build。
步驟11:從Adafruit創建觸發器
現在,您可以開始配置自己的Applet。
1。首先,如果是Trigger,則搜索Services鍵入Adafruit,然后選擇Monitor on Adafruit IO上的feed
2。設置其他參數Feed標簽名稱,Feed標簽關系和Feed標簽值。設置為用戶可定制,以減輕以后是否需要任何更改,您無需通過平臺進行更改。
3。對于該項目,需要監視的Feed是抽屜1,抽屜2和洗衣袋。對于抽屜1和抽屜2,關系大于5,表示抽屜幾乎是空的,而洗衣袋的關系小于5,表示抽屜幾乎已滿。
步驟12 :創建對Gmail,Google日歷和對IFTTT應用程序的通知的操作。
最后要配置IFTTT的操作,對于這個項目,我們創建了Applet,每當Drawer 1或Drawer 2變空或洗衣袋已滿時,它都會向Gmail發送電子郵件,向Google Calendar發送事件。以下是創建操作的步驟:
1。動作搜索服務Gmail,Google日歷和通知
2。之后,您可以從拉菜單中選擇電子郵件或快速添加事件,或從IFTTT應用
3發送通知。然后準備好Apllets,可以根據您的項目為電子郵件,IFTTT應用程序的事件ot通知添加其他任何文本
步驟13:測試
現在我們測試一下洗衣系統。如解釋的那樣,每當抽屜之一快要用完或洗衣袋快滿時,用戶就會收到電子郵件或日歷中的事件以及通知。
但是,我們發現延遲接收電子郵件或Google Calender和IFTTT的問題僅發送了一封電子郵件,即使抽屜1和2以及洗衣袋均被觸發。此外,IFTTT App在發出通知方面沒有明顯的延遲。如圖所示,所有三個通知大約在同一時間收到。因此,我們建議將IFTTT應用程序用于此類系統,以減輕延遲。
步驟14:使用Zapier服務
由于我們在IFTTT中遇到了一個問題,即延遲很長,并且只收到一個實際上觸發了所有抽屜和洗衣袋的通知(Gmail或Google日歷)。已向Adafruit咨詢了此問題,他們建議使用Zapier。為了使用Zapier,您必須受到邀請,因為與Adafruit IO的連接仍處于測試階段(目前活躍用戶不到10個)。通過部署,我們可以在5分鐘內收到電子郵件和Google日歷(Zapier每5分鐘檢查一次,是否在受監控的供稿中顯示了新值,如果是,則運行applet)。此外,還有任務歷史記錄,我們可以在其中監視從Adafruit到Gmail和Google日歷的觸發器。
基本上,這與IFTTT的原理相同,您需要從Adafruit設置觸發器,然后在這種情況下從儀表板設置提要(無論是抽屜1,抽屜2還是洗衣袋)。該關系是在過濾器設置和條件中設置的,對于抽屜,我們將其設置為大于6,對于衣物洗滌器,則設置為小于5。最后,設置要通過Gmail發送電子郵件還是快速添加事件的操作。
步驟15:從IFTTT級別觸發系統
系統也可以從IFTTT觸發,這為用戶提供了自動化水平。為此,我們為每個傳感器創建了兩個其他小程序,一個小程序正在打開傳感器,第二個小程序正在關閉傳感器。
打開小程序
觸發(如果)
在“搜索服務”窗口中,鍵入:“數據和時間”。
選擇選項:“每天”。
設置所需小時的值(在此示例中為9:00 PM)。
操作(然后)
在搜索中服務窗口類型為Adafruit IO。
字段標簽-開/關源的名稱。
值:打開
用以下命令填充小程序標題字段小程序的名稱并添加簡短的小程序描述。單擊“保存”并打開小程序。
關閉小程序
克隆您的小程序和更改:
觸發器部分:時間值進入15分鐘后(即9:15 PM)。
操作部分:值:OFF。
單擊“保存”并打開小程序。
用相同的方法為其余的傳感器創建小程序。切記-從每個傳感器(不僅是儀表盤讀數)獲得通知,不應同時觸發兩個傳感器(這意味著抽屜1被觸發-9:00-9:15 PM,抽屜2-9:15-9:30PM ,洗衣房-9:30-9:45 PM。)
此處構建的IoT設備可以輕松批量生產并出售給銷售智能家居的公司。對于日程安排繁忙的人或有很多人和房間的大型家庭,這是一個有用的工具。在這種情況下,儀表板可以包含來自所有人的所有房間的數據,從而使他們的生活更輕松。由于這完全是無線的,因此可以輕松擴展到所需的任意數量的抽屜。
步驟17:您可能會遇到的麻煩
1。您可能會看到超聲波給出的隨機值。這是因為您的電源可能不是5V。最安全的方法是使用9V電池并使用電位計。
2。確保傳感器和ESP的接地相同,否則整個系統將無法正常工作。
步驟18:朝著終點。..
洗衣系統是個新主意。市場上還沒有這樣的產品。因此,如果您想在家中使用它,則必須自己建造。我們希望您能理解其中的說明。它只是物聯網和電子學的要旨。
此系統非常易于使用。但是,它有使用指南。垃圾箱中的衣服應保持折疊狀態,否則傳感器只會感覺到錯誤的距離。不建議將其用于小型抽屜中的冬季衣物,因為外套很笨重,而卸下一兩個夾克會意味著抽屜是空的。
-
超聲波傳感器
+關注
關注
18文章
586瀏覽量
35966 -
IOT
+關注
關注
187文章
4226瀏覽量
197266
發布評論請先 登錄
相關推薦
評論