本文档为帮助开发者快速将设备接入到数字管家,完成FA、服务端和设备的通信,实现数字管家对设备的命令控制、日程管理,以及设备对数字管家的主动告警。
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。
项目使用的网络请求组件为RetrofitCache,使用方式可参考RetrofitCache组件,项目中服务端api定义于ApiRx2,通过OKHttpUtilsRx2来实现异步调用。
若使用自己部署的服务端,须做如下修改: (1) 将OKHttpUtilsRx2类中SERVER_URL变量修改为自己的服务端api地址; (2) 将DeviceStateListener类中RABBITMQ_HOST变量修改为自己的服务端地址;
初始化设备状态:通过调用getDeviceInfo接口,传入deviceId和userId来获取,其中UserId在登录时会储存于Preferences轻量级数据存储之中。
设备控制命令:通过调用sendCommand接口,传入deviceId和命令json字符串来对指定设备进行控制。
根据设备定义好的设备profile模型,使用应用调测组助手将tlv格式数据写入NFC,使用方式参考 设备碰一碰配置指南 NFC数据写入章节。
将手机靠近NFC标签,可正常拉起数字管家,并开始无感配网。
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )