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