机器人外设套件测试
目前犀牛派A1已内部测试通过了如下机器人外设套件,但实际支持不限于如下表格套件,更多套件使用等您探索。
| 序号 | 设备类型 | 设备名称 |
|---|---|---|
| 1 | USB转串口设备 | USB TO 4CH TTL USB TO 8CH TTL CH9102 CP2102 |
| 2 | 深度相机 | Intel RealSense D415 |
| 3 | 激光雷达 | Laser LDS-50C-E |
| 4 | 音频套装 | 思必驰麦克风、鱼亮功放板、HSY 1.5寸带音腔全频喇叭 |
| 5 | 超声波传感器 | 电应普DYP-A02YY-V2.0不带壳 |
| 9 | TOF传感器 | Nooploop TOFSense系列 |
| 10 | 温湿度传感器 | 搜博SM7820B |
USB TO 4CH TTL
- 套件官方文档:USB TO 4CH TTL
准备
- 犀牛派A1
- USB TO 4CH TTL 串口设备
- CH340 USB TO TTL 测试板
- 杜邦线若干
- Windows电脑
硬件连接
开发板通过USB接口连接CH344设备

CH340测试板连接Windows电脑USB口和CH344设备
其中:CH344的RXD、TXD、GND接入CH340的TXD、RXD、GND

测试
💡注意
在AidLux桌面的终端中执行命令时,如需输入aidlux密码,请输入:aidlux
获取到阿加犀开发板的IP后,通过浏览器登录到AidLux Web桌面,具体登录方法可参照硬件指南中登录章节。
登录后,AidLux终端中输入如下命令,查看CH344串口设备是否已被识别。
ls -l /dev/ttyC*
💡注意
CH344多路串口设备名与实际物理UART接口名一一对应,即:/dev/ttyCH343USB0 对应设备UART0;/dev/ttyCH343USB1 对应设备UART1, 以此类推。
- 在AidLux终端使用stty工具对设备UART口进行设置。
stty -F /dev/ttyCH343USB0 115200 # 设置ttyCH343USB0波特率为115200
stty -F /dev/ttyCH343USB0 -isig -icanon iexten -echo
Windows电脑端打开"串口调试工具",并打开对应串口和设置波特率(保持与在AidLux终端设置的一致)

在Windows电脑测的"串口调试工具"和AidLux测的终端上都设置好后,即可进行发送和接受信息测试。
AidLux端接收信息测试
在AidLux终端执行命令,查看接收的消息。
sudo cat /dev/ttyCH343USB0
在Windows电脑的"串口调式工具"上发送信息,同时可查看AidLux上能接收到信息。 
- AidLux端发送信息测试:
在AidLux终端上执行命令进行发送信息,同时可查看"串口调试工具"上能接受到信息。
echo 123abc > /dev/ttyCH343USB0💡注意
如果提示无权限,请执行命令:"sudo su",切换到root用户后再进行测试,需输入密码:aidlux

USB TO 8CH TTL
- 套件官方文档:USB TO 4CH TTL
准备
- 犀牛派A1
- USB TO 8CH TTL 串口设备
- CH340 USB TO TTL 测试板
- 杜邦线若干
- Windows电脑
硬件连接
- 开发板通过USB接口连接CH348设备,CH340测试板连接Windows电脑USB口和CH348设备
其中:CH348的RXD、TXD、GND接入CH340的TXD、RXD、GND

