折腾瑞芯微RV1126嵌入式开发板

2020年前后,当华为海思被美国制裁时,国内安防芯片缺口很大(安防领域,当时海思IPC SoC大约占有70%市场,DVR/NVR SoC大约占有90%市场)。之后群雄逐鹿,瑞芯微也适时推出了两款面向IPC的SoC芯片,RV1126(4K800万IPC)及RV1109(500万IPC)。RV1126采用四核32位ARM Cortex A7架构,有2T算力的NPU,适合用来做视频编解码,跑与视频相关的算法模型。

手边有一块闲置很久的基于RV1126的嵌入式开发板,1G内存,自带8G eMMC硬盘。闲暇之余,想用来安装宝塔面板,搭建nginx等环境,然后跑web应用。厂家提供的固件是基于 buildroot的,如此,需要从源代码开始,编译和配置自己需要各种软件和库。对此我一窍不通,难度太大,只能作罢。

RV1126开发板

最近发现厂家更新了固件,提供了基于Ubuntu的底层固件,之前的想法又冒出来了,试了试,居然成功了,这里做些回顾记录。

刷机

刷机方法与刷安卓手机类似。电脑首先安装usb驱动,瑞芯微有提供驱动安装助手–DriverAssitant_v5.0(下载)。驱动安装好后,开发板通过USB与电脑连接,识别到设备。

瑞芯微的刷机工具–RKDevTool(下载),刷机过程中可能出现的问题与安卓刷机基本一样,包括不限于USB线,设备连接,识别,驱动等方面。

RV1126开发板厂商提供的基于Ubuntu的固件–RV1126-Ubuntu-20.04-firmware_20240227(下载)。

环境搭建配置

刷完机,插上网线,因为设备默认DHCP,搜索查询到设备的IP,然后SSH登录。

SSH 登录

1panel面板

因为时常操作云服务器,此时第一想法是安装宝塔面板。却被提示在线安装的宝塔,不支持这个arm 32位设备。让去试试宝塔5.9。简单搜索了下,不知道去哪弄宝塔5.9的安装包,官方的离线安装服务里可能有旧版的,但要收费。(写此博文时,又在网络搜索一番,发现有好心人搜集整理了旧版本的宝塔,此处

转念想到何不试试其他的面板程序,比如1panel。1panel面板官网写着支持armv7l服务器架构。试了下,果然安装成功。有宝塔的经验在先,1panel面板的安装,使用上手很快。终端SSH及文件管理,很直观,与宝塔的使用基本一致。

frp

为了方便SSH远程登录,及面板的远程管理以及后续web站点能外网访问,首先用上frp。用一台阿里云香港服务器(2C2G30M)做frp的服务端,配置好。虽然第一次使用frp,因工作原因,对p2p,nat穿透,端口映射,DDNS知识了解很多,所以对frp理解,上手,使用起来很容易。

frp的设计理念可能是要保持服务端配置的精简,统一(在客户端做各种区分),比如保持服务端唯一的对外http端口,https端口,ssh端口等。如果有多个对外服务(比如web应用),只需要在frp客户端做配置即可,通过绑定不同域名来区分不同web应用(而非常规的采用不同端口区分不同web应用),如此思路很清晰,就是有点费域名。:-)

持续将近半个月的frp使用下来,很稳定,速度也很好。当然,这可靠性多半要归我这台2C2G30M的阿里云香港服务器。看网上的讨论,这个系列的阿里云香港服务器很抢手,性价比很高。我比较看重的,回国内延时非常低,在广州ping值延时只有8-9ms,比广州服务器ping值还低。(对于我用来科学上网,非常完美)。

说个题外话,我曾持续(从一个月到一年时间不等)测试各种云的香港服务器(比如狗云,马云,鸡云,草云。当然还有大厂的,腾讯云,华为云,天翼云等),回大陆线路,表现最好最稳定,性价比最高的还是阿里云。

应用

解决了服务器远程管理,外网访问问题。剩下的就是搭建网站了。使用宝塔时,习惯一键安装NMP等环境。1panel也有类似功能,不过其提供的默认web环境是OpenResty,安装时却出了点状况,始终安装失败。

1panel的理念是一切皆docker。安装的所有应用均是基于docker的。安装OpenResty失败,起初以为是docker镜像源,网络问题。不过,这个很快排除了。

