前言
在openharmony系统的设备上调用一些类似于yolo这些python模型的时候,一般要调用部署在局域网或者服务器上的部署好的服务。如果我们想要调用在设备上本地部署的服务不太好实现,所以有了这一篇帖子,来解决这个问题。 这篇帖子只有配置环境部分,关于后续启动本地服务并且和arkts应用进行通信会持续更新
设备信息
开发板:orange pi 5 plus(开发板不做要求,只要能烧oh系统就可以)
版本信息:openharmony 5.0.0.71
准备操作
需要准备好hdc工具,让我们可以操作openharmony系统终端
下载编译好的ubuntu-rootfs根文件系统 飞书下载链接
可以理解为使用rootfs可以让我们像操作linux系统一样操作openharmony终端,来进行各种各样的操作
开始
1.使用hdc导入编译好的ubuntu根文件系统到openharmony设备中
在我们保存了ubuntu-rootfs文件(前面提供了下载链接)的目录下运行下面的hdc指令将下载的内容保存到我们openharony系统的/data目录下
bash
hdc file send ubuntu-rootfs.tar /data

- 注:hdc工具版本不要用等级太高的,不然可能会因为文件太大而发送失败,就像下面这个样子
然后我们就可以进入openharmony的终端,再进行下面的操作
bash
hdc shell
cd /data
mkdir ubuntu-rootfs
tar xvf ubuntu-rootfs.tar -C /data/ubuntu-rootfs
解压完成后是下面这个样子的
如果有问题建议把压缩包删了重新开始
2.导入ubuntu rootfs环境挂载脚本
我们将上面提供的飞书下载链接中下载的ubuntu_rootfs_env_build.sh脚本下载下来,我们下面需要将这个脚本通过上面相同的方式,将他传输到openharmony设备中
bash
hdc file send ubuntu_rootfs_env_build.sh /data
hdc shell chmod +x /data/ubuntu_rootfs_env_build.sh
下面的这个指令是将我们刚刚传上去的bash脚本赋予可运行权限的操作
3.修改ubuntu rootfs默认解释器
按照下方的指令操作就可以
bash
/data/ubuntu_rootfs_env_build.sh
ln -sf /bin/bash /bin/sh
exit

4.启动
- 注: 每次启动shell终端都需要运行一遍这个脚本进入ubuntu根文件系统中
bash
/data/ubuntu_rootfs_env_build.sh
这个样子就可以启动我们的rootfs了
我们可以在这里做任何在ubuntu中可以做的操作,运行python文件之类的都不在话下
演示:
结尾
有人就会不理解在openharmony中搞这个有什么用,确实,如果只看这点功能确实不够看,也没什么用。但是我们可以写一个本地service,运行一些yolo模型,通过http通信或者其他方式在arkts中调用本地模型。 具体实现可以期待一下下一篇帖子。