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

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

3天内不再提示

HarmonyOS开发:【数字管家app设备接入FA】

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-04-11 17:51 次阅读

简介

本文档为帮助开发者快速将设备接入到数字管家,完成FA、服务端和设备的通信,实现数字管家对设备的命令控制、日程管理,以及设备对数字管家的主动告警。

快速上手

流程

1. 前提参考:

鸿蒙开发文档:[docs.qq.com/doc/DUmN4VVhBd3NxdExK]

  • IoT平台:完成IoT平台新设备配置;
  • 设备端:完成设备端的开发并定义好profile设备模型;
  • 服务端:搭建并配置好了服务端;
  • 数据库:device_type表中添加好相关产品数据;
2. 编写设备控制页面
  1. 在slice目录下新建 xxxxSlice.java文件,通过 addActionRoute() 方法为此AbilitySlice配置一条路由规则,并且在在应用配置文件(config.json)中注册, 路由配置1路由配置2
  2. 在resources->base->layout下新建对应xml布局文件,在上述两个文件中编写相应界面代码。
3. 页面逻辑与数据处理
  1. slice页面获取deviceId:在onStart中通过调用intent.getStringParam("deviceId") ,获取设备标识用于对设备进行控制或者获取设备信息
    deviceId
  2. slice页面获取状态:对于可以主动控制的设备,调用intent.getBooleanParam(KEY_IS_SET_COMMAND, false) ,用于判断当前状态下是需要执行命令,还是通过 [EventBus]将命令数据传出用于日程对设备的编排之中。 设备页状态
  3. 编写设备控制命令的获取和解析方法:在CommandUtil中根据具体设备profile定义,来新增获取命令和解析命令的方法,以供设备调用sendCommand来发送命令和在日程中来解析命令。 获取命令解析命令
  4. 配置设备相关信息:在DeviceData类的initData方法中,根据设备productId添加设备图片资源ID、跳转的action参数和日程解析方法,配置完成后设备列表页、日程页面等都能通过该配置进行图片加载、路由跳转和日程解析。 设备信息
  5. 以上代码逻辑处理和实现可参考LampAbilitySlice.java。
4. 接口对接

​ 项目使用的网络请求组件为RetrofitCache,项目中服务端api定义于ApiRx2,通过OKHttpUtilsRx2来实现异步调用。

  1. 若使用自己部署的服务端,须做如下修改: (1) 将OKHttpUtilsRx2类中SERVER_URL变量修改为自己的服务端api地址; (2) 将DeviceStateListener类中RABBITMQ_HOST变量修改为自己的服务端地址;
  2. 初始化设备状态:通过调用getDeviceInfo接口,传入deviceId和userId来获取,其中UserId在登录时会储存于Preferences轻量级数据存储之中。 设备状态
  3. 设备控制命令:通过调用sendCommand接口,传入deviceId和命令json字符串来对指定设备进行控制。
    控制

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

如何验证

1. 写入NFC数据

根据设备定义好的设备profile模型,使用应用调测组助手将tlv格式数据写入NFC NFC数据写入章节。

2. 对设备进行碰一碰配网

手机靠近NFC标签,可正常拉起数字管家,并开始无感配网。

无感配网

3. 验证设备跳转入口
  • 在线设备贴近设备NFC标签碰一碰,可正常跳转至应用;

碰一碰

  • 在首页设备Tab和新增日程页面的设备图标能正确显示设备状态,在线设备点击图标后可跳转设备页;

跳转

4. 验证功能
  • 新增日程:在输入成员、设备执行动作、执行时间等后,日程页面可看见新增的日程以及需执行的动作,在到达指定时间后所有设备能够执行预设动作,并且相关成员手机会收到系统通知。

新建日程

  • 设备单点控制:进入设备控制页面,执行控制操作设备能有相应动作执行。
    控制
  • 主动告警:验证设备端能否通过AMQP通知到数字管家,例如智能垃圾桶检测到垃圾桶已满会通过服务端通知到相关用户,并且能触发铃声提醒和系统通知弹框。

告警

审核编辑 黄宇

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

    关注

    57

    文章

    2306

    浏览量

    42735
  • HarmonyOS
    +关注

    关注

    79

    文章

    1967

    浏览量

    30005
