电子说
本Demo是基于Hi3516开发板,使用OpenHarmony3.0-LTS开发的应用。通过获取摄像头数据,实现预览拍照以及路视频等功能。并且通过后台AI服务识别唤醒词来进行语音控制拍照及录制视频。
此为相机的预览界面。
如上图所示,用户对着相机说对应的唤醒此,相机收集到对应的音频,经过AI服务识别对应的文字,最后传到相机进行对应的操作。
鸿蒙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),分别对应控制相机的拍照以及录像功能。
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !