BLE - V7RC 視頻串流

材料準備

  • AmebaPro2 [ AMB82 MINI ] x 1
  • Android / iOS 手機 x1
  • L9110S 伺服馬達控制器 x1
  • TT 馬達 x2

範例說明

介紹

在此範例中,我們將使用 Ameba Pro2 作為 BLE 外圍設備和伺服馬達控制器來與 V7RC 移動應用程序進行通信。視頻從板載鏡頭傳感器 (JXF37) 串流傳輸到 V7RC 行動應用程式。 V7RC是一款遙控器APP,提供兩種控制UI:第一種是2通道遙控的遙控車,另一種則是4通道遙控的坦克和推土機。

流程

1. 設置 RTSP 串流

打開範例 “Files” -> “Examples” -> “AmebaBLE” -> “BLEV7RC_CAR_VIDEO”:

1

由於視頻接收端是移動設備,因此在標記的代碼片段中,我們不使用默認的視頻設置,而是將視頻分辨率設置為VIDEO_D1(720×480)以限制視頻接收延遲。

1

在標記的代碼片段中,在“ssid”中填寫您的 WiFi 網絡 SSID,在“pass”中填寫網絡密碼。 由於視頻接收端是手機,我們建議使用5G網絡,因為它具有更低的延遲、更高的傳輸量和更大的頻寬,以提供更好的視頻傳輸品質。

1

編譯代碼並將其上傳到Ameba。 按下重置按鈕後,等待開發板連接到 Wi-Fi 網絡。 開發板的 IP 地址和網絡端口號將顯示在Serial Monitor中。

1

您可以從下面提供的連結下載V7RC APP。
• Android Users: https://play.google.com/store/apps/details?id=com.v7idea.v7rcliteandroidsdkversion&hl=en_US
• iPhone Users: https://apps.apple.com/nz/app/v7rc/id1390983964

APP安裝完成後,請確保您的手機與Ameba Pro2開發板連接到同一網絡進行串流。 打開V7RC APP,選擇“Control Centre”:

1

在NETWORK部分選擇“WIFI”,在CAMERA部分選擇“RTSP”。 由於使用 RTSP 作為串流協議,因此請在 CAMERA 部分下方的文本框中鍵入“rtsp://{IPaddress}:{port}”作為 V7RC 中的網絡 URL,將 {IPaddress} 替換為 Ameba Pro2 的 IP 地址、{port} 以及Serial Monitor中顯示的RTSP 端口。 默認 RTSP 端口號為 554。如果同時有兩個 RTSP 串流,則第二個端口號默認為 555。最後,單擊“Save”按鈕並返回主頁:

1

返回V7RC主頁,您可以在APP頂部查看Wi-Fi連接狀態。 單擊video按鈕(橙色)可實時監控視頻串流。

1

鏡頭的視頻串流將顯示在 V7RC APP 中。 同時,在您的Serial Monitor中,將出現消息“rtp started (UDP)”:

1

1

2. 建立 BLE 連線

打開 V7RC APP,選擇“Control Centre”:

1

在NETWORK部分下,選擇“BLE”:

1

單擊DEVICE,然後選擇AMEBA_BLE_DEV,然後單擊“LINK”按鈕連接到您的Ameba開發板:

1

打開Arduino serial monitor,您應該看到Ameba與手機成功連接的資訊:

1

返回V7RC主頁,您可以移動下圖所示的兩個控制器按鈕來接收數據。 數據接收成功,表明BLE連接已建立:

1

3. 設置伺服馬達

BLE 連接建立後,我們將使用兩組伺服馬達來控制小車的移動。 兩個伺服馬達將首先使用預定義的 MotoA_1A、MotoA_1B、MotoA_1B 和 MotoA_1B 引腳連接到 L9110S 控制器。
– 1A 引腳連接到 GPIO 引腳,用於控制馬達方向。
– 1B 引腳連接到 PWM 引腳,用於控制馬達速度。


#define MotoA_1A 16 // Control MotorA moving Forward(HIGH)/Backward(LOW)
#define MotoA_1B 7 // Control MotorA’s from speed 0~255, or stop (LOW)
#define MotoB_1A 17 // Control MotorB moving Forward(HIGH)/Backward(LOW)
#define MotoB_1B 8 // Control MotorB’s speed from 0~255, or stop (LOW)

在本例中,我們將使用 AMB82 MINI 作為示範。 詳細的連接引腳圖可以在下面找到。 連接建立後,用戶可以通過 V7RC App BLE 遠程控制伺服馬達。

1

程式碼說明
1. ParseCMDString(String cmd) 是一個自定義函數,它將字符串“cmd”作為輸入並對其進行處理。 目前,V7RC App 有 6 個可用命令,分別是:“SS2”、“SS4”、“SRT”、“SR2”和“SRV”。
2. 以下設置已經通過測試,以獲得更好的 V7RC RTSP 串流品質:


VideoSetting config(VIDEO_HD, CAM_FPS, VIDEO_H264, 0); // 1280x720
VideoSetting config(VIDEO_D1, CAM_FPS, VIDEO_H264, 0); // 720x480

請先確認已安裝QQ通訊軟體