Rockchip平台 远程OTA服务搭建

1. 概述

远程OTA升级服务是一种通过互联网远程更新Rockchip设备的固件和软件的方法。这种服务对于确保设备安全性、修复错误和添加新功能非常重要。

本文档将引导您完成在Rockchip平台上搭建远程OTA升级服务的过程。

在阅读本文的前,建议优先参考RK官方ota搭建文档:
Rockchip平台 远程OTA服务搭建-LMLPHP
2. 准备工作

在开始之前,请确保您已经准备好以下工作:

  • 一台运行Linux的服务器
  • Rockchip设备
  • Rockchip设备的OTA升级固件文件
  • 一个可用的互联网域名或IP地址

3. 构建OTA服务器

官方文档提及需要在ubuntu系统下安装必要的软件,包括:

  • Apache HTTP环境
  • tomcat环境
  • jdk环境

本文通过Docker的方式实现搭建ota后台服务,因此跟官方文档有一点出入,原因是无需手动安装环境。

3.1 安装Docker hub中的 tomcat镜像

首先安装Docker,您可以按照以下步骤进行操作:

步骤 1:更新系统

首先,确保您的系统已更新到最新的软件包。打开终端并运行以下命令:

bash

sudo apt update
sudo apt upgrade
步骤 2:安装依赖软件包

安装一些必要的软件包,以便后续安装过程中的依赖项得到满足:

bash

sudo apt install apt-transport-https ca-certificates curl software-properties-common
步骤 3:添加Docker官方仓库的GPG密钥

Docker官方仓库使用GPG密钥进行验证。使用以下命令添加它:

bash

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
步骤 4:添加Docker APT仓库

添加Docker APT仓库,以便您可以从官方仓库安装Docker软件包:

bash

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
步骤 5:安装Docker Engine

更新APT软件包索引并安装Docker Engine:

bash

sudo apt update
sudo apt install docker-ce
步骤 6:启动并启用Docker服务

启动Docker服务并将其设置为开机自启动:

bash

sudo systemctl start docker
sudo systemctl enable docker
步骤 7:验证安装

运行以下命令以验证Docker是否已成功安装:

bash

sudo docker --version

您将看到Docker版本信息,表示安装成功。

步骤 8:下载和运行tomcat镜像

在docker官方的镜像仓库docker hub中搜索tomcat的容器镜像,注意:官方ota服务代码使用的tomcat版本是7

bash

docker search tomcat

docker pull tomcat:7.0

docker run -d -p 8080:8080 --name tomcatota tomcat:7.0
-d :就是以后台运行方式运行  也可以 -t :以交互式运行
-p :暴露端口号第一个8080是暴露linux 的端口号
--name:给容器取名
tomcat:7.0:运行时加上版本,指定是这个服务器

在此可以在web测试ip:8080是否能正常访问tomcat了,如果无法打开网页检查网络和端口是否正常

3.3 拷贝rk ota服务到docker

把rk提供的ota服务:OtaUpdater 拷贝到docker中:/usr/local/tomcat/webapps

Rockchip平台 远程OTA服务搭建-LMLPHP
最后重启docker,OtaUpdater 服务会自动运行。

至于端口号是否修改,看个人需求,端口修改为2300如下:/usr/local/tomcat# vi ./conf/server.xml
Rockchip平台 远程OTA服务搭建-LMLPHP

3.4 服务器OTA包配置

参考官方文档,这里在做讲解:

  • 设备名称和版本号在源码中定义:
    device/rockchip/rk3588/rk3588_s/rk3588_s.mk

    PRODUCT_MODEL := rk3588_ygld
    
    PRODUCT_PROPERTY_OVERRIDES += \
    ro.product.version = 23.10.8
    
  • 配置远程服务器地址:device/rockchip/rk3588/device.mk

    PRODUCT_PROPERTY_OVERRIDES += \
        ro.product.ota.host = 186.133.115.104:2300 \
        ro.vendor.sdkversion = $(CURRENT_SDK_VERSION) \
        vendor.gralloc.disable_afbc = 0
    
  • 把升级包上传到指定的路径,即docker中的:/usr/local/tomcat/webapps/OtaUpdater/WEB-INF/packages
    注意根据manifast.xml中的路径对应。
    Rockchip平台 远程OTA服务搭建-LMLPHP
    如上配置后,设备端请求服务器,查找服务器中的版本号是否和设备端的一致,如果配置了package路径,那么就去下载23.10.10的升级包。

4. 设备端OTA升级配置

  • 设备端上电,连接网络后会自动去查询远程ota服务器,无需手动操作。等待桌面弹出升级提示框。

5. 测试

在您的Rockchip设备上测试OTA升级功能。确保设备可以成功从服务器下载和安装新版本的固件。

一旦您确认OTA升级功能正常工作,您可以将其部署到生产环境中的所有设备。

服务器中的log位置:/usr/local/tomcat/mylogs# cat otaupdater
Rockchip平台 远程OTA服务搭建-LMLPHP
修改源码中的版本号:要将 out/target/product/rk29sdk/system/build.prop 删除再 make 改变才能生效,或者 make clean 后再 make

6. 安全性和最佳实践

在构建OTA升级服务时,请务必考虑安全性问题。以下是一些最佳实践:

  • 使用HTTPS来加密通信,以确保OTA升级文件的安全传输。
  • 对OTA升级服务器进行身份验证和授权,以防止未经授权的访问。
  • 定期审查服务器上的OTA升级日志,以监控升级活动并检测潜在问题。

7. 总结

搭建Rockchip平台上的远程OTA升级服务是确保设备安全和性能的关键步骤。通过遵循本文档中的步骤,您可以轻松实现OTA升级功能,并确保您的Rockchip设备始终保持最新的固件和软件版本

10-12 02:31