前段时间网络上讨论很多,docker hub及国内的众多加速服务在国内完全无法用,当然解决办法也很多。我比较喜欢的办法,对于个人用户,可以将常用的镜像通过GitHub action同步到阿里云容器镜像服务 ACR,然后选择公开或者私有,需要时从ACR拉取容器镜像。(见 docker_image_pusher

这种方法,我使用多次,国内服务器上拉取容器镜像,速度很快,也稳定可靠。当然,更常规的做法是使用docker hub镜像加速,比如1panel提供的临时加速地址:https://docker.1panel.live 。目前大环境下,国内的docker hub镜像站几乎都关了。我上面提到的docker image pusher方法对于个人用户是非常实用的。

排除网络问题,查看日志,发现安装OpenResty失败的原因是因为1panel商店里上架的这个版本不支持我使用的armv7l处理器。此时恍然大悟,然后又有点忧心。相较于x86,armv7l算比较小众,很多docker应用可能没有适配。如果通过1panel自带的商店安装,估计很多安装不了。如此,对于这个开发版使用1panel面板作用不大了。当然1G内存,外加4核心处理器,本身有点鸡肋和尴尬。也只能用来跑些简单的web应用。

找到问题以后,手动安装了nginx/1.18.0,PHP 7.4.3-4ubuntu2.23 (cli),这样能来跑静态及PHP站点了。

目前这个开发板上运行的web应用有:

之前在网友小宋的博客看见介绍的用来监控树莓派状态的应用Pi Dashboard,UI比较好看,起初试了在云服务器上跑,但是x86的服务器获取不到CPU温度。如今这个是arm的开发版,安排上。

通过docker安装的twikoo,uptime-kuma可以成功运行。

作为我这个hexo博客节点之一(目前我这个博客节点有:阿里云广州,华为云北京,京东云北京,海外netlify以及此开发板的香港服务器frp反代)。通过Github action构建,然后分发到不同节点服务器上,方法参见我之前的博文:博客网站更新总结-2023–Github-action通过GitHub Action将博客网站等静态文件同步到云服务器

考虑停电,断网,设备重启等意外情况,给相关程序加上开机启动,进程守护。同时因为只有1G内存,加上定时任务,定时清理内存,缓存。此时1panel面板的价值作用体现了。

前面提到frp是通过不同域名区分不同网站的,最后各web网站的访问地址是域名+端口,比如one.jiangyu.org:8090,two.jiangyu.org:8090。给这些源站套上CDN,就能不带端口,直接用绑定的CDN域名访问对应的web站点。只是这样一来,就更费域名了。:-)

还有一个问题。绑定CDN以后,我习惯强制https,如此需要给CDN上传SSL证书。如今SSL证书有效期已缩短到90天(我曾在6个月前的博文 SSL证书,部署及相关知识中总结过与SSL证书相关的知识,彼时证书有效期还多是1年,半年不到普遍都是90天了),如果自己的VPS部署站点,开启https,申请SSL证书,然后绑定,不断更新,这都能自动化完成。可是在CDN应用里,需要自己上传SSL证书,如果过期,需要重新再上传新的证书。如果使用的是大厂CDN,这个问题比较好解决,厂家开放了各种api,基于此很多大神帮忙造好了轮子,SSL证书申请,上传到CDN,部署,更新都能通过脚本自动化完成。可是对于小厂CDN,一般没开放api或者没有现成的造好的轮子,需要自己频繁手动更新SSL证书,是个大问题。

最近看到有某CDN小厂提供了名为证书无忧的服务,能很好解决上述问题。在CDN配置里,第一次先上传自己的SSL证书,在证书到期前,会自动更新有效期为 90 天的免费证书。目前公测期间这个功能免费,以后可能每次成功更新证书收费1-2元。这是个很好的功能,不知道会不会有其他CDN厂家跟进。

其他

这个开发板尺寸100 x 60mm,比树莓派略大,买来一个树莓派的亚格力外壳(外壳整体尺寸与这个开发板相当),重新钻孔,保护起来。买外壳时,看见店家有与外壳配套的散热风扇,也买了一个。测试了一段时间,对比发现,这个5V 0.2A的小风扇能给CPU降温5-6℃。不过因为RV1126这颗SoC面向的是安防,消费类IPC领域,低功耗,温度控制这块做得比较好。即使不加散热风扇,在室温30℃时,一般负载下运行时的最高温度也只在50℃上下,离会降频的85℃还很远。

这个开发板有个40pin 的 gpio接口,厂家文档说兼容树莓派的接口,除此没有更多资料。本来想着如同树莓派一样,接几个诸如温度,湿度这样的传感器,调试一下,资料欠缺,需要补的课很多,只能暂时作罢。

苏联的经验教训 溥仪《我的前半生》

  评论

Nickname
Email
Website
0/500
  • 百度表情
  • 新浪微博
  • 脸书表情
16 comments

我发现你博客的样式有个不好的设定,背景颜色,当页面在顶部时我继续滑动触控板可以看到白色背景,我看了一下标签的样式,原来你没将颜色设定在html,而是设定在下级的body标签上。