测试
💡注意
在AidLux桌面的终端中执行命令时,如需输入aidlux密码,请输入:aidlux
获取到阿加犀开发板的IP后,通过浏览器登录到AidLux Web桌面,具体登录方法可参照硬件指南中登录章节。
登录后,AidLux终端中输入如下命令,查看CH348串口设备是否已被识别。
ls -l /dev/ttyC*
💡注意
CH348多路串口设备名与实际物理UART接口名一一对应,即:/dev/ttyCH9344USB0 对应设备UART0;/dev/ttyCH9344USB1 对应设备UART1, 以此类推。
- 安装minicom工具
AidLux默认未安装minicom,可通过如下命令进行安装:
sudo apt update
sudo apt install minicom- 犀牛派A1端使用minicom工具打开串口设备
如当前接入的ch348的uart7口,则执行如下命令打开串口设备:
sudo minicom -D /dev/ttyCH9344USB7 -b 115200- Windows端使用串口调试工具打开串口设备
Windows可安装串口调试工具,打开该工具后,选择对应端口并打开,注意:波特率需与犀牛派A1端的minicom工具打开的保持一致,如115200.
- 两端互相发送信息测试
可在minicom上输入任意字符进行发送测试,Windows的串口调试工具能看到接收信息;反之。
提示
minicom默认不打印输入字符,可依次按 Ctrl-A Z E 键设置显示输入信息。

CH9102
准备
- 犀牛派A1
- CH9102 串口设备
- CH340 USB TO TTL 测试板
- 杜邦线若干
- Windows电脑
硬件连接
- 开发板通过USB接口连接CH9102设备,CH340测试板连接Windows电脑USB口和CH9102设备
其中:CH9102的RXD、TXD、GND接入CH340的TXD、RXD、GND

测试
💡注意
在AidLux桌面的终端中执行命令时,如需输入aidlux密码,请输入:aidlux
获取到阿加犀开发板的IP后,通过浏览器登录到AidLux Web桌面,具体登录方法可参照硬件指南中登录章节。
登录后,AidLux终端中输入如下命令,查看CH9102串口设备是否已被识别。
ls -l /dev/ttyC*
- 使用stty工具配置串口设备号
chmod 777 /dev/ttyCH343USB0 //给串口设备号赋权限
stty -F /dev/ttyCH343USB0 115200 //设置串口设备号波特率
stty -F /dev/ttyCH343USB0 -isig -icanon iexten -echo //设置其他- Windows端使用串口调试工具打开串口设备
Windows可安装串口调试工具,打开该工具后,选择对应端口并打开,注意:波特率需与犀牛派A1端的stty工具设置的保持一致,如115200.
- 两端互相发送信息测试
可通过echo命令向串口设备号发送字符,观察到Windows端的串口工具接收到信息;反之,在Windows端的串口工具发送字符,在犀牛派A1端可通过cat命令接收到信息。 发送命令:
echo 'demo123' > /dev/ttyCH343USB0接收命令:
cat /dev/ttyCH343USB0
CP2102
- 套件官方文档:CP2102
准备
- 犀牛派A1
- CP2102 串口设备
- CH340 USB TO TTL 测试板
- 杜邦线若干
- Windows电脑
硬件连接
- 开发板通过USB接口连接CP2102设备,CH340测试板连接Windows电脑USB口和CP2102设备
其中:CP2102的RXD、TXD、GND接入CH340的TXD、RXD、GND

测试
💡注意
在AidLux桌面的终端中执行命令时,如需输入aidlux密码,请输入:aidlux
获取到阿加犀开发板的IP后,通过浏览器登录到AidLux Web桌面,具体登录方法可参照硬件指南中登录章节。
登录后,AidLux终端中输入如下命令,查看CP2102串口设备是否已被识别。
ls -l /dev/ttyU*
- 使用stty工具配置串口设备号
chmod 777 /dev/ttyUSB0 //给串口设备号赋权限
stty -F /dev/ttyUSB0 115200 //设置串口设备号波特率
stty -F /dev/ttyUSB0 -isig -icanon iexten -echo //设置其他- Windows端使用串口调试工具打开串口设备
Windows可安装串口调试工具,打开该工具后,选择对应端口并打开,注意:波特率需与犀牛派A1端的stty工具设置的保持一致,如115200.
- 两端互相发送信息测试
可通过echo命令向串口设备号发送字符,观察到Windows端的串口工具接收到信息;反之,在Windows端的串口工具发送字符,在犀牛派A1端可通过cat命令接收到信息。 发送命令:
echo 'demo111' > /dev/ttyUSB0接收命令:
cat /dev/ttyUSB0
Intel RealSense D415 深度相机
准备
犀牛派A1
在AidLux-ubuntu22.04上预装ubuntu desktop、ros2、raviz2 具体安装方法可参照机器人软件安装指南
Intel RealSense D415 深度相机及安装驱动 安装方法如下: 在安装完ubuntu desktop并通过vnc工具连接后,可在终端窗口执行如下命令:
sudo apt-get update
sudo apt-get install ros-humble-realsense2-camera
硬件连接
将深度相机连接到犀牛派的USB接口
测试
- 连接好后,通过如下命令启动相机驱动
ros2 launch realsense2_camera rs_launch.py
- 打开rviz2 打开终端并输入:rviz2
rviz2
- 在rviz2中验证打开深度相机图像画面
点击左下角Add按钮

