OpenHarmony南向开发案例:【智能照相机】

电子说

1.2w人已加入

描述

样例简介

本Demo是基于Hi3516开发板,使用OpenHarmony3.0-LTS开发的应用。通过获取摄像头数据,实现预览拍照以及路视频等功能。并且通过后台AI服务识别唤醒词来进行语音控制拍照及录制视频。

应用运行效果图:

鸿蒙

此为相机的预览界面。

样例原理

鸿蒙

如上图所示,用户对着相机说对应的唤醒此,相机收集到对应的音频,经过AI服务识别对应的文字,最后传到相机进行对应的操作。

工程版本

  • 系统版本/API版本:OpenHarmony3.0-LTS
  • IDE版本:DevEco Device Tool Release 3.0.0.401

快速上手

鸿蒙

鸿蒙HarmonyOS与OpenHarmony开发文档参考

#### 准备硬件环境

* Hi3516DV300 IoT Camera开发板套件

#### 准备开发环境

开发环境安装配置参照文档:[DevEco Device Tool 环境搭建][`gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md`](https://gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md)点击或复制转到。

#### 准备工程

本用例采DevEco Device Tool工具进行开发,当配置完开发环境后,我们可以在IDE上进行工程的配置下载。

* 打开DevEco Device Tool,连接远程linux服务器:[DevEco Device Tool 环境搭建]
* 点击左下角DevEco插件图标,然后点击左边框出现的主页,弹出主页界面,主页中选择新建项目,如下图:

![main_config](//file1.elecfans.com/web2/M00/C6/C2/wKgZomYMFM2AZ8n7AAC9W_lXmoc898.jpg)

* 配置下载工程

![config download](//file1.elecfans.com/web2/M00/C7/A5/wKgaomYMFM2ATHN-AACMaStfbsw516.jpg)

如上图所示,填写对应样例工程的名称,选择对应的样例组件和样例工程存放路径后,点击创建即可进行样例工程的下载。下载界面如下:

![download](//file1.elecfans.com/web2/M00/CE/C0/wKgaomYhKgmAXmMtAACJ9gUzNcs185.jpg)

当右下角显示正在下载OpenHarmony镜像时,耐心等待下载完成即可。

![download](//file1.elecfans.com/web2/M00/CE/C0/wKgaomYhKgmAJPnLAAEzsaT05Yc111.jpg)

#### 准备工具链

* 在Projects中,点击Settings按钮,进入配置工程界面。
* 在toolchain页签中,DevEco Device Tool会自动检测依赖的编译工具链是否完备,如果提示部分工具缺失,可点击SetUp按钮,自动安装所需工具链。
* 工具链自动安装完成后如下图所示。

![工具链配置成功](//file1.elecfans.com/web2/M00/CE/C0/wKgaomYhKgmAGsHGAAEj9TUMXZY952.jpg)

#### 编译

样例代码下载完成后,DevEco Device Tool会重新要求连接远程服务器,输入密码连接后会进入对应的代码编辑界面,此时点击左下角DevEco插件图标,选择PROJECT TASKS可以查看到对应的样例工程,点击build选项进行编译,并可在终端查看对应的编译结果。

![build](//file1.elecfans.com/web2/M00/CD/E0/wKgZomYhKgmAHlVsAAII_kl0tMM036.jpg)

固件生成在对应工程目录的out/hispark_taurus/smart_camera/目录下。

![firm](//file1.elecfans.com/web2/M00/CD/E0/wKgZomYhKgmAVSfpAACATS5y4ZM629.jpg)

#### 烧录/安装

编译完成后可以通过DevEco Device Tool进行烧录,在烧录前需要做一些烧录的配置:

##### 配置准备

在配置烧录前需要先查看DevEco Device Tool是否可以正常识别串口。

* 点击左边栏"REMOTE DEVELOPMENT",找到 并点击” Local PC “ 选项。
* 查看 Local PC右边图标
  如若图标为![方型图标](//file1.elecfans.com/web2/M00/C8/36/wKgaomYSm-6AacqFAAAAyP4i3c8105.jpg),则代表DevEco Device Tool已连接本地,可以正常识别串口。
  如若图标为![箭头图标](//file1.elecfans.com/web2/M00/C8/36/wKgaomYSm-6AcSn2AAABM8ZHpZc613.jpg),则代表DevEco Device Tool未连接本地,不能识别串口,此时需要点击该绿色图标进行连接,连接成功后图标会变为![方型图标](//file1.elecfans.com/web2/M00/C8/36/wKgaomYSm-6AacqFAAAAyP4i3c8105.jpg)。

![check local pc](//file1.elecfans.com/web2/M00/CD/E0/wKgZomYhKgmAMJeNAADZlR4r_l4731.jpg)

* 点击主页,在主页选择对应工程,点击配置工程进入到配置页面

![start config project](//file1.elecfans.com/web2/M00/CD/E0/wKgZomYhKgqAc5faAAI8QG3Tq6s612.jpg)

##### 配置串口

配置页面选择的板级配置页面,在该页面查找到烧录选项,配置烧录选项中的upload_port和upload_protocol,upload_port选择开发板对应的串口号,upload_protocol默认选择hiburn-usb,最后点击右上角的保存按钮进行保存。

![config searail](//file1.elecfans.com/web2/M00/CE/C0/wKgaomYhKgqAVqwlAAISm3kxsfw546.jpg)

##### 烧录

* 当配置完串口以及固件后,直接点击左边栏工程管理中的upload即可启动烧录。

![burn](//file1.elecfans.com/web2/M00/C8/79/wKgaomYU6-yAPH9XAAA9xRC_EdA356.jpg)

* 在终端窗口显示如下蓝色提示信息时,在终端按下任意键继续烧录。

![continueburn](//file1.elecfans.com/web2/M00/C8/79/wKgaomYU6-yAPbBGAADe_Zd1pmw440.jpg)

* 在终端窗口显示如下提示信息时,按住复位键,插拔USB线,最后松开复位键启动烧录。

![startburn](//file1.elecfans.com/web2/M00/C8/79/wKgaomYU6-yAW0C9AAGWb5x1VSQ145.jpg)

* 启动烧录后,界面提示如下信息时,表示烧录成功。

![burnseccess](//file1.elecfans.com/web2/M00/C7/93/wKgZomYU6-yADPsDAAEabVCWDJg867.jpg)

##### 设备启动

如果是第一次烧录程序的话,单板在启动的时候需要设置bootargs,否则不能正常启动。单板第一次启动会停在hisilicon界面:

![set bootargs](//file1.elecfans.com/web2/M00/C8/79/wKgaomYU6-yAM_3DAABg67BvIUo659.jpg)

我们需要输入以下指令:

setenv bootcmd "mmc read 0x0 0x80000000 0x800 0x4800; go 0x80000000";
setenv bootargs "console=ttyAMA0,115200n8 root=emmc fstype=vfat rootaddr=10M rootsize=20M rw";
saveenv
reset

##### 打包应用

本demo是以安装包的形式安装到系统中启动运行的。因此,在安装应用前,需要将应用打包成安装包。 将编译好的libsmart_camera.so文件与工程目录下的res以及config.json文件通过压缩打包成zip格式(三个文件直接压缩,不能压缩文件夹),并将后缀名改为hap(smart_camera.hap)。

![hap file](//file1.elecfans.com/web2/M00/CD/E0/wKgZomYhKgqAG4UIAABdl0LyZCY199.jpg)

##### 挂载NFS

应用打包后,我们是通过NFS方式将单板挂载到本地,通过相关的指令来安装的

![mount nfs](//file1.elecfans.com/web2/M00/C7/93/wKgZomYU6-yAcFyGAAAW4QLRaLQ315.jpg)

##### 安装

通过nfs是单板连接到本地电脑后,我们可以通过bm安装指令进行安装。bm 安装工具在系统编译完后会自动生成,路径在:

out/hispark_taurus/smart_camera/dev_tools/bin/

![bm](//file1.elecfans.com/web2/M00/CE/C0/wKgaomYhKgqATyYiAABvnoo-EY0618.jpg)

由于bm默认安装的应用为已经签名的应用,所以我们在安装前需要先将签名去掉。

bm set -s disable // 去签名
bm install -p filename // 安装应用filename, filename需要指定路径

![bm install](//file1.elecfans.com/web2/M00/CE/C0/wKgaomYhKgqAZa3qAADfquLAiuA661.jpg)

安装完后桌面会显示对应应用的ICON,直接点击ICON即可以启动相机的应用。

#### 操作体验

![大屏6](//file1.elecfans.com/web2/M00/CD/E0/wKgZomYhKgqAJdA6AAUrvAwFRxo750.jpg)

* 由于本demo涉及到摄像头的读写,故需要申请了相关的权限。在使用本demo前需要在setting中打开对应的权限。具体操作:

​ 点击 setting-- >应用-- >smart_camera,然后将所有权限打开。

* 本demo带有相机的所有功能,包含预览,拍照,录像以及跳转到图库查看对应拍的图片和录制的视频。
* 本demo最主要的功能是语音控制相机,需要对准板子上的mic风说唤醒词,目前支持2个唤醒词(Hi,xiaowen以及Nihao,wenwen),分别对应控制相机的拍照以及录像功能。

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分