0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

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

3天内不再提示

鸿蒙OpenHarmony【小型系统 实战应用】(基于Hi3516开发板)

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-04-28 17:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

运行

系统启动成功后,取源码out目录下的helloworld可执行文件放入系统的bin目录,通过以下步骤运行“Hello World”。

操作步骤

  1. 在启动界面进入bin目录。

    cd bin
    
  2. 进入bin目录后可以看到helloworld文件,通过以下命令运行helloworld程序。

    ./helloworld
    

    界面打印“Hello World!”,程序运行成功。

    quickstart-pkg-3516-running

下一步学习

鸿蒙开发指导文档:[qr23.cn/FBD4cY

[ate 导入OpenHarmony工程]

概述

本文档将介绍如何基于IoT Camera开发板(Hi3516DV300),利用其摄像头和屏幕,完成拍照、录像和视频预览功能。

通过本文档,开发者能够对OpenHarmony的摄像控制有更深入的了解,可参照本例尝试完成“智能猫眼”、“智能后视镜”、“智能带屏音箱”等设备的开发。

若开发者想先查看示例效果,请进入[应用实例]。如需自定义应用行为,可参考下节“示例开发”对示例代码进行修改。

应用实例

本示例将运行源码中的camera示例代码,通过本示例可以实现使用开发板进行拍照、录像及预览等功能。

  • 本示例源码路径为“applications/sample/camera/media/camera_sample.cpp”。

  • 在运行本示例前需先完成编译烧录、运行镜像等步骤

    说明: 开发板启动后默认会加载launcher应用,应用的图形界面默认显示在媒体图层上方,会影响camera_sample的演示结果,因此需要在编译或是打包时去掉launcher应用。 修改方法 :将“build/lite/components/applications.json”中camera_sample_app组件的targets中"//applications/sample/camera/launcher:launcher_hap"整行注释或删除。

  • 本示例编译结果路径为“out/hi3516dv300/ipcamera_hi3516dv300_liteos/dev_tools/bin”,为让文件能在单板中执行,可将示例文件通过读卡器复制至TF卡中,或者修改camera_sample的编译脚本将结果文件复制至rootfs.img中。
    修改源码路径“applications/sample/camera/media/BUILD.gn”中第一处的output_dir。

    • 修改前:output_dir = "$root_out_dir/dev_ools"
    • 修改后:output_dir = "$root_out_dir/"

    重新执行源码仓编译并烧写入单板后,可在单板bin目录下找到camera_sample文件。

须知: 实例运行拍照和录像功能需要插入TF卡(最大容量支持128GB),系统启动后自动将TF卡挂载至/sdcard目录,如果在启动后插入则需要手动挂载。查看拍照和录像内容可将TF卡中内容复制到电脑中进行查看,预览功能无需TF卡。

  • 接下来可通过以下步骤运行示例:
  1. 通过cd命令进入可执行程序的末端路径,启动camera_sample,执行命令如下图。
    图 1 启动示例[]()

    运行后的控制命令如串口打印所示,按s键停止当前操作(包括录像和预览),按q键退出示例程序。
  2. 按1进行拍照,拍照的文件格式为jpg,存储在/sdcard,文件名Capture*
    图 2 输入拍照指令后串口打印日志[]()

    若想查看保存文件,可在退出程序后进入文件系统查看,退出后重新进入请回到步骤1。
    图 3 查看文件图[]()
  3. 按2进行录像,录像的文件格式为mp4,存储在/sdcard,文件名Record*,按s键停止
    图 4 输入录像指令后串口打印日志[]()
  4. 按3进行预览,预览图像直接送至显示屏,按s键停止。
    图 5 输入预览指令后串口打印日志[]()

    预览效果如下
    图 6 预览效果[]()
  5. 按q键退出
    图 7 输出退出指令后串口打印日志[]()

相机应用开发

基本概念

相机是OpenHarmony多媒体进程提供的服务之一,提供了相机的录像、预览、拍照功能,支持多用户并发取流。

在进行应用的开发前,开发者应了解以下基本概念:

  • 视频帧
    视频流指的是将一系列图片数据按照固定时间间隔排列形成的数据流,每一张图片数据成为一帧,这样的一帧称为视频帧。
  • 帧速率(FPS,Frames Per Second)
    视频播放每秒钟刷新图片的速度,或是视频每秒的帧数,帧速率越高,视频的观感越流畅。
  • 分辨率
    每一帧的图片信息都是由像素点组成的,分辨率描述了一张图片中像素点的个数。例如1920*1080(1080P),是指图片宽1920像素,高1080像素。

运作机制

  • 多媒体服务进程
    多媒体服务作为系统服务,在系统启动时由Init进程拉起,并初始化和分配媒体硬件资源(内存/显示硬件/图像传感器/编解码器等)。初始化过程解析配置文件,确定了多媒体各个服务的能力和资源上限,通常由OEM厂商通过配置文件进行配置。相机服务在多媒体进程初始化时有以下配置项:
    • 内存池:所有媒体服务依赖于内存池中的内存轮转运行
    • 图像传感器:包括了传感器类型、分辨率、ISP等
    • 图像处理器:分辨率、码率、图像翻转等
    • 图像编码器:编码格式、码率、分辨率等
  • 关键类的解释
    应用通过持有下面4个类,配置和使用Camera的功能,包括了Camera类和它的三个异步回调类,三类回调分别对应了不同类型的异步处理场景,详见下表。
    表1 关键类的解释
    对象用途举例
    Camera对相机进行静态配置(通过配置类),触发相机基本功能拍照/录像/预览
    CameraDeviceCallback处理相机硬件状态变化可用/不可用
    CameraStateCallback处理camera自身状态变化创建/释放
    FrameStateCallback处理帧状态的变化拍照开始和结束/帧率发生变化

HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿

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

  • 流的传递
    Surface是多媒体传递音视频的基本数据结构,Camera一般作为Surface中数据的生产者,在不同的场景下有特定的消费者。
    相机的预览和录像输出均为视频流,拍照输出为图像帧,二者均通过Surface类进行传递。Surface类可以屏蔽进程内/跨进程的场景,进行多媒体信息流的传递。
    以录像为例,用户首先创建Recorder实例,并从Recorder中获取对应Surface,再将此Surface传递给Camera实例,此时Camera将作为生产者向Surface注入视频流,而Recorder作为消费者从Surface中取出视频流进行保存,用户的行为类似桥接,把二者通过Surface连接起来。
    类似的,用户也可以自行创建Surface传递给Camera实例,并实现消费者逻辑(例如通过网络传输视频流,或是将拍照的帧数据保存成图片文件)。
    图形图像模块也通过Surface从Camera获取流资源,具体步骤详见[图形图像开发指导]
  • 相机运行流程
    1. Camera创建流程
      本进程通过CameraManager创建Camera实例,并从服务端绑定camera设备,创建成功后异步通知developer。类之间的时序图如下:
      图1 Camera创建时序图
      zh-cn_image_0000001200114819
    2. Camera录像/预览流程
      开发者首先通过CameraKit创建Camera,然后FrameConfig类对录像或者预览帧属性进行配置。录像/预览时序如下:
      图2 Camera录像/预览时序图
      zh-cn_image_0000001200115193

审核编辑 黄宇

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

    关注

    8

    文章

    682

    浏览量

    31098
  • 开发板
    +关注

    关注

    25

    文章

    6132

    浏览量

    113534
  • 鸿蒙
    +关注

    关注

    60

    文章

    2862

    浏览量

    45367
  • HarmonyOS
    +关注

    关注

    80

    文章

    2147

    浏览量

    35591
  • OpenHarmony
    +关注

    关注

    31

    文章

    3927

    浏览量

    20727
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    触觉智能Purple Pi OH开发板率先适配OpenHarmony6.0 Release,鸿蒙明星开发板

    2025年9月19日,在官网上线开源鸿蒙OpenHarmony6.0Release仅13天,触觉智能宣布旗下PurplePiOH开发板成功完成OpenHarmony6.0Release
    的头像 发表于 10-29 08:00 374次阅读
    触觉智能Purple Pi OH<b class='flag-5'>开发板</b>率先适配<b class='flag-5'>OpenHarmony</b>6.0 Release,<b class='flag-5'>鸿蒙</b>明星<b class='flag-5'>开发板</b>

    触觉智能RK3576开发板OpenHarmony开源鸿蒙系统USB控制传输功能示例

    本文介绍OpenHarmony开源鸿蒙系统的USB控制传输功能实现及相关代码示例,基于触觉智能RK3576开发板PurplePiOH2演示。Open
    的头像 发表于 09-30 16:31 1233次阅读
    触觉智能RK3576<b class='flag-5'>开发板</b><b class='flag-5'>OpenHarmony</b>开源<b class='flag-5'>鸿蒙</b><b class='flag-5'>系统</b>USB控制传输功能示例

    迅为Hi3516CV610开发板强劲内核-海思Hi3516CV610核心

    迅为Hi3516CV610开发板强劲内核-海思Hi3516CV610核心
    的头像 发表于 09-30 15:19 1710次阅读
    迅为<b class='flag-5'>Hi3516</b>CV610<b class='flag-5'>开发板</b>强劲内核-海思<b class='flag-5'>Hi3516</b>CV610核心<b class='flag-5'>板</b>

    触觉智能RK3506开发板通过OpenHarmony 5.1 XTS认证,引领鸿蒙开发新标杆!

    触觉智能作为瑞芯微专业方案商与开源鸿蒙南向硬件厂家,旗下RK3506开发板及其核心(模组)通过OpenHarmony5.1XTS认证!这一消息犹在行业内引起了广泛关注,标志着触觉智能
    的头像 发表于 08-14 23:49 1380次阅读
    触觉智能RK3506<b class='flag-5'>开发板</b>通过<b class='flag-5'>OpenHarmony</b> 5.1 XTS认证,引领<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>新标杆!

    开鸿开发板深度体验:从开源鸿蒙开发到AI场景实践

    的KaihongBoard-3588S-SBC和KaihongBoard-3576-SBC被评为“2025OpenHarmony明星开发板”,可实现设备快速开源鸿蒙化升级、分布式互联协同、弹性部署等能力。
    的头像 发表于 07-03 17:03 1201次阅读
    开鸿<b class='flag-5'>开发板</b>深度体验:从开源<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>到AI场景实践

    开源鸿蒙开发必备!OpenHarmony替换Full SDK全攻略

    本文介绍开源鸿蒙OpenHarmony替换FullSDK的方法,演示设备为触觉智能PurplePiOH鸿蒙开发板获取FullSD
    的头像 发表于 06-06 18:11 656次阅读
    开源<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>必备!<b class='flag-5'>OpenHarmony</b>替换Full SDK全攻略

    3步精简Android11预装!瑞芯微开发板系统瘦身实战

    本文介绍瑞芯微开发板安卓Android11系统预装应用裁剪的方法,使用触觉智能PurplePiOH鸿蒙开发板演示,搭载了瑞芯微RK3566芯片,4核1.8Ghz+1T算力NPU;类树莓
    的头像 发表于 06-06 17:57 1072次阅读
    3步精简Android11预装!瑞芯微<b class='flag-5'>开发板</b><b class='flag-5'>系统</b>瘦身<b class='flag-5'>实战</b>

    贝启BQ3568HM 开发板被选用为 OpenHarmony 明星开发板

    经开放原子开源基金会OpenHarmony社区官方测评评选,贝启科技BQ3568HM开源鸿蒙开发板被正式选用为OpenHarmony明星开发板
    的头像 发表于 05-25 00:22 1207次阅读
    贝启BQ3568HM <b class='flag-5'>开发板</b>被选用为 <b class='flag-5'>OpenHarmony</b> 明星<b class='flag-5'>开发板</b>

    开发者必备!华清远见WS63星闪开发板从入门到实战:物联网教学/毕设/竞赛全场景资源包

    FS-Hi3863星闪开发板是华清远见专为学习者设计的一款星闪物联网应用平台,开发板主控为海思WS63芯片,支持Lite0S、OpenHarmony
    的头像 发表于 04-10 14:13 1647次阅读
    <b class='flag-5'>开发</b>者必备!华清远见WS63星闪<b class='flag-5'>开发板</b>从入门到<b class='flag-5'>实战</b>:物联网教学/毕设/竞赛全场景资源包

    鸿蒙北向开发OpenHarmony5.0 DevEco Studio开发工具安装与配置

    本文介绍OpenHarmony5.0 DevEco Studio开发工具安装与配置,鸿蒙北向开发入门必备!由触觉智能Purple Pi OH鸿蒙
    的头像 发表于 03-28 18:05 1351次阅读
    <b class='flag-5'>鸿蒙</b>北向<b class='flag-5'>开发</b><b class='flag-5'>OpenHarmony</b>5.0 DevEco Studio<b class='flag-5'>开发</b>工具安装与配置

    【北京迅为】iTOP-RK3568开发板鸿蒙OpenHarmony系统南向驱动开发实操-HDF驱动配置UART

    【北京迅为】iTOP-RK3568开发板鸿蒙OpenHarmony系统南向驱动开发实操-HDF驱动配置UART
    的头像 发表于 03-25 11:02 1303次阅读
    【北京迅为】iTOP-RK3568<b class='flag-5'>开发板</b><b class='flag-5'>鸿蒙</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>系统</b>南向驱动<b class='flag-5'>开发</b>实操-HDF驱动配置UART

    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第2章OpenHarmony v3.2-Beta4版本测试

    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第2章OpenHarmony v3.2-Beta4版本测试
    的头像 发表于 03-05 10:53 888次阅读
    【北京迅为】itop-3568 <b class='flag-5'>开发板</b><b class='flag-5'>openharmony</b><b class='flag-5'>鸿蒙</b>烧写及测试-第2章<b class='flag-5'>OpenHarmony</b> v3.2-Beta4版本测试

    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第1章 体验OpenHarmony—烧写镜像

    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第1章 体验OpenHarmony—烧写镜像
    的头像 发表于 03-04 16:31 880次阅读
    【北京迅为】itop-3568 <b class='flag-5'>开发板</b><b class='flag-5'>openharmony</b><b class='flag-5'>鸿蒙</b>烧写及测试-第1章 体验<b class='flag-5'>OpenHarmony</b>—烧写镜像

    OpenHarmony源码编译后烧录镜像教程,RK3566鸿蒙开发板演示

    本文介绍瑞芯微主板/开发板编译OpenHarmony源码后烧录镜像的教程,触觉智能Purple Pi OH鸿蒙开发板演示。搭载了瑞芯微RK3566四核处理器,树莓派卡片电脑设计,支持开
    的头像 发表于 12-30 10:08 1534次阅读
    <b class='flag-5'>OpenHarmony</b>源码编译后烧录镜像教程,RK3566<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发板</b>演示

    OpenHarmony怎么修改DPI密度值?触觉智能RK3566鸿蒙开发板演示

    开源鸿蒙OpenHarmony系统下,修改DPI密度值的方法,触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处
    的头像 发表于 12-24 11:46 1100次阅读
    <b class='flag-5'>OpenHarmony</b>怎么修改DPI密度值?触觉智能RK3566<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发板</b>演示