在弹框中点击By topic

双击打开/camera节点下的image,观察到左下角的image弹框出现相机拍摄的画面


Laser LDS-50C-E蓝海激光雷达
准备
犀牛派A1
在AidLux-ubuntu22.04上预装ubuntu desktop、ros2、raviz2 具体安装方法可参照机器人软件安装指南
Laser LDS-50C-E蓝海激光雷达
雷达所用的12V电源
硬件连接及网络配置
雷达接入12v电源,网口接入到犀牛派A1任意网口,配置默认IP(可使用ifconfig 配置临时IP)。
LDS-50C-E 与犀牛派A1之间使用标准以太网接口连接网线。为了保证雷达能够和犀牛派A1正常通讯,需要保证二者在同一个网段。 雷达出厂设置如下:
雷达 IP:192.168.158.98
雷达子网掩码:255.255.255.0
雷达网关:192.168.158.1
雷达默认上传地址:192.168.158.15
犀牛派网络设置如下:
网口 IP:192.168.158.15
网口子网掩码:255.255.255.0
网口网关:192.168.158.1

网线连接并配置好IP后,请通过Ping命令检查是否网络已接通。
11.6.3 获取并构建蓝海ROS2驱动包
通过vnc工具,打开Ubuntu desktop后,依次执行如下命令:
- 从github获取蓝海ROS2驱动程序,并部署到对应位置
sudo su //密码: aidlux
mkdir bluesea2
cd bluesea2
git clone https://github.com/BlueSeaLidar/bluesea-ros2.git src- 安装依赖
sudo apt update
sudo apt install -y python3-colcon-common-extensions- 构建
colcon build- 更新当前ROS2包环境
source ./install/setup.sh- 使用ROS2 launch运行驱动
ros2 launch bluesea2 udp_lidar.launch
测试
通过vnc工具,打开Ubuntu desktop后,依次执行如下命令:
- 数据验证:扫描是否正常输出
ros2 topic echo /scan
- 打开可视化工具rviz2
rviz2- 打开后依次点击如下按钮,打开可视化界面 LDS50C-keshihua.png


音频套件
阿加犀推荐的音频套件包含三部分:HSY全频喇叭、鱼亮功放板、思必驰麦克风。如下将介绍这三部分如何进行连接。
准备
- 犀牛派A1
- HSY 1.5寸带音腔全频喇叭
- 鱼亮功放板
- 思必驰麦克风
- 其他连接线缆若干
硬件连接
整体连接图:

HSY音响连接鱼亮功放板
HSY音响红色线缆为正,黑色线缆为负,分别接入到功放板的L+或R+;L-或R-。如有两个音响,需要分别接入到功放板的左右声道(L+, L-;R+,R- )

- 思必驰麦克风一侧连接鱼亮功放板
麦克风的LP, LN, GND, RP, RN 分别接入到功放板的LO+,LO-,GND,RO+,RO-. 注意:功放板上有两个GND,同时接入到麦克风的GND。
LP - LO+
LN - LO-
GND - GND
RP - RO+
RN - RO-

- 思必驰麦克风另一侧连接犀牛派A1的USB接口
需DIY线缆。线序:麦克风的5V、DP、DM、GND 分别连接USB线缆剥开后的5V(红色)、Data+(绿色)、Data-(白色)、GND(黑色)

