1 OpenHarmony南向开发案例:【智能照相机】-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-04-18 22:19 次阅读

样例简介

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

应用运行效果图:

运行效果

此为相机的预览界面。

样例原理

效果示意图

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

工程版本

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

快速上手

搜狗高速浏览器截图20240326151344.png

鸿蒙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),分别对应控制相机的拍照以及录像功能。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 照相机
    +关注

    关注

    0

    文章

    68

    浏览量

    26946
  • 鸿蒙
    +关注

    关注

    57

    文章

    2339

    浏览量

    42804
  • OpenHarmony
    +关注

    关注

    25

    文章

    3713

    浏览量

    16251
收藏 人收藏

    评论

    相关推荐

    鸿蒙OpenHarmony南向/北向快速开发教程-迅为RK3568开发

    P2_OpenHarmony功能框架 P3_OpenHarmony技术特性 P4_OpenHarmony支持设备类型 p5_南向开发和北向
    发表于 07-23 10:44

    HarmonyOS开发案例:【相机开发

    相机OpenHarmony多媒体进程提供的服务之一,提供了相机的录像、预览、拍照功能,支持多用户并发取流。
    的头像 发表于 04-23 21:20 364次阅读
    HarmonyOS<b class='flag-5'>开发案</b>例:【<b class='flag-5'>相机</b><b class='flag-5'>开发</b>】

    OpenHarmony鸿蒙南向开发案例:【智能窗户通风设备】

    本文档介绍了安全厨房案例中的相关智能窗户通风设备,本安全厨房案例利用轻量级软总线能力,将两块欧智通V200Z-R/BES2600开发板模拟的智能窗户通风设备和燃气告警设备组合成。当燃气数值告警时,无需其它操作,直接通知软总线网络
    的头像 发表于 04-22 17:20 444次阅读
    <b class='flag-5'>OpenHarmony</b>鸿蒙<b class='flag-5'>南向</b><b class='flag-5'>开发案</b>例:【<b class='flag-5'>智能</b>窗户通风设备】

    OpenHarmony鸿蒙南向开发案例:【智能猫眼(基于Hi3518开发板)】

    基于Hi3518开发板,使用开源OpenHarmony开发的RTSP协议流媒体应用。达到将Hi3518开发板中摄像头获取的数据通过RTSP协议传输到手机并显示 。
    的头像 发表于 04-22 15:46 2008次阅读
    <b class='flag-5'>OpenHarmony</b>鸿蒙<b class='flag-5'>南向</b><b class='flag-5'>开发案</b>例:【<b class='flag-5'>智能</b>猫眼(基于Hi3518<b class='flag-5'>开发</b>板)】

    OpenHarmony鸿蒙南向开发案例:【智能猫眼(基于3516开发板)】

    基于Hi3516开发板,使用开源OpenHarmony开发的RTSP协议流媒体应用。达到将Hi3516开发板中摄像头获取的数据通过RTSP协议传输到手机并显示 。
    的头像 发表于 04-19 22:01 598次阅读
    <b class='flag-5'>OpenHarmony</b>鸿蒙<b class='flag-5'>南向</b><b class='flag-5'>开发案</b>例:【<b class='flag-5'>智能</b>猫眼(基于3516<b class='flag-5'>开发</b>板)】

    OpenHarmony鸿蒙南向开发案例:【智能燃气检测设备】

    安全厨房案例中的相关智能燃气检测设备,本安全厨房案例利用轻量级软总线能力,将两块欧智通V200Z-R/BES2600开发板模拟的智能燃气检测设备和燃气告警设备组合成。当燃气数值告警时,无需其它操作,直接通知软总线网络中的通风设备
    的头像 发表于 04-19 17:17 611次阅读
    <b class='flag-5'>OpenHarmony</b>鸿蒙<b class='flag-5'>南向</b><b class='flag-5'>开发案</b>例:【<b class='flag-5'>智能</b>燃气检测设备】

    OpenHarmony鸿蒙南向开发案例:【智能加湿器】

    智能加湿器具有实时监控其所处环境温度、湿度,并通过数字管家设置日程,自动打开加湿器控制湿度功能。
    的头像 发表于 04-19 15:50 1393次阅读
    <b class='flag-5'>OpenHarmony</b>鸿蒙<b class='flag-5'>南向</b><b class='flag-5'>开发案</b>例:【<b class='flag-5'>智能</b>加湿器】

    OpenHarmony鸿蒙南向开发案例:【智能门铃】

    智能门铃通过监控来访者信息,告诉主人门外是否有人按铃、有陌生人靠近或者无人状态。
    的头像 发表于 04-19 15:35 585次阅读
    <b class='flag-5'>OpenHarmony</b>鸿蒙<b class='flag-5'>南向</b><b class='flag-5'>开发案</b>例:【<b class='flag-5'>智能</b>门铃】

    OpenHarmony南向开发案例:【智能油烟机】

    基于Hi3516开发板,使用开源OpenHarmony开发的应用。
    的头像 发表于 04-18 15:54 1046次阅读
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>南向</b><b class='flag-5'>开发案</b>例:【<b class='flag-5'>智能</b>油烟机】

    OpenHarmony南向开发案例:【智能中控屏】

    基于Hi3516开发板,使用开源OpenHarmony开发的应用。通过控制面板可以控制同一局域网内的空调,窗帘,灯等智能家居设备。
    的头像 发表于 04-17 16:12 382次阅读
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>南向</b><b class='flag-5'>开发案</b>例:【<b class='flag-5'>智能</b>中控屏】

    OpenHarmony南向开发案例:【智能门锁】

    不仅可以接收数字管家应用下发的指令来控制门锁开启,而且还可以通过数字管家设置不同的开锁密码以及一次性密码,实现给临时用户一个临时密码,保证门户安全。当然除了开锁的功能,智能门锁还可以通过检测门与门锁距离自动上锁以及如果长时间未上锁,上报告警消息到数字管家,及时提醒用户关门关锁等功能。
    的头像 发表于 04-13 22:38 961次阅读
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>南向</b><b class='flag-5'>开发案</b>例:【<b class='flag-5'>智能</b>门锁】

    OpenHarmony南向开发案例:【分布式画板】

    使用OpenHarmony3.1-Release开发的应用。通过OpenHarmony的分布式技术,使多人能够一起画画。
    的头像 发表于 04-12 14:40 1035次阅读
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>南向</b><b class='flag-5'>开发案</b>例:【分布式画板】

    OpenHarmony南向开发案例:【智能风扇】

    智能风扇设备不仅可以接收数字管家应用下发的指令来控制风扇开启的时间,调节风扇挡位,更改风扇定时时间,而且还可以加入到数字管家的日程管理中。通过日程可以设定风扇相关的任务,使其在特定的时间段内,风扇自动打开或者关闭,调节挡位大小和定时时间;通过日程管家还可以实现风扇和其他的智能
    的头像 发表于 04-09 17:35 878次阅读
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>南向</b><b class='flag-5'>开发案</b>例:【<b class='flag-5'>智能</b>风扇】

    OpenHarmony南向能力征集令

    1、适配过程中缺少哪些接口能力或者南向能力,需要OpenHarmony去补齐的?例如内核、编译、器件适配、单板适配等; 2、对标linux,需要OpenHarmony提供哪些能力?比如V4L2
    发表于 04-09 15:32

    鸿蒙NEXT南向开发案例:【智能台灯】

    鸿蒙南向开发智能台灯案例
    的头像 发表于 04-03 18:00 1000次阅读
    鸿蒙NEXT<b class='flag-5'>南向</b><b class='flag-5'>开发案</b>例:【<b class='flag-5'>智能</b>台灯】