使用BW21-CBV-Kit作为BLE外围设备,并使用伺服电机控制器与V7RC移动应用程序通信
扫描二维码
随时随地手机看文章
BLE V7RC遥控视频传输车
材料
•BW21-CBV-Kit
•安卓/苹果手机* 1
•L9110S电机控制器x
•TT电机x 2
1. 描述
在本例中,我们将使用BW21-CBV-Kit作为BLE外围设备,并使用伺服电机控制器与V7RC移动应用程序通信。此外,视频将通过RTSP(实时流媒体协议)从板载相机传感器(JXF37P)流式传输到V7RC移动应用程序。
V7RC是一个远程控制应用程序,提供两个控制ui:一个有2个通道用于遥控汽车,另一个有4个通道用于坦克和推土机。
2. 过程
(1)建立RTSP流
通过导航到“Files”->“Examples”->“AmebaBLE”->“BLEV7RC_CAR_VIDEO”打开示例。
由于视频接收端是移动设备,因此在高亮显示的代码片段中,我们将不使用默认视频设置,而是将视频分辨率设置为VIDEO_D1 (720x480),以限制视频接收延迟。
在突出显示的代码片段中,在“ssid”中填写您的WiFi名称,在“pass”中填写您的WiFi密码。
由于视频流接收端是手机,因此建议使用5G网络,因为5G网络延迟更低,容量更高,带宽更大,可以提供更好的视频流质量。
编译代码并将其上传到BW21-CBV-Kit。按下Reset按钮后,等待开发板连接到Wi-Fi网络。
串口监视器将显示开发板的IP地址和RTSP网口编号。
APP安装完成后,请确保您的手机与BW21-CBV-Kit主板连接到同一网络进行流媒体。打开V7RC APP,选择“控制中心”。
在“网络”部分,选择“WIFI”。
在CAMERA部分下,选择“RTSP”。
由于使用RTSP作为流媒体协议,因此在CAMERA部分下的文本框中输入“RTSP:// {IPaddress}:{port}”作为V7RC中的网络URL,将{IPaddress}替换为BW21-CBV-Kit开发板的IP地址。
将{port}替换为串口监视器中显示的RTSP端口。默认RTSP端口号为554。如果同时有两个RTSP流,则第二个端口号默认为555。
最后,点击“保存”按钮,返回主页。
回到V7RC首页,您可以在APP顶部查看Wi-Fi连接状态,点击视频按钮(橙色)即可实时监控视频流。
摄像机的视频流将显示在V7RC APP中。同时,在您的串行监视器中,将显示“rtp启动(UDP)”消息。
(2)建立BLE连接
打开V7RC APP,选择“控制中心”。
在NETWORK部分,选择“BLE”。
点击DEVICE,选择AMEBA_BLE_DEV,点击“LINK”按钮连接到您的BW21-CBV-Kit板。
打开Arduino串行监视器,您应该看到BW21-CBV-Kit板已成功连接到手机的日志。
回到V7RC主页,您可以监视移动两个控制器按钮时打印的日志数据,如下图所示。接收到数据成功,表示已建立BLE连接。
(3)设置伺服系统
建立BLE连接后,我们将使用两套伺服电机来控制汽车的运动。两个伺服电机将首先使用预定义的MotoA_1A、MotoA_1B、MotoA_1B和MotoA_1B引脚连接到L9110S伺服控制器。
1A引脚连接到GPIO引脚,用于控制电机方向。
1B引脚连接到PWM引脚,用于控制电机速度。
在本例中,我们将使用AMB82 MINI进行演示。详细的连接引脚图如下所示。建立连接后,用户可以通过V7RC APP BLE远程控制伺服电机。
参考代码
ParseCMDString(字符串cmd)是一个自定义函数,它接受字符串“cmd”作为输入并处理它。目前,V7RC APP有“SS2”、“SS4”、“SRT”、“SR2”、“SRV”6条可用命令。
以下设置已经过测试,可以实现更好的V7RC RTSP流质量:
本文编译自hackster.io