這個項目的目標是建造一個物聯網風格的電動寵物門,這樣我們就可以控制哪些動物可以進入房子。為此,我們使用附著在動物(貓)上的BLE標簽和RaspberryPi3上的內置藍牙模塊來掃描標簽。同時我們還在RaspberryPi3上配備了一些LED指示燈,用于對門應該處于的狀態進行故障排除。
Node-REDBLEScan節點持續掃描BLE廣告。如果它看到與設備名稱和最小RSSI匹配的設備,它將打開寵物門,并在超時后關閉門。為了防止門在緩慢移動的動物身上過早關閉,系統將在獲得BLE匹配時重置計時器。
這個項目有幾個不同的部分:
硬件:操縱門所需的所有布線和組件
軟件:決定門應該向哪個方向移動的所有邏輯。
硬件
門的打開和關閉由一個12VDC電動汽車天線完成,該天線倒置安裝在門上方,天線的末端連接到門本身。并帶有一個電路,可以對其進行逆向工程以控制天線,但我們在這里不通過這種方式,因此您需要將電路撕掉并直接使用電機線。
要驅動天線電機,您很可能需要至少1A的12V電源。我使用了一個舊的D-Link路由器電源:
您需要在門上安裝兩個限位開關以停止兩端的電機。我使用了磁性開關,因為這是我手頭有的現成的東西,但是帶有杠桿臂的標準開關會更好。
根據下圖組裝H橋PiHat,注意二極管的方向;這是限制電路。使用的H橋是雙通道的,但我們現在只使用一個。如圖所示,電機、開關和12VDC輸入將連接到PiHat。
根據下圖組裝LEDPiHat。藍色LED需要的電流比Pi能夠通過GPIO可靠提供的電流多一點,因此我們從5V線路為所有LED供電,并使用連接到GPIO的晶體管來切換它們。
軟件
該項目的軟件只是在標準Raspbian安裝上運行的Node-RED。大多數邏輯都是使用帶有RPi版本node-red的標準節點處理的,但BLE掃描儀除外,它需要來自node-red-contrib-noble的“scanble”節點。按照以下鏈接中的說明設置組件:
安裝Raspbian
安裝Node-RED
安裝node-red-contrib-noble
在一切都安裝并工作后,繼續配置您的Node-RED流程,使其看起來像這樣:
我們的流程入口點是“scanble”節點;確保選中該框以允許重復。
之后添加一個“function”節點來根據“localname”屬性過濾BLE廣告;我使用了使用“Tile”作為本地名稱的TileTracker標簽。
接下來是一個“切換”節點,用于檢查廣告的RSSI。您需要調整此設置以匹配標簽和開門距離。
然后,您可以添加另一個“開關”節點來根據標簽的唯一ID過濾標簽,這樣它就不會在門附近的其他標簽上觸發。如果您還不知道唯一ID,您可以使用“scanble”節點上的調試節點來查看廣告并嘗試查看哪個是您的。設置第一條規則匹配一個空UUID并且不連接輸出;這將過濾掉一些垃圾廣告,為每個UUID添加附加規則。
為您在前一個節點中添加的每個規則添加一個“更改”節點,并為其賦予一個唯一的“觸發源”值。這些節點不是必需的,但它們將使您能夠在將來對每個標簽進行額外的過濾,我用我的貓的名字作為來源。
接下來,我們需要通過將消息有效負載更改為1來告訴流的其余部分我們想要觸發門打開。將任何打開的觸發源連接到此節點。
現在這個觸發消息將做兩件事:觸發藍色LED閃爍以接收BLE數據包,并觸發門打開。
首先通過添加“觸發器”節點來設置LED路徑。將其設置為發送1,然后在500毫秒后發送0。這將導致LED僅閃爍一次。
到該節點連接一個“rpigpio”輸出節點并將其配置為藍色LEDGPIO。將其設置為初始化為0(關閉)狀態。
接下來是配置門觸發路徑。返回觸發有效負載節點并將“更改”節點與兩個輸出連接。一個輸出將路由到具有“1”有效負載的開放路徑,另一個將路由到具有“0”有效負載的關閉路徑。
這兩個輸出都將連接到同一個節點,但打開的連接在路徑中有一個額外的觸發節點,可以在超時后觸發關閉。添加“觸發”節點以發送“1”,然后在超時(15秒)后發送“0”。
然后將該觸發節點和前一個節點的第二個輸出連接到“功能”節點。此功能節點有兩個輸出連接到打開的GPIO節點和關閉的GPIO節點。由于您不希望門同時打開和關閉,因此它將向每個輸出發送相反的值。因此,如果觸發有效載荷為“1”表示打開,它將向打開的GPIO發送“1”,向關閉的GPIO發送“0”,如果有效載荷為“0”表示關閉,它將向打開的GPIO發送“0”和“1”到關閉的GPIO。
最后,將兩個GPIO節點連接到每個輸出:一個用于LED,一個用于H橋輸入。
這應該對主要的Node-RED流程執行此操作。此外,您應該添加一個“注入”節點以自動“1”有效負載以在啟動時打開門,這樣流程就知道門處于哪個狀態。我還添加了一些手動注入節點,用于通過Node-RED接口。
-
物聯網
+關注
關注
2909文章
44701瀏覽量
373956 -
藍牙模塊
+關注
關注
30文章
575瀏覽量
55746 -
樹莓派
+關注
關注
116文章
1708瀏覽量
105683
發布評論請先 登錄
相關推薦
評論