基于樹莓派制作了一個實時交通儀表盤,來能夠更容易地開始使用AI HAT+功能
作為一個喜歡擺弄我的樹莓派5并在各種有趣的項目中使用它的人,我對用樹莓派AI HAT+構(gòu)建一些東西來集成AI模型而不會減慢樹莓派的速度的想法感到非常興奮。然而,當(dāng)我查看文檔時,我所能找到的都是在桌面操作系統(tǒng)上使用圖形應(yīng)用程序演示的例子。這對于將硬件嵌入到家里、辦公室或任何我需要它的地方的獨立項目中并不是很有幫助。
所以我創(chuàng)建了一個可重用的模塊,使我自己和其他人能夠更容易地開始使用AI HAT+功能。
為了展示它的可行性(并提醒自己上下班途中的交通狀況),我制作了一個實時交通儀表盤,顯示了我的樹莓派運(yùn)行YOLO模型和USB網(wǎng)絡(luò)攝像頭的視頻流的實時圖像和數(shù)據(jù)。
設(shè)置你的樹莓派
有關(guān)在Raspberry Pi 5上安裝AI HAT+的說明,請參閱官方文檔。
樹莓派從microSD卡啟動。您需要將樹莓派操作系統(tǒng)安裝到您將與Pi一起使用的microSD卡上。有關(guān)安裝Raspberry Pi的其他方法的更多詳細(xì)信息,請參閱Viam文檔。
安裝樹莓派操作系統(tǒng)
?將microSD卡連接到計算機(jī)上。
?下載Raspberry Pi Imager并啟動它。
?單擊“選擇設(shè)備”。選擇您的Pi型號,即Raspberry Pi 5。
?單擊“選擇操作系統(tǒng)”。在菜單中選擇“Raspberry Pi OS(64位)”。
?單擊CHOOSE STORAGE。從設(shè)備列表中,選擇您打算在Raspberry Pi中使用的microSD卡。
?配置您的樹莓派遠(yuǎn)程訪問。單擊Next。當(dāng)提示應(yīng)用操作系統(tǒng)自定義設(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ù)。“SSID”為Wi-Fi網(wǎng)絡(luò)名稱,“password”為網(wǎng)絡(luò)密碼。將“無線局域網(wǎng)國家”部分更改為您的路由器當(dāng)前正在運(yùn)行的地方。
?選擇“SERVICES”頁簽,勾選“Enable SSH”,并勾選“Use password authentication”。
?請確保記住您設(shè)置的主機(jī)名和用戶名,因為在SSH到Pi時將需要這些。
?保存您的更新,并確認(rèn)YES以應(yīng)用操作系統(tǒng)自定義設(shè)置。確認(rèn)“YES”清除u盤數(shù)據(jù)。操作系統(tǒng)也可能提示您輸入管理員密碼。向Imager授予權(quán)限后,它將開始寫入并驗證Linux安裝到USB閃存驅(qū)動器。
?安裝完成后,從計算機(jī)中取出USB閃存驅(qū)動器。
使用SSH連接
?將microSD卡插入樹莓派,并將其插入插座來啟動樹莓派。一個紅色LED會亮起,表示Pi已經(jīng)接通電源。
?啟動Pi后,使用SSH連接到它。從命令行終端窗口輸入以下命令。<>中的文本(包括<和>符號本身)應(yīng)該替換為您在設(shè)置Pi時配置的用戶和主機(jī)名。
?如果系統(tǒng)提示“您確定要繼續(xù)連接嗎?”,請輸入“yes”并按回車鍵。然后,輸入用戶名的密碼。您應(yīng)該看到一條登錄消息和一個命令提示符。
?更新您的樹莓派以確保安裝了所有最新的軟件包
安裝了操作系統(tǒng)后,是時候為AI HAT+設(shè)置系統(tǒng)包了。
設(shè)置硬件
如果您還沒有從上一步連接到Pi,則使用SSH連接到Pi。
啟用PCIe Gen 3.0速度以獲得最佳性能
?打開Raspberry Pi Configuration界面:
?選擇高級選項
?選擇PCIe速度
?選擇“Yes”,開啟PCIe Gen 3模式
?選擇Finish退出配置界面
?重啟設(shè)備
?用SSH重新連接到Pi以繼續(xù)。
設(shè)置系統(tǒng)依賴項
?安裝“hello -all”包,其中包含AI HAT+的固件、設(shè)備驅(qū)動程序和處理庫:
?這可能需要幾分鐘,具體取決于您的網(wǎng)絡(luò)速度。
?重啟設(shè)備
?用SSH重新連接Pi
?驗證一切正常運(yùn)行:
?您應(yīng)該看到類似以下的輸出:
添加你的網(wǎng)絡(luò)攝像頭
?將攝像頭的USB接口連接到Pi上的任何USB接口。攝像頭通過USB接口將視頻數(shù)據(jù)傳輸給樹莓派。
現(xiàn)在我們已經(jīng)物理地連接了硬件組件,將它們放置在一個可以很好地看到流量的位置。在下一節(jié)中,我們將配置機(jī)器。
配置您的機(jī)器
?在Viam應(yīng)用程序的LOCATIONS選項卡下,通過輸入名稱并單擊Add machine來創(chuàng)建一臺機(jī)器。
?單擊查看設(shè)置說明。
?要在您想要使用的Raspberry Pi設(shè)備上安裝viam-server,請為Raspberry Pi選擇Linux / Aarch64平臺,并將安裝方法保留為viam-agent。
?使用viam-agent下載并在Raspberry Pi上安裝viam-server。按照說明從您的Raspberry Pi的SSH提示符運(yùn)行安裝說明中提供的命令。
?當(dāng)機(jī)器成功連接時,設(shè)置頁面將顯示。
配置你的網(wǎng)絡(luò)攝像頭
?在Viam應(yīng)用的CONFIGURE選項卡下,點擊左邊菜單中的+圖標(biāo),然后選擇Component。
?選擇camera,并找到網(wǎng)絡(luò)攝像頭模塊。這增加了與USB網(wǎng)絡(luò)攝像頭一起工作的模塊。現(xiàn)在保留默認(rèn)名稱camera-1。
?注意,添加此組件會添加稱為camera-1的網(wǎng)絡(luò)攝像頭硬件組件。從面板的Attributes部分,選擇一個視頻路徑。
?單擊右上角的Save。這可能需要一些時間來應(yīng)用您的配置更改。
?在camera-1面板的底部,展開TEST部分,以確保您已經(jīng)正確配置了攝像機(jī)并看到視頻提要。
配置您的視覺服務(wù)
?在配置選項卡下的Viam應(yīng)用程序中,單擊左側(cè)菜單中的+圖標(biāo)并選擇Service。
?選擇vision,并找到hello -rt模塊。這增加了與AI HAT+使用的Hailo Runtime一起工作的模塊。選擇“添加模塊”?,F(xiàn)在保留默認(rèn)名稱vision-1。
?注意,添加此服務(wù)將添加稱為vision-1的計算機(jī)視覺軟件服務(wù)。從面板的Depends on部分,從“Search resources”下拉菜單中選擇camera-1。
?單擊右上角的Save。這可能需要一些時間來應(yīng)用您的配置更改。
?在vision-1面板的底部,展開TEST部分,以確保您已經(jīng)正確配置了服務(wù),并看到來自camera-1的圖像,上面有對象檢測框。
配置您的檢測傳感器
?在Viam應(yīng)用的CONFIGURE選項卡下,點擊左邊菜單中的+圖標(biāo),然后選擇Component。
?選擇傳感器,找到檢測模塊。這增加了一個用于從視覺服務(wù)捕獲目標(biāo)檢測數(shù)據(jù)的模塊。現(xiàn)在保留默認(rèn)名稱sensor-1。
?注意,添加此組件時還添加了稱為sensor-1的傳感器組件。從面板的Attributes部分,添加以下JSON配置。
在面板的Data capture部分,單擊“+ Add method”。設(shè)置“方法”為“讀數(shù)”,“頻率(赫茲)”為1。單擊面板內(nèi)橫幅中的“創(chuàng)建數(shù)據(jù)管理服務(wù)”,自動創(chuàng)建名為data_manager-1的數(shù)據(jù)管理服務(wù)。
?單擊右上角的Save。這可能需要一些時間來應(yīng)用您的配置更改。
?在sensor-1面板的底部,展開TEST部分,以確保您已經(jīng)正確配置了傳感器,并看到已配置標(biāo)簽的列表,其中包含定期刷新的檢測次數(shù)。
?有了所有的組件和服務(wù),您就可以繼續(xù)為您的機(jī)器創(chuàng)建實時遠(yuǎn)程操作儀表板了!
創(chuàng)建你的流量儀表盤
本步驟介紹如何使用Viam應(yīng)用程序的遠(yuǎn)程操作(或遠(yuǎn)程操作)功能。
?配置遠(yuǎn)程工作空間
?在Viam應(yīng)用程序中,返回到主頁。
?然后在TELEOP選項卡下,通過單擊create workspace創(chuàng)建一個新的儀表板。
?點擊“untitled-workspace”來設(shè)置儀表板的名稱。
?單擊“Select machine”并從列表中選擇先前配置的機(jī)器。
配置攝像頭流部件
?點擊“+ Add widget”,選擇“Camera stream”。
?注意,添加這個小部件會創(chuàng)建一個名為Camera的面板。在“Camera name”字段中選擇Camera -1,保持“Refresh type”為“Live”。
配置時間序列圖表小部件
?點擊“+添加小部件”,選擇“時間序列”。
?注意,添加這個小部件會創(chuàng)建一個名為Time series的新面板。設(shè)置“標(biāo)題”為“流量”,“時間段(分鐘)”為“30”。
?在面板的Lines部分下,為“資源名稱”選擇sensor-1,為“捕獲方法”選擇讀數(shù),為“標(biāo)題”選擇cars,以及讀數(shù)。汽車代表“路徑”。
?點擊“+添加行”添加新行。為傳感器捕獲的每個剩余標(biāo)簽創(chuàng)建一條線:總線和人。
?點擊“保存更改”來查看實時的攝像機(jī)流和數(shù)據(jù)更新。
保持建筑!
此時,您已經(jīng)創(chuàng)建了一個邊緣設(shè)備,可以執(zhí)行實時對象檢測并從任何地方遠(yuǎn)程監(jiān)控它!您可以繼續(xù)在此項目上添加其他功能:
?通過將紅色、黃色和綠色led連接到Pi上,模擬交通信號燈控制,模擬出智能城市控制系統(tǒng)。
?通過與家庭助理集成,使您的智能家居更加智能
?把它放到漫游車上,讓它移動起來
本文編譯自hackster.io