简介
本文档为帮助开发者快速将设备接入到数字管家,完成FA、服务端和设备的通信,实现数字管家对设备的命令控制、日程管理,以及设备对数字管家的主动告警。
快速上手
1. 前提参考:
鸿蒙开发文档:[docs.qq.com/doc/DUmN4VVhBd3NxdExK
]
2. 编写设备控制页面
- 在slice目录下新建 xxxxSlice.java文件,通过 addActionRoute() 方法为此AbilitySlice配置一条路由规则,并且在在应用配置文件(config.json)中注册,
- 在resources->base->layout下新建对应xml布局文件,在上述两个文件中编写相应界面代码。
3. 页面逻辑与数据处理
- slice页面获取deviceId:在onStart中通过调用intent.getStringParam("deviceId") ,获取设备标识用于对设备进行控制或者获取设备信息。
- slice页面获取状态:对于可以主动控制的设备,调用intent.getBooleanParam(KEY_IS_SET_COMMAND, false) ,用于判断当前状态下是需要执行命令,还是通过 [EventBus]将命令数据传出用于日程对设备的编排之中。
- 编写设备控制命令的获取和解析方法:在CommandUtil中根据具体设备profile定义,来新增获取命令和解析命令的方法,以供设备调用sendCommand来发送命令和在日程中来解析命令。
- 配置设备相关信息:在DeviceData类的initData方法中,根据设备productId添加设备图片资源ID、跳转的action参数和日程解析方法,配置完成后设备列表页、日程页面等都能通过该配置进行图片加载、路由跳转和日程解析。
- 以上代码逻辑处理和实现可参考LampAbilitySlice.java。
4. 接口对接
项目使用的网络请求组件为RetrofitCache,项目中服务端api定义于ApiRx2,通过OKHttpUtilsRx2来实现异步调用。
- 若使用自己部署的服务端,须做如下修改: (1) 将OKHttpUtilsRx2类中SERVER_URL变量修改为自己的服务端api地址; (2) 将DeviceStateListener类中RABBITMQ_HOST变量修改为自己的服务端地址;
- 初始化设备状态:通过调用getDeviceInfo接口,传入deviceId和userId来获取,其中UserId在登录时会储存于Preferences轻量级数据存储之中。
- 设备控制命令:通过调用sendCommand接口,传入deviceId和命令json字符串来对指定设备进行控制。
如何验证
1. 写入NFC数据
根据设备定义好的设备profile模型,使用应用调测组助手将tlv格式数据写入NFC NFC数据写入章节。
2. 对设备进行碰一碰配网
3. 验证设备跳转入口
- 在线设备贴近设备NFC标签碰一碰,可正常跳转至应用;
- 在首页设备Tab和新增日程页面的设备图标能正确显示设备状态,在线设备点击图标后可跳转设备页;
4. 验证功能
- 新增日程:在输入成员、设备执行动作、执行时间等后,日程页面可看见新增的日程以及需执行的动作,在到达指定时间后所有设备能够执行预设动作,并且相关成员手机会收到系统通知。
- 设备单点控制:进入设备控制页面,执行控制操作设备能有相应动作执行。
- 主动告警:验证设备端能否通过AMQP通知到数字管家,例如智能垃圾桶检测到垃圾桶已满会通过服务端通知到相关用户,并且能触发铃声提醒和系统通知弹框。
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
鸿蒙
+关注
关注
57文章
2306浏览量
42735 -
HarmonyOS
+关注
关注
79文章
1967浏览量
30005
发布评论请先 登录
相关推荐
【HarmonyOS】开发跨设备的鸿蒙(HarmonyOS) App
是圆形(如智能手表),这就给开发App带来了麻烦。现在几乎每一个智能设备厂商,如Apple、华为都面临这个问题。这就要求我们开发的App尽可
发表于 11-02 15:18
【HarmonyOS】开发跨设备的鸿蒙(HarmonyOS)App
手表),这就给开发App带来了麻烦。现在几乎每一个智能设备厂商,如Apple、华为都面临这个问题。这就要求我们开发的App尽可能适合更多的智
发表于 11-03 16:54
开发跨设备的鸿蒙(HarmonyOS) App
的屏幕,有的是横向的屏幕,有的带触摸功能,有的不带触摸功能,甚至有的设备的屏幕是圆形(如智能手表),这就给开发App带来了麻烦。现在几乎每一个智能设备厂商,如Apple、华为都面临这个
发表于 11-13 09:38
如何优雅地开发HarmonyOS APP应用
` 本帖最后由 软通动力HOS 于 2021-3-10 15:29 编辑
研究HarmonyOS有一段时间了,今天主要结合自己多年的项目开发经验和各种技术栈结合HarmonyOS APP
发表于 03-10 15:13
【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
在HarmonyOS版本下如何基于JS UI框架来开发?
的HarmonyOS应用开发模型 HarmonyOS的用户应用程序包APP由一个或多个Hap包组成。每个Hap可以包含一个或多个Ability。Ability分为两种类型:Featur
评论