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

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

3天内不再提示

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

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-04-17 16:12 次阅读

样例简介

本Demo是基于Hi3516开发板,使用开源OpenHarmony开发的应用。通过控制面板可以控制同一局域网内的空调,窗帘,灯等智能家居设备。

当前支持的配套L0设备只有[智能灯],如需添加新的设备。

应用运行效果图:

1234

样例原理

原理示意图

如上图所示,我们可以通过智能中控面板操作对同一局域网内的L0设备进行对应的控制。

工程版本

  • 系统版本/API版本:OpenHarmony 1.0.1 release
  • IDE版本:DevEco Device Tool Release 3.0.0.401

快速上手

准备硬件环境

  • 预装windows系统的PC机
  • Hi3516DV300 IoT Camera开发板套件

准备开发环境

搜狗高速浏览器截图20240326151547.png
开发环境安装配置参照文档:[DevEco Device Tool 环境搭建][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
  • 配置下载工程
    config && download
    如上图所示,填写对应样例工程的名称,选择对应的样例组件和样例工程存放路径后,点击创建即可进行样例工程的下载。下载界面如下:
    download
    当右下角显示正在下载OpenHarmony镜像时,耐心等待下载完成即可。
    download

准备工具链

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

编译

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

build ok

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

固件

烧录/安装

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

配置准备

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

  • 点击左边栏"REMOTE DEVELOPMENT",找到 并点击” Local PC “ 选项。
  • 查看 Local PC右边图标
    如若图标为方型图标,则代表DevEco Device Tool已连接本地,可以正常识别串口。
    如若图标为箭头图标,则代表DevEco Device Tool未连接本地,不能识别串口,此时需要点击该绿色图标进行连接,连接成功后图标会变为方型图标
    check local pc
  • 点击主页,在主页选择对应工程,点击配置工程进入到配置页面
    start config project
配置串口

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

config searail

烧录固件
  • 当配置完工程所有的选项后, 点击hi3516dv300下的Upload按钮,启动烧录。
    upload
  • 在终端窗口显示如下蓝色提示信息时,在终端按下任意键继续烧录。
    continue burn
  • 在终端窗口显示如下提示信息时,按住复位键,插拔USB线,最后松开复位键启动烧录。
    reset
  • 成功启动烧录后,界面提示如下信息时,表示烧录成功。
    burn_ok
设备启动

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

set bootargs

我们需要输入以下指令:

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是以安装包的形式安装到系统中启动运行的。因此,在安装应用前,需要将应用打包成安装包。

将编译好的libcenctrl.so文件与工程目录下的res以及config.json文件通过压缩打包成zip格式(三个文件直接压缩,不能压缩文件夹),并将后缀名改为hap(cenctrl.hap)。

hap file

挂载NFS

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

mount fs

安装

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

out/hispark_taurus/smart_cenctrl_board/dev_tools/bin/

bm

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

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

install

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

image-20211021102146214

操作体验

大屏6

  • 由于本demo涉及到摄像头的读写,故申请了相关的权限。在使用本demo前需要在setting中打开对应的权限。具体操作:
    点击 setting-->应用-->cenctrl,然后将所有应用打开。
  • 本demo最主要的功能是可以接收手机端发送的图片和视频,所以设备必须和手机在同一局域网内。网络配置可以通过setting应用来进行。
    点击setting-->WiFi,然后选择对应的ssid,弹出密码输入框,输完密码后点击回车即可连接网络。
  • demo主要控制其他无屏的智能设备:
    a. 智能灯的开关,亮度调节等窗帘。
    b. 智能空调的开关,模式,温度调节以及风速等。
    c. 智能窗帘的开关等。

审核编辑 黄宇

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

    关注

    55

    文章

    1645

    浏览量

    42123
  • OpenHarmony
    +关注

    关注

    23

    文章

    3320

    浏览量

    15161
收藏 人收藏

    评论

    相关推荐

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

    今天打造的这一款全新智能家庭控制系统,凸显应用在智能控制和用户体验的特点,开创国内智能家居系统体验新局面。新的系统主要应用在鸿蒙生态。
    的头像 发表于 04-23 15:50 433次阅读
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>南向</b><b class='flag-5'>开发案</b>例:【 <b class='flag-5'>智能</b>家居中控】

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

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

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

    基于Hi3516开发板,使用OpenHarmony3.0-LTS开发的应用。通过获取摄像头数据,实现预览拍照以及路视频等功能。并且通过后台AI服务识别唤醒词来进行语音控制拍照及录制视频。
    的头像 发表于 04-18 22:19 62次阅读
    <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 625次阅读
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>南向</b><b class='flag-5'>开发案</b>例:【<b class='flag-5'>智能</b>油烟机】

    OpenHarmony南向开发案例:【智能体重秤】

    通过数字管家应用监测体重秤上报数据,获得当前测量到的体重,身高,并在应用端形成一段时间内记录的体重值,以折线图的形式表现出来,根据计算的BMI值来提醒当前身体健康状态,推送健康小知识。
    的头像 发表于 04-17 11:12 268次阅读
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>南向</b><b class='flag-5'>开发案</b>例:【<b class='flag-5'>智能</b>体重秤】

    OpenHarmony南向开发实例:【游戏手柄】

    基于TS扩展的声明式开发范式编程语言,以及OpenHarmony的分布式能力实现的一个手柄游戏。
    的头像 发表于 04-17 10:21 407次阅读
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>南向</b><b class='flag-5'>开发</b>实例:【游戏手柄】

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

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

    OpenHarmony南向开发案例:【智能保险柜】

    智能保险柜实时监测保险柜中振动传感器,当有振动产生时及时向用户发出警报。在连接网络后,配合数字管家应用,用户可以远程接收智能保险柜的报警信息。
    的头像 发表于 04-12 14:37 649次阅读
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>南向</b><b class='flag-5'>开发案</b>例:【<b class='flag-5'>智能</b>保险柜】

    OpenHarmony南向开发案例:【智能垃圾桶】

    智能垃圾桶可以通过数字管家应用来监测垃圾桶当前可用容量,提醒主人及时处理垃圾;通过日程管家可以实现和其他智能设备联动。
    的头像 发表于 04-11 16:01 186次阅读
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>南向</b><b class='flag-5'>开发案</b>例:【<b class='flag-5'>智能</b>垃圾桶】

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

    智能风扇设备不仅可以接收数字管家应用下发的指令来控制风扇开启的时间,调节风扇挡位,更改风扇定时时间,而且还可以加入到数字管家的日程管理中。通过日程可以设定风扇相关的任务,使其在特定的时间段内,风扇自动打开或者关闭,调节挡位大小和定时时间;通过日程管家还可以实现风扇和其他的智能
    的头像 发表于 04-09 17:35 527次阅读
    <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提供哪些能力?比如
    发表于 04-09 15:32

    OpenHarmony技术大会 | 硬件(南向)生态分论坛嘉宾金句

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 原文标题:OpenHarmony技术大会 | 硬件(南向)生态分论坛嘉宾金句 文章出处:【
    的头像 发表于 11-14 15:15 250次阅读

    议程直击 | 第二届OpenHarmony技术大会——硬件(南向)生态分论坛

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 原文标题:议程直击 | 第二届OpenHarmony技术大会——硬件(南向)生态分论坛 文
    的头像 发表于 11-01 16:10 279次阅读