瑞典
macOS Catalina
Chrome 128.0.0.0

哈哈,你观察细致,是有这个问题。这个主题原本使用的bulma框架,版本比较旧。最近我升级了bulma版本,同时更改了背景,就出现了这个问题。原本想着可能需要对bulma做些设置,修改。但是对此不熟,bulma又比较庞杂,就放下了。
你的建议给我提供了另一种思路,晚点试试。

广东
Android Quince Tart
WeChat 8.0.50.2701
Kwong

请问正文是什么字体?

广东
Windows 10
Chrome 127.0.0.0

LXGW WenKai Screen

中国
Windows 10
Chrome 109.0.0.0

这玩意资料是最难搞的,基本不面向个人提供,前段时间搞亿智SV806方案的主板,因为我们的硬件都停产了,淘宝上联系一家,想买他家的主板和屏幕等硬件试试,人家直接说不卖,不想做这个生意

亚太地区
Windows 10
Microsoft Edge 127.0.0.0

牛逼,你还有这一手。不过你这 30M 带宽的主机厉害啊,就相当于有公网 IP 的家庭宽带了啊。回头我也去看看。

安徽
iOS 17.6
Safari

我就说嘛,我这记性,原来是从你这看到的。

安徽
iOS 17.6
Safari

这行啊,一台迷你本地服务器

北京
Windows 10
Chrome 127.0.0.0

一直习惯用ssh加vim,不习惯宝塔

北京
Linux
Chrome 126.0.0.0

宝塔有个单独的ssh远程连接工具,还不错。

广东
Windows 10
Chrome 109.0.0.0

不断折腾,不断进步

广西
Windows 10
Chrome 126.0.0.0

还是你专业啊,我现在的方向跟你大致一样,大概半年前我就着手慢慢将数据迁移回家里的小服务器上,因为我家里有公网IP,所以我直接使用NGINX反代就成功将端口隐藏了。
远程服务器我测试了好几个,最终也是选择了阿里云的,抢了一个24/月的,香。

瑞典
macOS Catalina
Chrome 127.0.0.0

阿里云这个系列的服务器值得长期持有,作为传家宝。

中国
Windows 10
Chrome 109.0.0.0
S

优秀

江苏
macOS Catalina
Microsoft Edge 126.0.0.0

这种只能玩,不敢用于生产。

浙江
macOS Catalina
Chrome 126.0.0.0

是的,玩票性质的。

中国
Windows 10
Chrome 109.0.0.0

32设备刷armbian,有时候就很尴尬,不过casaos貌似有第三方的32位镜像外部安装源,详细搜索玩客云刷casaos,大部分浏览量高的视频都有介绍。另外,记得备份数据。

河南
Windows 10
Microsoft Edge 125.0.0.0

不怕,上的都是静态站点,有多个员站,有些还有CDN。

中国
Windows 10
Chrome 109.0.0.0

执行力好强,直接就搓完系统面板和穿透。2核2g30m吗?30m太猛了,多少钱啊,可以给我个链接,我也换一台大点带宽。

北京
macOS Catalina
Chrome 126.0.0.0

对。2C2G30M的34一个月,2C1G30M的24一个月。这是最低价位的两档,每天限量出售。24的几乎买不到,34的半夜12点以后好买,到早上可能就缺货了。对应的阿里云的地址:https://www.aliyun.com/product/swas

广东
Windows 10
Chrome 109.0.0.0

感谢,30m非常棒,我一直想找个大带宽,:大笑:

北京
Android Upside Down Cake
Chrome 100.0.4896.58
----- Read more

我有一堆传感器都没用起来,找了个盒子装起来扔床底了。哈哈哈

山东
macOS Catalina
Chrome 118.0.0.0

你博客服务器架构太复杂了,看着就专业。SSL整书的问题我也头痛,估计后面或者买1年整书,或者手动配置,估计学不会代码自动部署,因为有CDN挡着。

陕西
Windows 10
Chrome 126.0.0.0

其实不复杂,就是弄了多个节点,取到负载均衡,类似CDN的作用。(主要是折腾折腾:笑哭:

广东
Windows 10
Chrome 109.0.0.0

原来你也是技术大佬呀

云南
Windows 10
Firefox 128.0

哈哈,你误会了。只能算技术爱好者,本质工作还是产品相关。

广东
Windows 10
Chrome 109.0.0.0
Dorad

arm倒腾docker太折磨人了, 故换x86小主机了:三哈:

湖北
Windows 10
Microsoft Edge 126.0.0.0

是的。x86可玩性好太多。

广东
Windows 10
Chrome 109.0.0.0