用毫米波LD2410C構建一個智能探測器,根據房間的存在情況來開關燈
厭倦了對著你的運動傳感器揮手,厭倦了當你還在房間里的時候燈就會熄滅?
傳統(tǒng)的PIR傳感器在準確性方面存在問題,會忽略微小的運動,而且只能猜測你何時在房間里。毫米波(mmwave)傳感器是一種更智能的自動化照明方式,它使用精確的檢測來捕捉最微小的動作,比如呼吸。
準備好升級您的設置了嗎?讓我們從設置硬件開始。
添加LD2410毫米波傳感器
連接CP2102串口適配器:將串口適配器插入樹莓派的USB-A接口。
連接LD2410毫米波傳感器到適配器:連接適配器到LD2410毫米波傳感器的接線圖如下。確保適配器上的發(fā)送引腳(TX)連接到傳感器上的接收引腳(RX),反之亦然。有關更多詳細信息,請參閱傳感器產品規(guī)格。
設置你的智能插頭
將Kasa智能插頭插入電源插座。
設置好你的智能插頭,并使用app Store或谷歌Play中的Kasa移動應用程序將其連接到本地Wifi。
在路由器的管理頁面上找到智能插頭的IP地址。從web瀏覽器中輸入路由器的IP地址(通常為192.168.1.1或192.168.0.1),然后使用管理員用戶名和密碼登錄。查找“連接設備”、“設備列表”或“DHCP客戶端”等部分。通過名稱、MAC地址(顯示在Kasa移動應用程序中)或制造商名稱(通常是TP-Link)找到您的Kasa智能插頭。把IP地址記下來,因為我們很快還會用到它。
命令行替代安裝python- kaslibrary,并輸入命令kasa discover來定位連接設備的IP地址。
將燈插入Kasa智能插頭
現(xiàn)在您已經物理連接了硬件組件,讓我們在下一節(jié)中配置軟件。
設置你的樹莓派
樹莓派從USB閃存驅動器(或microSD卡)啟動。您需要將樹莓派操作系統(tǒng)安裝在與Pi一起使用的USB閃存驅動器上。
?安裝樹莓派操作系統(tǒng)
?將USB閃存驅動器(或microSD卡)連接到計算機上。
?下載Raspberry Pi Imager并啟動它。
?單擊“選擇設備”。選擇您的Pi型號,即Raspberry Pi 4。
?單擊“選擇操作系統(tǒng)”。在菜單中選擇“Raspberry Pi OS(64位)”。
?單擊CHOOSE STORAGE。從設備列表中,選擇您打算在Raspberry Pi中使用的USB閃存驅動器。
?配置您的樹莓派遠程訪問。單擊Next。當提示應用操作系統(tǒng)自定義設置時,選擇EDIT settings。
?選中Set hostname,并在該字段中輸入您想要訪問Pi的名稱,例如test。
?選中“設置用戶名和密碼”復選框,并設置用于登錄Pi的用戶名(例如,您的名字)。如果跳過此步驟,默認用戶名將是pi(出于安全原因不建議使用)。并指定密碼。
?將你的Pi連接到Wi-Fi,這樣你就可以無線運行viam-server了。選中“配置無線局域網”并輸入無線網絡憑據。“SSID”為Wi-Fi網絡名稱,“password”為網絡密碼。將“無線局域網國家”部分更改為您的路由器當前正在運行的地方。
?選擇“SERVICES”頁簽,勾選“Enable SSH”,并勾選“Use password authentication”。
?請確保記住您設置的主機名和用戶名,因為在SSH到Pi時將需要這些。
?保存您的更新,并確認YES以應用操作系統(tǒng)自定義設置。確認“YES”清除u盤數據。操作系統(tǒng)也可能提示您輸入管理員密碼。向Imager授予權限后,它將開始寫入并驗證Linux安裝到USB閃存驅動器。
?安裝完成后,從計算機中取出USB閃存驅動器。
使用SSH連接
將USB閃存驅動器插入樹莓派,并通過將其插入插座來啟動樹莓派。一個紅色LED會亮起,表示Pi已經接通電源。
確保使用5V 3A USB-C電源為樹莓派4供電。使用電流不足的電源可能導致不穩(wěn)定、節(jié)流或意外行為。此外,雖然在較新的樹莓派4型號上默認啟用USB引導,但舊版本可能需要固件更新才能啟用它。有關詳細的安裝說明和兼容性,請參閱Raspberry Pi文檔。
啟動Pi后,使用SSH連接到它。從命令行終端窗口輸入以下命令。<>中的文本(包括<和>符號本身)應該替換為您在設置Pi時配置的用戶和主機名。
如果系統(tǒng)提示“您確定要繼續(xù)連接嗎?”,請輸入“yes”并按回車鍵。然后,輸入用戶名的密碼。您應該看到一條登錄消息和一個命令提示符。
更新您的樹莓派以確保安裝了所有最新的軟件包
配置您的機器和外圍設備
在Viam應用程序的LOCATIONS選項卡下,通過輸入名稱并單擊Add machine來創(chuàng)建一臺機器。
要在樹莓派設備上安裝viam-server,您想要使用它與您的網絡攝像頭進行通信和控制,請為樹莓派選擇Linux / Aarch64平臺,并將安裝方法保留為viam-agent。
使用viam-agent下載并在Raspberry Pi上安裝viam-server。按照說明從您的Raspberry Pi的SSH提示符運行安裝說明中提供的命令。
當機器成功連接時,設置頁面將顯示。
配置毫米波傳感器
?在Viam應用的CONFIGURE選項卡下,點擊左邊菜單中的+圖標,然后選擇Component。
?選擇sensor,找到mmwave:毫米波模塊。這增加了從LD2410C毫米波傳感器獲取讀數的模塊。
?命名該組件為毫米波傳感器。
?單擊Save以應用您的配置更改。這可能需要一些時間。
?展開TEST部分查看毫米波傳感器檢測到的讀數。
?故障排除:仔細檢查傳感器組件的接線。還要在LOGS選項卡下檢查可能出現(xiàn)的問題。
配置智能插頭
在Viam應用程序中,讓我們配置其余的硬件,以便您的機器可以通過wifi與智能插頭通信。單擊左側菜單中的+圖標并選擇Component。選擇generic,找到kasa:交換模塊。這是一個通用模塊,已配置為使用python-kasa庫。換句話說,它是一個抽象層,允許我們在Viam中使用Kasa制造商的api。
添加此模塊,并將其重命名為kasa-switch。
請注意,添加此模塊將添加稱為kasa-switch的通用硬件組件以及稱為kasasmartplug的模塊,該模塊包含樹莓派和智能插頭如何相互工作的邏輯。
在generic-1卡的CONFIGURE部分,添加您在前面步驟中找到的智能插頭的IP地址,格式如下。
保存您的更新。
將智能插頭與傳感器讀數同步
現(xiàn)在我們已經連接并配置了智能插頭和毫米波傳感器,讓我們根據傳感器的檢測狀態(tài)對燈進行編程,使其打開或關閉。
我們已經學習了如何使用預構建的Viam模塊來處理硬件組件。在下一節(jié)中,我們將使用預構建的Viam模塊設置狀態(tài)檢測服務,該模塊包含用于處理我們已經配置的硬件的控制代碼。
配置狀態(tài)檢測服務
在配置選項卡下的Viam應用程序中,單擊左側菜單中的+圖標并選擇Service。
選擇generic,找到mmwave-kasa:mmwave-kasa模塊。這增加了基于檢測到的存在來控制智能插頭的模塊。
命名服務狀態(tài)檢測器。
在新的狀態(tài)檢測器面板中,通過在configure字段中添加以下屬性來配置您的服務。這將告訴您的狀態(tài)檢測器服務使用您的Viam機器中的特定組件(由Viam應用程序中的組件名稱標識)。
單擊Save以應用您的配置更改。這可能需要一些時間。當程序開始時,LED將顯示連鎖反應。
一旦程序開始,當傳感器檢測到狀態(tài)為“移動目標”或“靜態(tài)目標”時,智能插頭應打開。您可以在logs選項卡下查看日志,了解更多關于幕后發(fā)生的事情的詳細信息,以及檢測到的與LED對應的狀態(tài)。
下一個步驟
更新代碼:要進一步定制智能燈的邏輯,您可以使用此起始代碼并創(chuàng)建自己的Viam模塊。
更新硬件:如果你沒有智能插頭,你可以添加一個視覺指示燈來點亮RGB LED。
組裝毫米波傳感器外殼:我找到了一個我喜歡的現(xiàn)有設計。由于設計有足夠的空間容納電線,我簡單地從女對男切換到女對女跳線。如果你愿意,你也可以焊接連接。該外殼包括一個插槽,用于安全地滑動毫米波傳感器到位,確保其正確定位,以檢測運動和存在。
本文編譯自hackster.io