当前位置: 首页 > article >正文

立创泰山派使用笔记

最近有用rk的需求,顺便买了一块板子来玩一下,本文做一下记录,这个板子是立创做的,有教程,但是说实话,写的很不好,很多问题,不适合初学者。

1、板子资料

https://wiki.lckfb.com/zh-hans/tspi-rk3566/system-usage/img-download.html
在这里插入图片描述
顺便看了一眼立创的其他板子,已经这么丰富了,立创这点还是很不错的,给力很多人学习的机会
在这里插入图片描述
板子的资料都放在了百度网盘,需要的去网盘下载,说实话,网盘很大,建议整个vip,不然就挂一晚上吧,有几十个g
在这里插入图片描述
板子相关的信息的话直接看这个吧,下面是接口详情
在这里插入图片描述
下面是io口参数,这里居然提到了很多模块?难道板子也做驱动相关的教程吗?
在这里插入图片描述
下面是背面的接口
在这里插入图片描述
板子的主控是rk3566,最基础的版本是1+0g,说实话不太能用,浪费了这颗芯片,建议2+16起步吧,有些焊接比较厉害的也能整出来8+256的。

2、系统编译和烧录

系统部分官方提供了很多系统的教程,但是我感觉官方可能还是想主推安卓?他们有个训练营是安卓的
在这里插入图片描述
我本人对安卓没什么了解,官方提供了ubuntu和buildroot这两种系统,哦还有debian三种比较原生的linux系统吧
在这里插入图片描述
这里建议buildroot吧,当时看到buildroot的时候,感觉很奇怪,这不是一个构建linux系统的工具吗?这里居然是一种系统了?

2.1 虚拟机建议

这里官方建议的是VirtualBox,然后ubuntu的版本是ubuntu-18.04.6-desktop-amd64,这里我用的是vmware,这个用习惯了,没什么影响,唯一需要注意的是开虚拟机的时候把内存给大点,建议是200GB起步吧,编完固件就100多了
在这里插入图片描述
然后先把网盘里的sdk复制到虚拟机解压,大概就是这个文件
在这里插入图片描述
解压完大概是这些文件
在这里插入图片描述
编译环境需要的工具包

sudo apt-get install git ssh make gcc libssl-dev liblz4-tool expect \
g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support \
qemu-user-static live-build bison flex fakeroot cmake gcc-multilib \
g++-multilib unzip device-tree-compiler ncurses-dev

之后设置一下板级配置

./build.sh lunch

这里选择3即可
在这里插入图片描述

2.2 编译buildroot

这个比较好编译,直接输入

export RK_ROOTFS_SYSTEM=buildroot

之后输入下面的命令开始全编译

./build.sh all

如果是第一次编译会有一个电源的选项弹出,需要手动选择,大概是下面这样
在这里插入图片描述
选择的时候记得第四个和第六个选1.8V,其他的都是3.3,这个很讨厌的电源选择还会在之后系统启动后持续出现,就向下面的打印:
在这里插入图片描述
这个打印的关闭可以参考:
在这里插入图片描述
关闭这个脚本里面这个函数的调用
在这里插入图片描述
之后编译系统,首次编译比较耗时,大概需要一个小时吧,一个小时后就编出固件了,之后完成固件打包

执行固件打包:
./mkfirmware.sh

如果要打包成update需要下面命令:
./build.sh updateimg

