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