开发板开箱
1.1.包装
1.2.开发版
Orange Pi AIpro Orange Pi官网-香橙派(Orange Pi)开发板
1.3.引脚分布
1.4开发板资源简介
1 | CPU | 配备了4核64位ARM处理器,其中默认预留1个给AI处理器使用 |
NPU | 集成了华为昇腾310BAI处理器,拥有4TFOPS的FP16算力核8TOPS的INT8算力 | |
内存 | 标配LPDDR4X的规格,有8G核16G两种配置可供选择 | |
存储 | 板载32MB的SPI Flash,内置1个Micro SD卡槽、1个eMMC插座、M.2插槽(2280规格) | |
以太网 | 板载10/100/1000Mbps自适应RJ45口 | |
无线通讯 | 2.4+5双频WIFI核BT4.2 | |
USB | 2个USB3.0 Host接口、1个Type-C接口(USB3.0) | |
摄像头 | 预留了2个MIPI CSI 2 Lane接口 | |
显示 | 2个HDMI接口,支持同时4K@60HZ输出、一个MIPI DSI 2 Lane接口支持外接显示屏 | |
音频 | 除了2个HDMI接口还有一个3.5MM耳机孔 | |
40PIN扩展口 | 支持UART、I2C、SPI、PWM、GPIO等 | |
风扇接口 | 4PIN接口,12V供电,支持PWM调速 | |
电池接口 | 2PIN,用于接3串电池,支持快充 | |
调试串口 | 板载Micro USB接口的调试串口,特别称赞的是板载了USB转TTL,方便调试 | |
操作系统 | 目前支持Ubuntu-22.04核OpenEuler 22.03两种 |
2.开发板初探
2.1启动方式
- TF 卡
- eMMC
- SSD(支持 NVMe SSD 和 SATA SSD)启动
拨码开关仅仅重启生效
2.2硬件连接
-
连接usb转TTL串口需要一根micro usb 线
-
打开Mobaxterm,打开Serial终端,设置波特率为115200
-
接上电源
2.3登录
账号 | 密码 | |
---|---|---|
root | Mind@123 | |
HwHiAiUser | Mind@123 |
注意复制账户和密码提示Login incorrect
需要手动输入即可
2.4连接网络
2.4.1连接wifi指令
TP-LINK_5G_45A1
是wifi名称
chejia12
是密码
sudo nmcli dev wifi connect TP-LINK_5G_45A1 password chejia12
以查看 wifi 的 IP 地址
ip a s wlan0
ifconfig
网络连接测试
nmcli dev wifi list
开发板连接了名字为TP-LINK_5G_45A1
的WiFi网络
2.4.2固定ip
参考用户手册
sudo nmtui
自动连接
自动连接设置
2.5使用ssh实现开发版的远程连接
首次进入需要输入密码,密码输入后提示自动保存密码,确认即可,以后就不再输入密码了
2.6gpio测试
40Pin接口定义为gpio
7:表示第7组gpio
6:代表第6个pin
//查看gpio方向
sudo gpio_operate get_direction 7 6
//设置输出
sudo gpio_operate set_direction 7 6 1
//设置输入
gpio_operate set_direction 7 6 0
//设置gpio的高低电平
sudo gpio_operate set_value 7 6 1
sudo gpio_operate set_value 7 6 0
2.7cpu 测试
lscpu
4核64位处理器+ AI处理器
2.8内存大小查看
cat /proc/meminfo
2.9磁盘大小查看
df -h
2.10查看昇腾芯片 NPU 卡的信息
npu-smi info
Device为310B4,芯片温度为47度,总内存为7.6G,已使用4.3G左右
2.11spi外设测试
查找外设
ls /dev/spi*
测试指令
sudo spidev_test -v -D /dev/spidev0.0
接线
SPI0_SDO
和SPI0_SDI
短接
3.开发板的cpu负载测试
3.1 自己写了一个程序如下
#include <stdint.h>
int main(int argc,char *argv[])
{
if(argc==2)
{
while(1)
{
//printf("%s",argv[1]);
}
}
return 1;
}
经过测试开发版没有出现风扇的那种开机猛转的情况,说明cpu还是很强的
3.2cpu CoreMark 测试
1.下载 CoreMark源码
git clone https://github.com/eembc/coremark
编译
make XCFLAGS="-DMULTITHREAD=4 -DUSE_PTHREAD -pthread"
测试
./coremark.exe
4个核心coremark分数累计为: 34003.485357
4开发板的AI样例体验
HDD增强示例
进入目录
cd samples
运行样例
./start_notebook.sh
复制地址进入网页
http://127.0.0.1:8888/lab?token=ef3136c877f3535bdefa152a533e83f79d39238d0c9c9d0e
关闭 Kenel
运行示例
结果显示
5.yoloV8跑起来
1.首先建立vnc的远程连接
2.依次输入指令
conda create -n tvm python=3.10
conda activate tvm
pip install ultralytics
yolo predict model=yolov8n.pt bus.jpg
pip install ultralytics
下载可能失败使用这个指令即可
pip install timm==0.9.8 thop efficientnet_pytorch==0.7.1 einops grad-cam==1.4.8 dill==0.3.6 albumentations==1.3.1 pytorch_wavelets==1.3.0
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完成
3.下载源码
https://github.com/ultralytics/ultralytics
git clone https://github.com/ultralytics/ultralytics.git
git clone https://gitee.com/chejia12/ultralytics.git
4.通过MobaXterm软件ssh连接,将源码拷贝到主板系统当中
5.将yolov8n.pt也给下载下来,后面半精度训练的时候需要用到yolov8n.pt权重
6.测试代码
from ultralytics import YOLO
model = YOLO("yolov8n.yaml")
model = YOLO("yolov8n.pt")
model.train(data="coco128.yaml", epochs=3)
metrics = model.val()
results = model("bus.jpg")
success = model.export(format="onnx")
跑模型是的cpu消耗
6.总结
##优点
- 华为这个4和的处理器还是很牛逼的,用户目标检测或用于边缘计算可以说是绰绰有余
- 这个处理器在大模型使用的环境也是值得期待的,经测试yoloV8跑起来还是轻轻松松
- 最后感谢活动委员会的大力力支持
不足之处
- 图像界面不稳定,在VNC重启后登陆系统的时候,经常出现界面卡死问题,需要重启开发板。
- npu模型的时候,内存严重不够用,如果不配置交换空间,系统直接会卡死