1. 快速开始
1.1. 准备工作
在使用旭日X3派开发板前,需要做下述准备工作:
供电
旭日X3派开发板通过USB Type C接口供电,需要使用支持5V 3A的电源适配器为开发板供电,推荐使用官方认证列表中的适配器型号。
注意,请不要使用电脑USB接口为开发板供电,否则会因供电不足造成开发板异常断电、反复重启等异常情况。
存储
旭日X3派开发板采用Micro SD存储卡作为系统启动介质,推荐至少8GB容量的存储卡,以便满足Ubuntu系统、应用功能软件对存储空间的需求。
显示
旭日X3派开发板支持HDMI显示接口,通过HDMI线缆连接开发板和显示器,支持图形化桌面显示。
网络连接
旭日X3派开发板支持有线以太网、无线WiFi两种网络接口,用户可通过任意接口实现网络连接功能。
常见问题
用户首次使用开发板时的常见问题如下:
上电不开机:请确保使用支持5V/3A的适配器供电;请确保开发板使用烧录过Ubuntu镜像的Micro SD存储卡
USB Host接口无反应:请确保开发板Micro USB接口没有接入数据线
使用中热插拔存储卡:开发板不支持热插拔Micro SD存储卡,如发生误操作请重启开发板
更多问题的处理,可以查阅 FAQ 章节,同时可以访问 地平线开发者官方论坛 获得帮助。
1.2. 安装系统
旭日X3派开发板支持Ubuntu 20.04 Desktop、Server两个系统版本,推荐用户使用支持图形化桌面的Ubuntu Desktop版本,以获得更方便的图形化交互体验。如果用户更熟悉命令行交互操作方式,可以使用不带图形化桌面的Ubuntu Server版本。
Ubuntu Desktop版本系统启动完成后,会通过HDMI接口在显示器上输出系统桌面,如下图:
Ubuntu Server 版本系统启动完成后,会通过HDMI接口在显示器上输出地平线Logo
图标,如下图:
开发板Ubuntu镜像文件可从资源中心栏目中获取,如下图:
1.2.1. 烧录准备
在烧录Ubuntu系统镜像前,用户需要做如下准备:
准备至少8GB容量的Micro SD卡
SD 读卡器
下载Ubuntu镜像压缩包,并解压出Ubuntu系统镜像文件:
system_sdcard.img
下载镜像烧录工具balenaEtcher,下载链接:https://www.balena.io/etcher/
1.2.2. 烧录系统
balenaEtcher是一款支持Windows/Mac/Linux等多平台的PC端启动盘制作工具,制作SD启动卡流程如下:
打开balenaEtcher工具,点击
Flash frome file
按钮,选择解压出来的system_sdcard.img
文件作为烧录镜像点击
Select target
按钮,选择对应的Micro SD存储卡作为目标存储设备点击
Flash
按钮开始烧录,待工具提示Flash Complete
时,表示镜像烧录完成,您可以关闭balenaEtcher工具并取出存储卡
如Micro SD存储卡烧录过程发生中断,用户需要按照上述步骤重新进行。
1.2.3. 启动系统
首先保持旭日X3派开发板断电,然后将制作好的存储卡插入开发板的Micro SD卡槽,并通过HDMI线缆连接开发板与显示器,最后给开发板上电。用户可通过指示灯判断开发板状态,指示灯说明如下:
红色指示灯:点亮代表硬件上电正常
绿色指示灯:点亮代表系统启动中,熄灭代表系统启动完成
系统首次启动时会进行默认环境配置,整个过程持续45秒左右,配置结束后会在显示器输出Ubuntu系统桌面(Ubuntu Server显示logo图标)。
如果开发板上电后长时间没有显示输出(2分钟以上),说明开发板启动异常。此时用户可通过指示灯确认系统状态,方法如下:
绿灯常亮:说明系统启动失败,可检查使用的电源适配器是否满足5V3A的要求,可尝试重新制作Micro SD卡系统镜像
绿灯熄灭:说明系统启动成功,但显示服务启动失败,请确认连接的显示器符合支持列表规格
1.3. 远程登录
本章节旨在向需要通过个人电脑(PC)远程访问开发板的用户介绍如何通过串口、网络(VNC、SSH)方式进行远程登录。
注意,通过网络方式远程登录前,开发板需要通过有线以太网或者无线WiFi方式接入网络,配置好开发板IP地址。对于两种连接方式下的IP地址信息可参考如下描述:
有线以太网:开发板默认采用静态IP模式,IP地址为
192.168.1.10
,掩码255.255.255.0
,网关192.168.1.1
无线WiFi:开发板IP地址一般由路由器分配,可在设备命令行中通过
ifconfig
命令查看wlan0网络的IP地址
1.3.1. 串口登录
在使用串口登录前,需要确认开发板串口线跟电脑正确连接,连接方法可参考调试串口章节。串口登录需要借助PC终端工具,目前常用的工具有Putty
、MobaXterm
等,用户可根据自身使用习惯来选择。不同工具的端口配置流程基本类似,下面以MobaXterm
为例,介绍新建串口连接过程:
当串口USB转接板首次插入电脑时,需要安装串口驱动。驱动程序可从资源中心的工具子栏目获取。驱动安装完成后,设备管理器可正常识别串口板端口,如下图:
打开
MobaXterm
工具,点击Session
,然后选择Serial
配置端口号,例如
COM3
,实际使用的串口号以PC识别到的串口号为准设置串口配置参数,如下:
波特率(Baud rate):921600
数据位(Data bits):8
奇偶校验(Parity):None
停止位(Stop bits):1
流控(Flow Control):无
点击
OK
,输入用户名:root
、密码:root
登录设备
此时,可使用ifconfig
命令查询开发板IP地址,其中eth0、wlan0分别代表有线、无线网络:
root@ubuntu:~# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::211:22ff:feaa:7637 prefixlen 64 scopeid 0x20<link>
ether 00:11:22:aa:76:37 txqueuelen 1000 (Ethernet)
RX packets 767 bytes 54006 (54.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5766 bytes 246466 (246.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 43 base 0xa000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 3847 bytes 339115 (339.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3847 bytes 339115 (339.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 08:e9:f6:ae:f8:8a txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
1.3.2. 网络状态确认
在使用远程登录前,需要确保电脑、开发板网络通信正常,如无法ping
通,需按如下步骤进行确认:
确认开发板、电脑IP地址配置,一般前三段需要是一样的,例如开发板:
192.168.1.10
电脑:192.168.1.100
确认开发板、电脑的子网掩码、网关配置是否一致
确认电脑网络防火墙是否处于关闭状态
开发板有线以太网默认采用静态IP模式,IP地址为192.168.1.10
。对于开发板、电脑网络直连的情况,只需要将电脑配置为静态IP,保证跟开发板处于同一网段即可。以WIN10系统为例,电脑静态IP修改方法如下:
在网络连接中找到对应的以太网设备并双击打开
找到Internet协议版本4选项并双击打开
在下图红框位置填入对应的网络参数,点击确定
如需将开发板有线网络配置为动态获取DHCP模式,可参考有线网络章节进行配置。
1.3.3. VNC登录
本章节面向使用Ubuntu Desktop系统版本的用户,介绍如何通过VNC Viewer
实现远程桌面登录功能。VNC Viewer
是一个图形桌面共享软件,可在电脑上实现设备远程登录和控制桌面。该软件可以通过电脑显示器预览开发板系统桌面,并使用电脑的鼠标、键盘进行远程操作。用户通过VNC Viewer操作,可以获得跟开发板本地操作相同的效果,下载链接VNC Viewer。
连接开发板
目前VNC支持直接、云端两种连接方式,用户可以根据自身情况选择。本文推荐使用直接连接方式,连接步骤如下:
输入设备ip地址,例如:192.168.1.10
输入IP地址后回车,弹出链接未加密的提示,点击
Continue
输入密码
sunrise
,勾选Remember password
, 点击OK
连接
1.3.4. SSH登录
除了VNC登录远程桌面外,还可以通过SSH连接登录开发板。下面分别介绍终端软件、终端命令行两种方法的创建步骤。
终端软件
目前常用终端工具有Putty
、MobaXterm
等,用户可根据自身使用习惯来选择。不同工具的端口配置流程基本类似,下面以MobaXterm
为例,介绍新建SSH连接过程:
打开
MobaXterm
工具,点击Session
,然后选择SSH
输入开发板IP地址,例如
192.168.1.10
选中
specify username
,输入sunrise
点击OK后,输入用户名(sunrise)、密码(sunrise)即可完成登录
电脑命令行
用户也可通过命令行方式进行SSH登录,步骤如下:
打开终端窗口,输入SSH登录命令,例如
ssh sunrise@192.168.1.10
弹出连接确认提示,输入YES
输入密码(sunrise)即可完成登录
1.4. 快速体验
开发板系统默认预置了LED控制、GPIO操作、图像采集、算法推理等多个功能示例,用于帮助用户快速确认开发板环境安装的完整性。
1.4.1. LED指示灯控制
此示例中使用绿色LED工作指示灯,在启动过程中绿色工作指示灯常亮,启动完成后熄灭。本节将通过运行程序控制这个LED的闪烁状态,作为使用开发板的hello world
程序。
环境准备:无
运行方式:执行
led_blinks
程序,以启动指示灯控制程序
sunrise@ubuntu:~$ sudo led_blinks
预期效果:开发板的绿色指示灯按照2s的频率开始闪烁。
led_blinks
是一个shell脚本程序,通过控制GPIO管脚状态来控制指示灯的亮灭。此外,程序还支持以下三个参数选项:
1. normal:默认效果,不加参数运行时使用此模式,按照2s的频率开始闪烁
2. fast:指示灯按照300毫秒的频率快速闪烁
3. slowly:指示灯亮灭按照4秒的频率慢速闪烁
normal
模式的闪烁效果如下:
1.4.2. GPIO读写操作
开发板 /app/40pin_samples/
目录下,预置了多种40PIN管脚的功能测试代码,包括gpio的输入/输出测试、PWM、I2C、SPI、UART等测试。所有测试程序均使用python语言编写,详细信息可以查阅 40PIN 功能使用。
以/app/40pin_samples/button_led.py
为例,该程序配置38
号管脚为输入,配置36
号管脚配置为输出,并根据38
号管脚的输入状态来控制36
号管脚的输出状态。
环境准备:使用杜邦线连接
38
号管脚到3.3v or GND,以控制其高低电平。运行方式:执行
button_led.py
程序,以启动GPIO读写程序sunrise@ubuntu:~$ cd /app/40pin_samples/ sunrise@ubuntu:/app/40pin_samples$ sudo python3 ./button_led.py
预期效果:通过控制
38
号管脚的高低电平,可以改变36
号管脚的输出电平值。sunrise@ubuntu:/app/40pin_samples$ sudo python3 ./button_led.py Starting demo now! Press CTRL+C to exit Outputting 0 to Pin 36 Outputting 1 to Pin 36 Outputting 0 to Pin 36
1.4.3. 图像分类算法示例
开发板上安装了test_mobilenetv1.py
程序用于测试mobilenet v1图像分类算法功能,该程序读取 zebra_cls.jpg
静态图片作为模型的输入,并在命令行终端输出分类结果cls id: 340 Confidence: 0.991851
环境准备:无
运行方式:执行
test_mobilenetv1.py
程序sunrise@ubuntu:~$ cd /app/ai_inference/01_basic_sample/ sunrise@ubuntu:/app/ai_inference/01_basic_sample$ sudo ./test_mobilenetv1.py
预期效果:输出图像分类算法的预测结果,id和confidence。
zebra_cls.jpg
是一张斑马的图片,按照ImageNet
数据集的分类,返回结果id为340, 置信度为0.991851。
========== Classification result ==========
cls id: 340 Confidence: 0.991851
1.4.4. USB摄像头使用
开发板上安装了 usb_camera_fcos.py
程序用于测试USB摄像头的数据通路,该示例会实时采集USB摄像头的图像数据,然后运行目标检测算法,最后把图像数据和检测结果融合后通过HDMI接口输出。
环境准备:
USB摄像头接入到开发板上,确认生成
/dev/video8
设备节点通过HDMI线缆连接开发板和显示器
运行方式:按照以下命令执行程序
sunrise@ubuntu:~$ cd /app/ai_inference/02_usb_camera_sample/ sunrise@ubuntu:/app/ai_inference/02_usb_camera_sample$ sudo python3 ./usb_camera_fcos.py
预期效果:程序执行后,显示器会实时显示摄像头画面及目标检测算法的结果(目标类型、置信度),如下所示:
详细代码实现说明请查阅基于USB摄像头推理章节。
1.4.5. MIPI摄像头使用
开发板上安装了mipi_camera.py
程序用于测试MIPI摄像头的数据通路,该示例会实时采集MIPI摄像头的图像数据,然后运行目标检测算法,最后把图像数据和检测结果融合后通过HDMI接口输出。
环境准备:
将MIPI摄像头模组连接到开发板MIPI CSI接口,具体连接方法可以参考MIPI摄像头连接教程章节
通过HDMI线缆连接开发板和显示器
运行方式:按照以下命令执行程序
sunrise@ubuntu:~$ cd /app/ai_inference/03_mipi_camera_sample/ sunrise@ubuntu:/app/ai_inference/03_mipi_camera_sample$ sudo python3 ./mipi_camera.py
预期效果:程序执行后,显示器会实时显示摄像头画面及目标检测算法的结果(目标类型、置信度),如下所示:
详细代码实现说明请查阅基于MIPI摄像头推理章节。
1.5. 硬件接口说明
1.5.1. 接口总览
旭日X3派开发板提供了网口、USB、摄像头、LCD、HDMI、40PIN等功能接口,方便用户进行图像多媒体、深度学习算法等应用的开发和测试。开发板接口布局如下:
序号 |
功能 |
序号 |
功能 |
序号 |
功能 |
---|---|---|---|---|---|
1 | USB Type C 供电接口 | 6 | USB 3.0 Type A接口 | 11 | Wi-Fi天线接口 |
2 | MIPI CSI 摄像头接口 | 7 | 千兆以太网口 | 12 | TF卡接口(底面) |
3 | 调试串口 | 8 | 40PIN接口 | 13 | MIPI 接口的LCD屏接口 |
4 | Micro USB 2.0 接口 | 9 | HDMI接口 | 14 | 触摸屏接口 |
5 | USB 2.0 Type A接口两路 | 10 | 电源和状态LED指示灯 |
1.5.2. 电源接口
开发板提供一路USB Type C接口(接口1),作为供电接口,需要使用支持5V/3A的电源适配器为开发板供电。将电源适配器接入开发板后,开发板红色电源指示灯亮起,说明开发板供电正常。
注意,请不要使用电脑USB接口为开发板供电,否则会因供电不足造成开发板异常断电、反复重启等情况。
1.5.3. 调试串口
开发板提供一路调试串口(接口3),以实现串口登录、调试功能。电脑串口工具的参数配置如下:
波特率(Baud rate):921600
数据位(Data bits):8
奇偶校验(Parity):None
停止位(Stop bits):1
流控(Flow Control):无
串口连接时,需要将杜邦线接入开发板接口3,串口USB转接板接入电脑。连接完成后如下图:
1.5.4. 有线网口
开发板提供一路千兆以太网接口(接口7),支持1000BASE-T、100BASE-T标准,默认采用静态IP模式,IP地址192.168.1.10
。如需确认开发板IP地址,可通过串口登录设备,并用ifconfig
命令进行查看 eth0
网口的配置:
sunrise@ubuntu:/# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::211:22ff:fe6f:de17 prefixlen 64 scopeid 0x20<link>
ether 00:11:22:6f:de:17 txqueuelen 1000 (Ethernet)
RX packets 112 bytes 7327 (7.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 197 bytes 8678 (8.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 39 base 0xc000
开发板插入网线后,以太网驱动会建立连接,如果系统有如下打印,说明网线连接正常:
[13293.952661] st_gmac a5014000.ethernet eth0: Link is Down
[13295.062996] st_gmac a5014000.ethernet: Link is Up - 1000/Full
[13296.000750] st_gmac a5014000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
1.5.5. HDMI接口
开发板提供一路HDMI(接口9)显示接口,最高支持1080P分辨率。开发板通过HDMI接口在显示器输出Ubuntu系统桌面(Ubuntu Server版本显示logo图标)。此外,HDMI接口还支持实时显示摄像头、网络流画面功能,具体可以参考Sample示例章节。
目前HDMI接口支持的显示分辨率如下:
1920x1080
1280x720
1024x600
800x480
1.5.6. USB接口
由于X3芯片只提供一路USB接口,开发板通过硬件电路实现了多路USB接口扩展,满足用户对多路USB设备接入的需求,接口描述如下:
接口类型 | 接口序号 | 接口数量 | 接口描述 |
---|---|---|---|
Micro USB 2.0 | 接口4 | 1路 | USB Device模式,用于连接主机实现ADB、Fastboot、UVC等功能 |
USB 2.0 Type A | 接口5 | 2路 | USB Host模式,用于接入USB 2.0外设 |
USB 3.0 Type A | 接口6 | 1路 | USB Host模式,用于接入USB 3.0外设 |
USB主从模式切换完全由硬件电路实现,用户只需按照上表的逻辑连接设备即可。
开发板USB Host、Device功能互斥,Device接口接入设备后,Host接口会自动失效。
接入U盘
开发板USB Type A接口(接口5和6),支持U盘功能,可自动检测U盘接入并挂载,默认挂载目录为/media/sda1
。用户可通过touch命令确认U盘工作正常,如下:
sunrise@ubuntu:/media/sda1$ sudo touch test
[sudo] password for sunrise:
sunrise@ubuntu:/media/sda1$ ls -l test
-rwxr-xr-x 1 root root 0 Apr 30 21:19 test
sunrise@ubuntu:/media/sda1$
接入USB串口转接板
开发板USB Type A接口(接口5和6),支持USB串口转接板功能,可自动检测USB串口转接板接入并创建设备节点/dev/ttyUSB*
或者 /dev/ttyACM*
(星号代表0开始的数字)。用户可参考 使用串口 章节对串口进行使用。
1.5.7. USB摄像头
开发板USB Type A接口(接口5和6),支持USB摄像头功能,可自动检测USB摄像头接入并创建设备节点/dev/video8
。用户可通过v4l2
命令确认USB摄像头工作正常,如下:
sunrise@ubuntu:/media/sda1$ sudo v4l2-ctl -d /dev/video8 --all
Driver Info:
Driver name : uvcvideo
Card type : FHD Camera: FHD Camera
Bus info : usb-xhci-hcd.0.auto-1.2
Driver version : 4.14.87
Capabilities : 0x84200001
Video Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Media Driver Info:
Driver name : uvcvideo
Model : FHD Camera: FHD Camera
Serial : 12345
Bus info : 1.2
Media version : 4.14.87
Hardware revision: 0x00000020 (32)
Driver version : 4.14.87
Interface Info:
ID : 0x03000002
Type : V4L Video
Entity Info:
ID : 0x00000001 (1)
Name : FHD Camera: FHD Camera
Function : V4L2 I/O
Pad 0x01000004 : Sink
Link 0x0200000a: from remote pad 0x1000007 of entity 'Processing 2': Data, Enabled, Immutable
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
Width/Height : 1920/1080
Pixel Format : 'MJPG' (Motion-JPEG)
Field : None
Bytes per Line : 0
Size Image : 4147200
Colorspace : Default
Transfer Function : Default (maps to Rec. 709)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Full Range)
Flags :
Crop Capability Video Capture:
Bounds : Left 0, Top 0, Width 1920, Height 1080
Default : Left 0, Top 0, Width 1920, Height 1080
Pixel Aspect: 1/1
Selection Video Capture: crop_default, Left 0, Top 0, Width 1920, Height 1080, Flags:
Selection Video Capture: crop_bounds, Left 0, Top 0, Width 1920, Height 1080, Flags:
Streaming Parameters Video Capture:
Capabilities : timeperframe
Frames per second: 30.000 (30/1)
Read buffers : 0
1.5.8. MIPI摄像头
开发板提供1路MIPI CSI接口(接口2),可实现MIPI摄像头的接入。目前开发板适配了多种规格的摄像头模组,模组型号、规格如下:
序号 | Sensor | 分辨率 | FOV | I2C 设备地址 |
---|---|---|---|---|
1 | GC4663 | 400W | H:104 V:70 D:113 | 0x29 |
2 | JXF37 | 200W | H:62 V:37 D:68 | 0x40 |
3 | IMX219 | 800W | H:62 V:37 D:68 | 0x10 |
4 | IMX477 | 1200W | H:62 V:37 D:68 | 0x1a |
5 | OV5647 | 500W | H:62 V:37 D:68 | 0x36 |
摄像头模组通过FPC排线跟开发板连接,注意排线两端蓝面向上插入连接器。
重要提示:严禁在开发板未断电的情况下插拔摄像头,否则非常容易烧坏摄像头模组。
以JXF37摄像头模组为例,安装完成后如下图:
安装完成后,用户可以通过i2cdetect命令确认模组I2C地址能否正常检测到。如检测不到,用户需要检查FPC排线连接是否正常。成功探测到I2C地址时,log打印如下所示:
# 首先使能sensor的24MHz主时钟
sunrise@ubuntu:~# sudo bash -c "echo 1 > /sys/class/vps/mipi_host0/param/snrclk_en"
sunrise@ubuntu:~# sudo bash -c "echo 24000000 > /sys/class/vps/mipi_host0/param/snrclk_freq"
# 执行 i2cdetect 命令探测, 其中显示的 40 即JXF37这颗sensor的i2c设备地址,说明摄像头连接正常
sunrise@ubuntu:~# sudo i2cdetect -y -r 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
1.5.9. Micro SD接口
开发板提供1路Micro SD存储卡接口(接口12)。推荐使用至少8GB容量的存储卡,以便满足Ubuntu操作系统及相关功能包的安装要求。
开发板使用中禁止热插拔TF存储卡,否则会造成系统运行异常,甚至造成存储卡文件系统损坏。
1.5.10. 无线连接
1.5.10.1. Wi-Fi
开发板的无线网络支持板载和外置天线两种配置,通常情况下板载天线可以满足使用需求。当开发板安装金属材质外壳后,需要连接外置天线到(接口11),以增强信号强度。
1.5.10.2. 蓝牙
初始化
开发板蓝牙功能默认没有开启,需要执行 /usr/bin/startbt6212.sh
脚本进行初始化,脚本执行成功后的log如下:
此时,通过ps
可看到蓝牙进程已经运行:
root@ubuntu:~# ps ax | grep "/usr/bin/dbus-daemon\|brcm_patchram_plus\|/usr/lib/bluetooth/bluetoothd"
2695 ? Ss 0:06 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
2963 ? Ss 0:00 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
3241 ? Ss 0:00 /usr/lib/bluetooth/bluetoothd
5717 pts/0 S+ 0:00 grep --color=auto /usr/bin/dbus-daemon\|brcm_patchram_plus\|/usr/lib/bluetooth/bluetoothd
配置连接
执行
sudo bluetoothctl
进入交互模式下的蓝牙配置界面,可以通过show
命令查看蓝牙信息,如下:root@ubuntu:~# sudo bluetoothctl Agent registered [bluetooth]# show Controller E0:75:26:E3:8F:CF (public) Name: ubuntu Alias: ubuntu Class: 0x00100000 Powered: yes Discoverable: yes DiscoverableTimeout: 0x000000b4 Pairable: yes UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb) UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb) UUID: Message Access Server (00001132-0000-1000-8000-00805f9b34fb) UUID: Message Notification Se.. (00001133-0000-1000-8000-00805f9b34fb) UUID: Phonebook Access Server (0000112f-0000-1000-8000-00805f9b34fb) UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb) UUID: OBEX Object Push (00001105-0000-1000-8000-00805f9b34fb) UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb) UUID: OBEX File Transfer (00001106-0000-1000-8000-00805f9b34fb) UUID: Vendor specific (00005005-0000-1000-8000-0002ee000001) UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb) UUID: IrMC Sync (00001104-0000-1000-8000-00805f9b34fb) Modalias: usb:v1D6Bp0246d0535 Discovering: no Advertising Features: ActiveInstances: 0x00 SupportedInstances: 0x05 SupportedIncludes: appearance SupportedIncludes: local-name [bluetooth]#
执行
power on
使能蓝牙,如下:[bluetooth]# power on Changing power on succeeded
执行
discoverable on
使能蓝牙并打开蓝牙可发现属性,如下:[bluetooth]# discoverable on Changing discoverable on succeeded
使用手机或者电脑扫描蓝牙,可以搜索到名为
ubuntu
的蓝牙设备,如下图:如需开启蓝牙的主动扫描功能,可在
bluetoothctl
的交互界面输入scan on
打开主动扫描,此时蓝牙会周期性地扫描附近的可用设备,如下图:如需关闭蓝牙的主动扫描功能,可通过
scan on
命令关闭蓝牙设备配对
配对命令:
pair [targetMAC]
,输入该命令后,根据提示输入yes
,并在对端蓝牙设备选择配对
选项完成配对配对成功后,可以使用
trust [targetMAC]
将设备加入配对列表,下次使用时自动链接
如需使用更多功能,可查阅 BlueZ
的官方帮助说明。
1.5.11. 40PIN
旭日X3派开发板提供40PIN标准接口,方便用户进行外围扩展,其中数字IO采用3.3V电平设计。40PIN接口定义如下:
开发板40PIN接口位置提供了丝印网表,方便用户对照操作,PIN1、PIN40位置如下:
40PIN各功能的使用方法请查看 40PIN 功能使用 章节。
1.5.12. 音频接口
开发板40PIN接口上有两路I2S接口,通过连接音频子板,可以实现音频采集和播放功能。本示例采用的音频子板,支持4MIC录音和3.5mm播放功能,具体信息可参考音频子板。
在断电状态下,将音频子板对齐开发板40PIN排针后插入,即可完成组装,如下图:
1.5.12.1. 驱动加载
首先,给开发板上电,运行 sudo i2cdetect -r -y 0
命令检查设备是否连接正常,如果命令返回如下信息,说明连接正常:
其次,使用如下命令,加载音频驱动
sudo modprobe es7210
sudo modprobe es8156
sudo modprobe hobot-i2s-dma
sudo modprobe hobot-cpudai
sudo modprobe hobot-snd-7210 snd_card=5
最后,运行 ls /dev/snd
命令查询新创建的声卡设备节点,如下图:
1.5.12.2. 录音、播放
录制4通道麦克风音频数据到4chn_test.wav
文件,持续5S:
tinycap ./4chn_test.wav -D 0 -d 0 -c 4 -b 16 -r 48000 -p 512 -n 4 -t 5
录制2通道麦克风音频数据到2chn_test.wav
文件,持续5S:
tinycap ./2chn_test.wav -D 0 -d 0 -c 2 -b 16 -r 48000 -p 512 -n 4 -t 5
播放录制好的2通道音频2chn_test.wav
,声音会通过音频板3.5mm耳机孔播放。
tinyplay ./2chn_test.wav -D 0 -d 1
注意,播放功能最多支持两通道音频。
1.5.12.3. Ubuntu系统音频配置
如果需要将Ubuntu Desktop的播放器、浏览器的音频,通过音频子板播放,可按如下方式配置:
安装播放软件
安装smplayer播放软件
sudo apt update
sudo apt-get install smplayer
安装pulseaudio声音服务器
sudo apt install pavucontrol
sudo apt install pulseaudio
修改音频配置 完成以上软件安装后,需要修改如下配置项:
打开文件
/etc/pulse/default.pa
, 找到.ifexists module-udev-detect.so
这一行,修改为如下内容:### Automatically load driver modules depending on the hardware available .ifexists module-udev-detect.so #load-module module-udev-detect load-module module-alsa-source device=hw:0,0 load-module module-alsa-sink device=hw:0,1 mmap=false tsched=0 fragments=2 fragmm ent_size=960 rate=48000 channels=1 rewind_safeguard=960 .else ### Use the static hardware detection module (for systems that lack udev supportt )
打开文件
/etc/rc.loacl
, 在文件末尾添加音频驱动的加载命令:modprobe es7210 modprobe es8156 modprobe hobot-i2s-dma modprobe hobot-cpudai modprobe hobot-snd-7210 snd_card=5
重启开发板让配置生效。
注意事项
使用不同音频子板时,驱动加载后生成的音频节点可能存在差异。此时需要根据实际节点修改配置,方法如下:
通过命令
aplay -l
确认实际的设备节点配置,例如card 0、device 1
:root@ubuntu:~# aplay -l **** List of PLAYBACK Hardware Devices **** card 0: hobotsnd5 [hobotsnd5], device 1: (null) es8156.0-0008-1 [] Subdevices: 1/1 Subdevice #0: subdevice #0
修改
/etc/pulse/default.pa
中module-alsa-sink
的设备节点到device=hw:0,1
load-module module-alsa-sink device=hw:0,1 mmap=false tsched=0 fragments=2 fragmm
1.6. 认证配件清单
认证配件清单是指经过地平线官方认证,可以适配旭日X3开发板的第三方配件配件清单。主要包含基础配件(电源、外壳、散热器)、摄像头、显示屏等类别,清单内容会不定期更新,逐步添加更多的配件型号。
1.6.1. 基础配件
类型 | 供应商 | 型号 | 描述 | 购买链接 |
---|---|---|---|---|
电源 | 微雪 | ORD-PSU-5V3A-USB-C-US | Type-C接口 5V/3A 定制电源 | 购买链接 |
电源 | 亚博 | T03F-050300Z | Type-C接口 5V/3A 定制电源 | 购买链接 |
外壳 | 亚博 | N/A | 铝合金定制外壳 | 购买链接 |
外壳 | 轮趣 | N/A | 铝合金定制外壳 | 购买链接 |
散热器 | 微雪 | N/A | 散热风扇扩展板 | 购买链接 |
散热器 | 亚博 | N/A | 主板风扇,支持OLED显示 | 购买链接 |
Wi-Fi天线 | 微雪 | ORD-CM4-ANTENNA | SMA天线 支持2.4G/5G WiFi频段 | 购买链接 |
1.6.2. 摄像头
类型 | 供应商 | 型号 | 描述 | 购买链接 |
---|---|---|---|---|
MIPI | 微雪 | OV5647摄像头 | OV5647传感器,500W像素,FOV 对角160度 | 购买链接 |
MIPI | 微雪 | IMX219摄像头 | IMX219传感器,800W像素,FOV 对角200度 | 购买链接 |
MIPI | 微雪 | IMX477摄像头 | IMX477传感器,1230W像素,FOV 对角160度 | 购买链接 |
MIPI | 微雪 | 摄像头转接板 | 搭配微雪摄像头使用,15pin转24pin 转接板 | 购买链接 |
MIPI | 亚博 | IMX219摄像头 | IMX219传感器,800W像素,FOV 对角77度 | 购买链接 |
USB | 亚博 | USB摄像头 | 免驱USB麦克风摄像头,720p | 购买链接 |
USB | 轮趣 | USB摄像头 | 免驱USB摄像头,金属外壳,1080p | 购买链接 |
1.6.3. 显示屏
类型 | 供应商 | 型号 | 描述 | 购买链接 |
---|---|---|---|---|
HDMI | 微雪 | 5英寸触控屏 | 分辨率800×480,钢化玻璃面板,支持触控 | 购买链接 |
HDMI | 微雪 | 7英寸触控屏 | 分辨率1024x600,钢化玻璃面板,支持触控 | 购买链接 |
HDMI | 微雪 | 10英寸触控屏 | 分辨率1280x800,钢化玻璃面板,高色域触控屏 | 购买链接 |
HDMI | 微雪 | 13.3英寸触控屏 | 分辨率1920x1080,钢化玻璃面板,高色域触控屏 | 购买链接 |
MIPI | 微雪 | 4.3英寸MIPI LCD | 分辨率800×480,IPS广视角,MIPI DSI接口 | 购买链接 |