- 功放板连接犀牛派A1的USB接口
功放板的3.5mm音频接口接入到USB转3.5mm接口转换器上,再插入到犀牛派A1的usb口。

测试
录音测试
- 列出所有录音设备
sudo arecord -l
找到USB Audio,读取到该设备的声卡编号即card x(x即为声卡编号),读取到该声卡下的设备编号即device y(y即为子设备编号),设备标识格式:hw:X,Y(X 是声卡编号,Y 是子设备编号)。当前示例读取出的设备标识为: hw:2,0
- 列出设备所支持的各项参数
sudo arecord -D hw:2,0 --dump-hw-params
注意如下几个参数:
FORMAT:设备支持的采样格式。目前支持的格式为:S16_LE
CHANNELS:表明设备支持的声道数量范围。当前声道数量为:2
RATE:显示设备支持的采样率范围,单位为HZ。目前支持的采样率为:16000
- 开始录音
注意命令中的参数,需要与上一步骤查出来的值保持一致。如-f 即采样格式, -r即采样率, -c即声道数量,-d即录音时长。
sudo arecord -D hw:2,0 -f S16_LE -r 16000 -c 2 -d 5 output.wav
播放测试
- 列出所有播放设备
sudo aplay -l
找到USB Audio,读取到该播放设备的声卡编号即card x(x即为声卡编号),读取到该声卡下的设备编号即device y(y即为子设备编号),设备标识格式:hw:X,Y(X 是声卡编号,Y 是子设备编号)。当前示例读取出的设备标识为: hw:2,0
- 列出设备所支持的各项参数
sudo aplay -D hw:1,0 --dump-hw-params /dev/zero
注意如下几个参数:
FORMAT:设备支持的采样格式。目前支持的格式为:S16_LE S24_3LE
RATE:显示设备支持的采样率范围,单位为HZ。目前支持的采样率为:44100 96000
根据以上参数值可以看到,其中播放设备的采样率与录音设备的采样率不一致,录音设备为16000 播放设备为 44100 96000,因此我们需要将录好的音频转换一下采样率,如转换成44100的采样率,方法如下:
安装转换工具
sudo apt update
sudo apt install sox libsox-fmt-all开始转换
sudo sox output16k.wav -r 44100 output44k.wav
- 开始播放录好的音频
注意命令中的参数,需要与上一步骤查出来的值保持一致。如-f 即采样格式, -r即采样率, -c即声道数量。
sudo aplay -D hw:1,0 -f S16_LE -r 44100 -c 2 output44k.wav
DYP-A02YY-V2.0超声波传感器
准备
- 犀牛派A1
- DYP-A02YY-V2.0超声波传感器(输出方式为RS485,也可选择UART输出)
- 其他连接线缆若干
硬件连接
传感器需要最低5V供电,但由于犀牛派A1的5vpin以及GND pin脚还在调试中,本实例中通过外部给传感器供电。
超声波传感器的RS485A、RS485B接入犀牛派A1的RS485A、RS485B进行通信。

测试
电应普超声波传感器,需要手动发送测距指令后,才会得到测距结果。每发送一次,得到一次结果。
1、因测试工具minicom无法设置输入16进制数据来控制传感器测距,因此可以编写脚本进行进制转换后发送数据到串口设备号上来进行控制。脚本内容如下:
#!/bin/bash
# 检查参数数量
if [ "$#" -ne 2 ]; then
echo "使用方法: $0 [串口设备] [十六进制数据]"
exit 1
fi
# 串口设备,例如 /dev/ttyS2
SERIAL_PORT=$1
# 十六进制数据,例如 '1F2E3D4C'
HEX_DATA=$2
# 将十六进制数据转换为二进制流并发送到串口
printf "$HEX_DATA" | xxd -r -p > $SERIAL_PORT2、使用脚本发送控制指令:sudo ./send_hex.sh /dev/ttyHS1 '01030100000185F6'
./send_hex.sh /dev/ttyHS1 '01030100000185F6'/dev/ttyHS1:犀牛派A1的RS485设备号
01030100000185F6:读取处理值数据,也有其他指令,详情请查看电应普产品说明书
3、在aidlux中使用minicom工具接收数据。(如未安装,请通过sudo apt update; apt install minicom安装)。打开minicom:sudo minicom -D /dev/ttyHS1 -b 9600 -H
sudo minicom -D /dev/ttyHS1 -b 9600 -H/dev/ttyHS1:犀牛派A1的RS485设备号
-b 9600:设置波特率为9600(传感器的默认波特率为9600)
-H:显示16进制数据

