RK1808 计算棒使用(主动模式)
Posted JeckXu666
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 计算棒使用(主动模式)的主要内容,如果未能解决你的问题,请参考以下文章