RK1808 计算棒使用(主动模式)

Posted 嵌入式up笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RK1808 计算棒使用(主动模式)相关的知识,希望对你有一定的参考价值。

文章目录

RK1808 计算棒使用(主动模式)

一、主动模式流程

  • RK1808计算棒插入上位机后,会被虚拟成网卡设备
  • 上位机进行虚拟网卡配置,配置IP为192.168.180.1,保证上位机和1808中间的网络连接正常
  • 计算棒默认访问 IP 为192.168.180.8,账号密码皆为toybrick,可以通过SSH登录计算棒,拷贝模型和server服务程序到计算棒
  • 计算棒端运行 server 服务程序,用来接收上位机的连接请求,并调用RKNN进行处理,再返回结果
  • 上位机运行client程序,连接server成功之后,发送推理请求,从1808端获取返回结果

二、上位机连接 RK1808

2.1 RK1808 虚拟网口连接

插入 RK1808S0 后会虚拟出一个网口,查看网口:

连接虚拟网口

sudo nmcli connection add con-name toybrick type ethernet ifname enx10dcb69f3531 autoconnect yes ip4 192.168.180.1/24

连接完成,可以看到虚拟网口 IP 被修改:

完成以上配置后,上位机即可与1808计算棒正常通信,可以 ssh 远程登录到 192.168.180.8

2.2 RK1808 外网访问配置

然后设置虚拟网口和 ubuntu 的外网访问网口关联,使 RK1808 也可以访问外网,方便下载资源

看一下访问外网的网口名称:

关联代码:

sudo sysctl   -w net.ipv4.ip_forward=1
sudo iptables -F
sudo iptables -t nat -F
sudo  iptables  -t  nat  -A POSTROUTING -o ens33 -j MASQUERADE

到此上位机为主动模式的准备基本完成,下面就是正式进入开发

三、测试C语言Demo

3.1 Demo获取

首先下载 Demo,demo下载地址:https://eyun.baidu.com/s/3htJNFwS

传到 ubuntu 下解压:

解压目录的 host 是主机运行的参考程序,1808 目录是

将解压后目录下的 1808 目录传到 RK1808 的 /home/toybrick/mobilenet_ssd/ 目录下

scp -r /home/jeck/rk1808/test_demo/mobilenet_ssd/1808 toybrick@192.168.180.8:/home/toybrick/mobilenet_ssd/

传完成如下:

3.2 RK1808 依赖安装

然后我们进入 1808 安装 Demo 程序需要的依赖

ssh toybrick@192.168.180.8
# 账号密码都是toybrick

进入如下:

因为 RK1808 是 Fedora 系统,所以安装指令和 Ubuntu 不同,下面安装 cmake 和 make:

sudo dnf clean all
sudo dnf install -y cmake make

进入到文件目录,创建 build 目录,进入后执行 cmake,然后使用 make 进行编译,编译使用 4 个进程:

cd mobilenet_ssd
mkdir build && cd build
cmake ..
make -j4

3.3 RK1808 开启启动脚本

打开 /usr/local/bin/tb.local.after

sudo vi /usr/local/bin/tb.local.after

在/usr/local/bin/tb.local.after中加入以下代码,重启 RK1808 启动后自动执行模型运行脚本:

cd /home/toybrick/mobilenet_ssd
sudo -u toybrick /home/toybrick/mobilenet_ssd/boot.sh

添加后如下:

3.4 ubuntu 主机部署

安装个 opencv 库提供支持

sudo apt-get install libopencv-dev

进入 host 目录,创建一个make目录,编译程序,执行脚本

cd /home/jeck/rk1808/test_demo/mobilenet_ssd/host/build
cmake ..
make
./ssd_demo

执行之后,程序会调用摄像头,默认代码是 video0 设备,我们找个 usb 摄像头接上去就行

程序运行:

识别画面:

可以看到 Demo 例程的 mobilenet 模型跑起来了,标出识别物,该识别模型运行在计算棒上

计算棒的使用思路大致如上,具体使用场景,我们直接参考 Demo 里面的代码,看 Demo 是如何本地部署接口以及服务端调用接口的

以上是关于RK1808 计算棒使用(主动模式)的主要内容,如果未能解决你的问题,请参考以下文章

RK1808 计算棒使用(被动模式)

RK1808固件开发

ld 链接器找不到 so 库

ld 链接器找不到 so 库

RK3399pro Linux Rock-X AI组件库支持

目标跟踪文章翻译--基于主动特征选择的鲁棒目标跟踪