测试时间: 2024-05-28
环境
开发板:OrangePi AIpro(8T) [Ubuntu 22.04 desktop镜像]
操作系统:Windows&Linux
工具:USB转TTL模块、智能手机(热点)
1、硬件规格
CPU | 4核64位处理器+ AI处理器 |
GPU | 集成图形处理器 |
AI算力 | 8TOPS算力 |
内存 | LPDDR4X:8GB/16GB(可选),速率:3200Mbps |
存储 | • SPI FLASH:32MB • SATA/NVME SSD(M.2接口2280) • eMMC插槽:32GB/64GB/128GB/256GB(可选),eMMC5.1 HS400 • TF插槽 |
WIFI+蓝牙 | Wi-Fi 5双频2.4G和5G BT4.2/BLE |
以太网收发器 | 10/100/1000Mbps以太网 |
显示 | • 2xHDMI2.0 Type-A TX 4K@60FPS • 1x2 lane MIPI DSI via FPC connector |
摄像头 | 2x2-lane MIPI CSI camera interface,兼容树莓派摄像头 |
USB | • USB 3.0 HOST x2 • USB Type-C 3.0 HOST x1 • Micro USB x1 串口打印功能 |
音频 | 3.5mm耳机孔音频输入/输出 |
按键 | 1x关机键、1xRESET键、2x启动方式拨动键、1x烧录按键 |
40PIN | 40PIN 功能扩展接口,支持以下接口类型: GPIO、UART、I2C、SPI、 I2S、PWM |
风扇 | 风扇接口x1 |
预留接口 | 2PIN电池接口 |
电源 | Type-C PD 20V IN ,标准65W |
支持的操作系统 | Ubuntu、openEuler |
产品尺寸 | 107*68mm |
重量 | 82g |
1.1. 正面视图
1.2. 背面视图
1.3. 40Pin扩展引脚分配图
Orangepi-AIpro开发板的40pin引脚图适配树莓派的40pin引脚图,只是引脚方向需要注意一下。
2. 无外设上手
在没有多余可以给开发板使用的电脑外设的情况下,很多小白往往不知道该如何上手体验一块Linux开发板,在这里分享一下这种情况下的常用方法
2.1. 使用调试串口登录终端
在没有多余的屏幕、鼠标和键盘外设的情况下,使用UART登录串口终端是上手OPI、RPI这一类开发板的常用手段
Orangepi AIpro 开发板默认使用 uart0 做为调试串口,并且uart0 的tx 和 rx 引脚同时接到了两个地方,有两种使用方式:
-
可以用一个 3.3v 的 USB 转 TTL 模块和相应的杜邦线连接到40 pin 扩展接口中的 8 号(tx--对应40pin引脚图中的UTXD0/GPIO014)和 10 号(rx--对应40pin引脚图中的URXD0/GPIO015)引脚:
a. USB 转 TTL 模块的 GND 接到开发板的 GND 上。 b. USB 转 TTL 模块的 RX 接到开发板的 TX 上。 c. USB 转 TTL 模块的 TX 接到开发板的 RX 上。 d. USB 转 TTL 模块的 USB接口一端接到电脑的 USB 接口中。
某宝上卖四块五的 USB to TTL模块:
-
uart0 的 tx 和 rx 引脚又接到了开发板的 CH343P 芯片上,再通过 CH343P 芯片引出到 Micro USB 接口上,也就是说只需要一根 Micro USB 接口的数据线将开发板连接到电脑的 USB 接口就可以开始使用开发板的调试串口功能。
在AIpro这块开发板上使用第二种方式无疑是很好的(稳定、方便),不过平常接触到的其它开发板却不一定会有这样好的设计,所以最好也可以备一个USB to TTL模块。
在有了如上的硬件基础之后,只需要准备一个可以进行串口调试的软件就好了,windows上推荐MobaXterm,免费、功能丰富且易用,具体使用方式在此不再赘述。Linux上可以使用picocom、minicom等。
使用串口调试的时候串口波特率需设置为115200,并且需要使用账密进行登录:
-
uart0 的 tx 和 rx 引脚又接到了开发板的 CH343P 芯片上,再通过 CH343P 芯片引出到 Micro USB 接口上,也就是说只需要一根 Micro USB 接口的数据线将开发板连接到电脑的 USB 接口就可以开始使用开发板的调试串口功能。
在AIpro这块开发板上使用第二种方式无疑是很好的(稳定、方便),不过平常接触到的其它开发板却不一定会有这样好的设计,所以最好也可以备一个USB to TTL模块。
在有了如上的硬件基础之后,只需要准备一个可以进行串口调试的软件就好了,windows上推荐MobaXterm,免费、功能丰富且易用,具体使用方式在此不再赘述。Linux上可以使用picocom、minicom等。
使用串口调试的时候串口波特率需设置为115200,并且需要使用账密进行登录:
user | password |
root | Mind@123 |
HwHiAiUser | Mind@123 |
2.2. 开发板连网并使用ssh在局域网内登录开发板
不管使用哪种方式,登录串口终端后,如果不想一直使用串口调试这种方式进行开发(毫无疑问,只有一个用于调试的串口终端是无法获得好的开发体验的),又没有路由器和网线,就需要让开发板先连网,然后就可以在在局域网内使用ssh来登录开发板(ssh可以登录多个终端哟)
最方便快捷的组网方式就是使用自己的手机开启热点,让电脑和开发板都连接到手机热点的局域网内,然后就可以在局域网内使用ssh愉快的玩耍了
在OrangePi AIpro中,内置了网络管理工具nmcli
,可以使用nmcli命令来连接和管理网络:
# 扫描附近的WiFi设备
nmcli dev wifi
# 连接对应的WiFi
nmcli dev wifi connect <wifi-name> password <wifi-password>
# 可以使用下面的命令查看网络连接
nmcli con show
# 删除wifi连接(wifi-UID使用nmcli con show查看)
nmcli con delete <wifi-UID>
连上热点后就可以使用ifconfig
查看开发板的ip地址:
# 只需要查看无线接口wlan0的信息
ifconfig wlan0
其中wlan0下的192.168.43.28就是开发板在我的热点局域网中的ip地址
得到ip地址后,就可以在自己的电脑中使用ssh工具连接到开发板的终端了,在MobaXterm中可以进行配置以方便以后使用
在终端中可以使用ssh命令登录(建议使用HwHiAiUser用户登录):
ssh <user-name>@<ip-address>
user-name就是root或者HwHiAiUser,ip-address就是开发板的ip地址
使用ssh登录时会需要输入开发板的密码,输入Mind@123即可,登录界面如下:
通过ssh还可以在vscode中使用Remote-SSH
插件登录开发板来进行远程开发,这也是十分方便的。
2.3. 图形化界面
在得到IP地址后,就可以在MobaXterm中使用RDP、VNC等工具来登录开发板的图形化桌面了,可以自行搜索相关操作。
2.4. 通过jupyter-lab在局域网内开启服务器并在电脑浏览器上体验AI应用样例
OPI AIpro的官方镜像中已经配置好了深度学习开发的一系列环境,可以使用现有的环境和工具进行开发,十分友好
对于没有多余的屏幕的同学来说,想要图形化的界面来体验和学习OrangePi上丰富的AI应用样例又不想使用VNC或RDP这种会有延时的远程桌面方式来操作的话,就可以在开发板中使用已经配置好的jupyter-lab开启局域网服务器来进行开发。(这种方式需要使用HwHiAiUser用户,root用户下没有配置相应环境变量)
2.4.1. 切换到保存 AI 应用样例的目录下
cd samples/notebooks/
2.4.2. 使用当前文件夹下官方准备的Jupyter Lab 启动脚本 start_notebook.sh来开启局域网服务
ip-address: 开发板在局域网下的ip地址
./start_notebook.sh <ip-address>
也可以使用如下脚本自动获取wlan0的ip地址来开启服务器:
# server.sh
. /usr/local/Ascend/ascend-toolkit/set_env.sh
export PYTHONPATH=/usr/local/Ascend/thirdpart/aarch64/acllite:$PYTHONPATH
IP=$(ip addr show wlan0 | grep 'inet ' | awk '{print $2}' | cut -d/ -f1)
jupyter lab ./ --ip $IP --allow-root --no-browser
bash ./server.sh
运行成功会得到如下输出:
接下来就可以直接根据给出的链接来登录jupyter-lab来进行开发了
2.4.3. 电脑浏览器登录jupyter-lab
可以直接复制给出的链接地址复制到电脑浏览器中打开来访问
http://192.168.43.28:9999/lab?token=e932e4b4b0e0ad573e570b42fe05ae6d2a2c0c1d260e8d13
这个链接就是AIpro在我的局域网中生成的服务端口(直接在电脑浏览器中访问ip-address:9999也可以,只是需要单独输入token)
点开链接会进入如下jupyter-lab页面
2.4.5. YOLOv5样例测试
OrangePi AIpro yolov5样例测试
可以看到,在AIpro中实现YOLO算法的部署是非常简单的,官方提供的样例也有学习价值,而对于一块SBC来说,AIpro在AI算法方面的性能也是没得说。
不过,在该样例中使用USB摄像头进行camera推理测试时出现了无法读取设备节点的问题,新建一个单独的notebook文件来测试摄像头结果却是时好时坏,而同样的USB摄像头在OrangePi zero 3上测试却是从来没有出过问题。具体原因还没有找到。