Nooploop TOF传感器
- 套件官方文档:Nooploop TOFSense系列
准备
- 犀牛派A1
- Nooploop TOFSense系列 TOF传感器
- USB TO 4CH TTL 串口扩展设备
- 其他连接线缆若干
硬件连接
使用CH344串口设备,将TOF传感器的VCC、GND、TX、RX连接CH344设备任意uart口的VCC、GND、RX、TX。当前示例使用的是uart0口。

测试
连接好后,在aidlux终端中打开minicom工具(如未安装,请使用命令sudo apt update;sudo apt install minicom安装)。
sudo apt update;sudo apt install minicom安装好后,打开串口:
sudo minicom -D /dev/ttyCH343USB0 -b 921600 -H
sudo minicom -D /dev/ttyCH343USB0 -b 921600 -HTOF传感器默认的波特率为921600,且需要使用16进制显示。
注意:如果minicom 只显示了一行,请做如下设置:
按CTRL-A Z ,进入到minicom的设置页面,再按W,设置换行显示。
如下是接收到的数据示例。

搜博SM7820B温湿度传感器
- 套件官方文档:搜博SM7820B
准备
- 犀牛派A1
- 搜博 SM7820B 温湿度传感器
- 其他连接线缆若干
- 外接5V电源
硬件连接
1、传感器需要最低5V供电,但由于犀牛派A1的5vpin以及GND pin脚还在调试中,本实例中通过外部给传感器供电。
2、温湿度传感器的RS485A、RS485B接入犀牛派A1的RS485A、RS485B进行通信。

测试
搜博温湿度传感器,需要手动发送测量指令后,才会得到测量结果。每发送一次,得到一次结果。
1、因测试工具minicom无法设置输入16进制数据来控制传感器测量,因此可以编写脚本进行进制转换后发送数据到串口设备号上来进行控制。脚本内容如下:
#!/bin/bash
# 检查参数数量
if [ "$#" -ne 2 ]; then
echo "使用方法: $0 [串口设备] [十六进制数据]"
exit 1
fi
# 串口设备,例如 /dev/ttyS2
SERIAL_PORT=$1
# 十六进制数据,例如 '1F2E3D4C'
HEX_DATA=$2
# 将十六进制数据转换为二进制流并发送到串口
printf "$HEX_DATA" | xxd -r -p > $SERIAL_PORT2、使用脚本发送控制指令:sudo ./send_hex.sh /dev/ttyHS1 '010300000002C40B'
./send_hex.sh /dev/ttyHS1 '010300000002C40B'/dev/ttyHS1:犀牛派A1的RS485设备号
010300000002C40B:读取温湿度测量数据,也有其他指令如修改波特率,详情请查看搜博产品说明书
3、在aidlux中使用minicom工具接收数据。(如未安装,请通过sudo apt update; apt install minicom安装)。打开minicom:sudo minicom -D /dev/ttyHS1 -b 9600 -H
sudo minicom -D /dev/ttyHS1 -b 9600 -H/dev/ttyHS1:犀牛派A1的RS485设备号
-b 9600:设置波特率为9600(传感器的默认波特率为9600)
-H:显示16进制数据

结果分析
通过向温湿度传感器发送问答帧命令后,会返回一个应答帧结果:01 03 04 0a e4 17 65 76 07 响应格式如下图:

其中数据1为温度、数据2为湿度。根据搜播SM7820B说明书提供的计算方式,以计算温度为例:
将 0a e4 转换为10进制为:2788
数据倍率为100,实际温度则使用2788/100=27.88℃ , 即当前室内温度为27.88℃ 。