编译出来的固件位置大概在这里
在这里插入图片描述
buildroot编译出来的固件大小大概是500mb左右,下面准备刷固件,刷固件采用的方式是rk官方的工具,目前没有看到什么升级的工具,等于每次都是重新刷写,需要准备这个工具(没装驱动的记得先装一下驱动
在这里插入图片描述
直接选的这个页面
在这里插入图片描述
关于进入刷写模式的说明:
在这里插入图片描述
具体的操作说明:
在这里插入图片描述
刷完的系统是这样的
在这里插入图片描述
上面的串口参数(不知道为什么要设置成这样的
在这里插入图片描述设备刷好了之后可以联网

root@RK356X:/#  vi /data/cfg/wpa_supplicant.conf

ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
update_config=1

network={
        ssid="wucaicheng"   # Wi-Fi名字
        psk="1234567890"  # Wi-Fi密码
        key_mgmt=WPA-PSK  # 加密配置,不加密则改为:key_mgmt=NONE
}

之后输入

wpa_supplicant -B -i wlan0 -c /data/cfg/wpa_supplicant.conf

其他功能跟正常linux差不多,这里不赘述

2.3 Debian系统

首先还是环境变量设置

export RK_ROOTFS_SYSTEM=debian

之后进入debian目录

cd debian

首先还是安装编译环境

sudo apt-get install binfmt-support qemu-user-static live-build 

之后输入

sudo dpkg -i ubuntu-build-service/packages/*

上面的命令可能会报错

sudo apt-get install -f

之后回到上一级

./build.sh debian

大概也需要1小时编译完成,之后也是相同的命令完成系统打包,debian系统打包固件大概3个g

3、系统开发

这里记录下我用buildroot系统的一些经过,首先需要激活一下环境:

source buildroot/build/envsetup.sh

这里选择65,表示我们用的是3566
在这里插入图片描述
之后进入buildroot目录下,就可以使用常规命令了

make menuconfig

可以看到相关的功能选项
在这里插入图片描述
选完之后会在这个路径下看到config文件
在这里插入图片描述

4、yolo运行

这个功能主要是参考:
https://blog.csdn.net/weixin_62656772/article/details/139309244

4.1 yolo训练(windows上完成)

上面他这个教程主要是要跑自己的yolo,教你怎么替换,我觉得直接跑官方的例程其实也很快的,关于yolo环境搭建的部分可以参考我之前的文章:
yolov5环境搭建

我上面用的是yolov5-5.0,记住一定要下载6.0的,不然跑不通的。前半部分的目的就是训练出来自己的模型,之后转成onxx的模型
在这里插入图片描述
这里他生成onxx模型用的命令是:

python export.py --weights ./first/best.pt --img 640 --batch 1 --include onnx --opset 12

会生成一个best.onnx文件,这个就是泰山派需要的模型文件。

4.2 交叉编译(ubuntu虚拟机中完成)

这里建议安装ubuntu20.04的虚拟机,因为需要python3.8的版本,不然你还还需要升级ubuntu,多麻烦呢。

首先是创建环境(这里应该python的虚拟环境)

mkdir Val-Env && cd Val-Env
python3 -m venv RK3566 python=3.8

之后进入环境

source RK3566/bin/activate

终端会显示当前处于创建的环境中
在这里插入图片描述
之后创建一个YOLO文件夹,把鲁班猫的代码拉下来(拉不下来就手动下载然后解压缩)

git clone https://gitee.com/LubanCat/lubancat_ai_manual_code.git
cd lubancat_ai_manual_code/dev_env/rknn_toolkit2

之后安装需要的依赖库,首先需要配置pip(这个pip我建议是可以不配置,因为配了有些东西下载不下来

pip3 config set global.index-url https://mirror.baidu.com/pypi/simple

之后开始安装需要的的库

pip3 install numpy
pip3 install -r doc/requirements_cp38-1.5.0.txt
pip3 install packages/rknn_toolkit2-1.5.0+1fa95b5c-cp38-cp38-linux_x86_64.whl

之后查看环境是否配置成功,不报错就是配置成功了
在这里插入图片描述
之后下载交叉编译器:

https://releases.linaro.org/components/toolchain/binaries/6.3-2017.05/aarch64-linux-gnu/

下载这个:
在这里插入图片描述
解压完成:
在这里插入图片描述
之后下载rk官方例程:

https://github.com/rockchip-linux/rknpu2

下面先进入这个目录
在这里插入图片描述
执行

python3 test.py

这个跑的是默认的程序,如果想换成自己的模型,需要修改test.py,对着源码修改即可,跑完会出结果,可以验证一下效果。
在这里插入图片描述
之后进入下面目录修改数据集检测的类型数目
在这里插入图片描述
在这里修改名称
在这里插入图片描述
这里放上一步生成的rknn文件(windows那步转出来的)
在这里插入图片描述
同样在这个目录下换成自己的图片
在这里插入图片描述
之后修改这个路径下的gcc路径,改为交叉编译器的
在这里插入图片描述
之后会生成一个install目录,这个就是我们需要的产物了
在这里插入图片描述

4.3部署到泰山派

这里我用的是build系统,为了把内容传到泰山派,这里我需要开一下ssh方便传文件,在串口输入

passwd root

会提示你创建密码
在这里插入图片描述
之后创建ssh连接,并把install目录下的文件夹传入进去
在这里插入图片描述
之后进入文件夹,输入:

./rknn_yolov5_demo ./model/RK3566_RK3568/yolov5s-640-640.rknn ./model/bus.jpg

效果如下
在这里插入图片描述

最终检测效果
在这里插入图片描述
下面测试一下视频,先把视频导入,注意需要h264的格式:

./rknn_yolov5_video_demo ./model/RK3566_RK3568/yolov5s-640-640.rknn ./input.h264 264

运行如下:
在这里插入图片描述
输出结果:
在这里插入图片描述
输出的文件是这个:
在这里插入图片描述
其他测试命令:
h264视频

./rknn_yolov5_video_demo model/<TARGET_PLATFORM>/yolov5s-640-640.rknn xxx.h264 264

注意需要使用h264码流视频,可以使用如下命令转换得到:

ffmpeg -i xxx.mp4 -vcodec h264 out.h264

h265视频

./rknn_yolov5_video_demo model/<TARGET_PLATFORM>/yolov5s-640-640.rknn xxx.hevc 265

注意需要使用h265码流视频,可以使用如下命令转换得到:

ffmpeg -i xxx.mp4 -vcodec hevc out.hevc

rtsp视频流

./rknn_yolov5_video_demo model/<TARGET_PLATFORM>/yolov5s-640-640.rknn <RTSP_URL> 265

http://www.kler.cn/a/586867.html

相关文章:

  • 解决PC串流至IPad Pro时由于分辨率不一致导致的黑边问题和鼠标滚轮反转问题
  • 基于YOLO目标检测 识别 APP页面点击跳转页面加载时间,视频拆帧统计应用场景,场景数获取时间差,前端性能测试和统计
  • 【每日学点HarmonyOS Next知识】图片拖动、动画放大、列表高度、返回键监听、分割线颜色
  • 【测试篇】打破测试认知壁垒,从基础概念起步
  • 【python】OpenCV—Hough Circle Transform
  • Docker 构建 nginx-redis-alpine 项目详解
  • Cadence学习笔记3
  • 读 Gemma 3 二分
  • 《Python全栈开发》第10课:数据库入门 - SQLite与SQLAlchemy
  • 利用 OpenCV 库进行实时目标物体检测
  • 大数据-spark3.5安装部署之standalone模式
  • uniapp报毒
  • lanqiaoOJ 1180:斐波那契数列 ← 矩阵快速幂
  • 找工作、创业的思考和出路
  • JVM之工具篇
  • 华为手机助手输入连接码时光标乱跳
  • 数据结构(C\C++)——算法复杂度
  • Django 分页操作详解
  • 【CodeMirror】系列(一)官网文档学习(二)核心扩展列表
  • Jetson Nano NX 重装系统