收藏 人收藏

    评论

    相关推荐

    HarmonyOS开发设备的鸿蒙(HarmonyOSApp

    是圆形(如智能手表),这就给开发App带来了麻烦。现在几乎每一个智能设备厂商,如Apple、华为都面临这个问题。这就要求我们开发App尽可
    发表于 11-02 15:18

    HarmonyOS开发设备的鸿蒙(HarmonyOSApp

    手表),这就给开发App带来了麻烦。现在几乎每一个智能设备厂商,如Apple、华为都面临这个问题。这就要求我们开发App尽可能适合更多的智
    发表于 11-03 16:54

    开发设备的鸿蒙(HarmonyOSApp

    的屏幕,有的是横向的屏幕,有的带触摸功能,有的不带触摸功能,甚至有的设备的屏幕是圆形(如智能手表),这就给开发App带来了麻烦。现在几乎每一个智能设备厂商,如Apple、华为都面临这个
    发表于 11-13 09:38

    如何优雅地开发HarmonyOS APP应用

    ` 本帖最后由 软通动力HOS 于 2021-3-10 15:29 编辑 研究HarmonyOS有一段时间了,今天主要结合自己多年的项目开发经验和各种技术栈结合HarmonyOS APP
    发表于 03-10 15:13

    HarmonyOS时钟FA卡片开发样例

    HarmonyOS时钟FA卡片开发样例介绍
    发表于 06-19 13:54

    一文带你读懂OpenHarmony数字管家

    、如何贡献到数字管家体验完数字管家,你是否也想为数字管家添砖加瓦呢?
    发表于 11-05 16:11

    HarmonyOS微课堂】JS FA开发基础

    HarmonyOS微课堂】HarmonyOS Connect应用开发基础课主要是向大家讲解如何利用HarmonyOS提供的开发套件
    发表于 11-15 14:37

    基于OpenHarmony和数字管家设计的全屋智能门锁(开发流程+实操)

    开发流程项目主要开发流程如下图,主要包含设备端、数字管家搭建开发环境、下载源码、修改编译、下载
    发表于 03-24 09:31

    一文带你读懂数字管家

    ,共同组建不同的场景,打破硬件设备之间的壁垒,成为你工作生活的好帮手;开源的运作模式让所有志同道合的开发者参与进来,共同开发各种智能设备,完善各种场景,让
    发表于 03-31 16:58

    鸿蒙智联生态产品《接入智慧生活App开发指导》(官方更新版)

    HarmonyOS Connect云。 ② 消费者通过智慧生活App调用云端的H5开发包,从而实现对设备的管理和控制。 图2 H5开发
    发表于 04-26 15:00

    HarmonyOS APP打包运行和调试应用开发步骤

    。其中,HAP可以直接运行在真机设备或者模拟器中;APP则是用于应用上架到华为应用市场。为了确保HarmonyOS应用的完整性,HarmonyOS通过
    发表于 05-24 14:27

    基于OpenHarmony 的数字管家应用开发样例

    开关机等;新智能设备接入参考 数字管家设备接入指南,根据文档编写页面、处理相关逻辑和对接服务端接
    发表于 09-14 14:07

    数字管家设备接入FA指南教程

    简介本文档为帮助开发者快速将设备接入数字管家,完成FA、服务端和
    发表于 09-14 14:11

    HarmonyOS版本下如何基于JS UI框架来开发

    HarmonyOS应用开发模型 HarmonyOS的用户应用程序包APP由一个或多个Hap包组成。每个Hap可以包含一个或多个Ability。Ability分为两种类型:Featur
    的头像 发表于 07-13 09:24 2143次阅读

    HarmonyOS开发实例:【数字管家app

    数字管家场景需要手机端、设备端和服务端三方协同完成,本文档介绍的demo是数字管家大场景中的手机端应用;用户注册登录后可创建我的家庭并管理家
    的头像 发表于 04-11 17:20 345次阅读
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>开发</b>实例:【<b class='flag-5'>数字</b><b class='flag-5'>管家</b><b class='flag-5'>app</b>】