使用BW21-CBV-Kit作為BLE外圍設備,并使用伺服電機控制器與V7RC移動應用程序通信
BLE V7RC遙控視頻傳輸車
材料
?BW21-CBV-Kit
?安卓/蘋果手機* 1
?L9110S電機控制器x
?TT電機x 2
1. 描述
在本例中,我們將使用BW21-CBV-Kit作為BLE外圍設備,并使用伺服電機控制器與V7RC移動應用程序通信。此外,視頻將通過RTSP(實時流媒體協(xié)議)從板載相機傳感器(JXF37P)流式傳輸?shù)絍7RC移動應用程序。
V7RC是一個遠程控制應用程序,提供兩個控制ui:一個有2個通道用于遙控汽車,另一個有4個通道用于坦克和推土機。
2. 過程
(1)建立RTSP流
通過導航到“Files”->“Examples”->“AmebaBLE”->“BLEV7RC_CAR_VIDEO”打開示例。
由于視頻接收端是移動設備,因此在高亮顯示的代碼片段中,我們將不使用默認視頻設置,而是將視頻分辨率設置為VIDEO_D1 (720x480),以限制視頻接收延遲。
在突出顯示的代碼片段中,在“ssid”中填寫您的WiFi名稱,在“pass”中填寫您的WiFi密碼。
由于視頻流接收端是手機,因此建議使用5G網(wǎng)絡,因為5G網(wǎng)絡延遲更低,容量更高,帶寬更大,可以提供更好的視頻流質(zhì)量。
編譯代碼并將其上傳到BW21-CBV-Kit。按下Reset按鈕后,等待開發(fā)板連接到Wi-Fi網(wǎng)絡。
串口監(jiān)視器將顯示開發(fā)板的IP地址和RTSP網(wǎng)口編號。
APP安裝完成后,請確保您的手機與BW21-CBV-Kit主板連接到同一網(wǎng)絡進行流媒體。打開V7RC APP,選擇“控制中心”。
在“網(wǎng)絡”部分,選擇“WIFI”。
在CAMERA部分下,選擇“RTSP”。
由于使用RTSP作為流媒體協(xié)議,因此在CAMERA部分下的文本框中輸入“RTSP:// {IPaddress}:{port}”作為V7RC中的網(wǎng)絡URL,將{IPaddress}替換為BW21-CBV-Kit開發(fā)板的IP地址。
將{port}替換為串口監(jiān)視器中顯示的RTSP端口。默認RTSP端口號為554。如果同時有兩個RTSP流,則第二個端口號默認為555。
最后,點擊“保存”按鈕,返回主頁。
回到V7RC首頁,您可以在APP頂部查看Wi-Fi連接狀態(tài),點擊視頻按鈕(橙色)即可實時監(jiān)控視頻流。
攝像機的視頻流將顯示在V7RC APP中。同時,在您的串行監(jiān)視器中,將顯示“rtp啟動(UDP)”消息。
(2)建立BLE連接
打開V7RC APP,選擇“控制中心”。
在NETWORK部分,選擇“BLE”。
點擊DEVICE,選擇AMEBA_BLE_DEV,點擊“LINK”按鈕連接到您的BW21-CBV-Kit板。
打開Arduino串行監(jiān)視器,您應該看到BW21-CBV-Kit板已成功連接到手機的日志。
回到V7RC主頁,您可以監(jiān)視移動兩個控制器按鈕時打印的日志數(shù)據(jù),如下圖所示。接收到數(shù)據(jù)成功,表示已建立BLE連接。
(3)設置伺服系統(tǒng)
建立BLE連接后,我們將使用兩套伺服電機來控制汽車的運動。兩個伺服電機將首先使用預定義的MotoA_1A、MotoA_1B、MotoA_1B和MotoA_1B引腳連接到L9110S伺服控制器。
1A引腳連接到GPIO引腳,用于控制電機方向。
1B引腳連接到PWM引腳,用于控制電機速度。
在本例中,我們將使用AMB82 MINI進行演示。詳細的連接引腳圖如下所示。建立連接后,用戶可以通過V7RC APP BLE遠程控制伺服電機。
參考代碼
ParseCMDString(字符串cmd)是一個自定義函數(shù),它接受字符串“cmd”作為輸入并處理它。目前,V7RC APP有“SS2”、“SS4”、“SRT”、“SR2”、“SRV”6條可用命令。
以下設置已經(jīng)過測試,可以實現(xiàn)更好的V7RC RTSP流質(zhì)量:
本文編譯自hackster.io