### 数字管家FA接入新服务端 #### 简介 本文档用于帮助快速将FA接入至自身服务端和IoT平台。数字管家中默认接入的139.9.102.131服务器,完整的数字管家体验须搭建自身服务端并接入至自己IoT平台之中,并且让FA也使用请求至自身服务端。 #### 前提 - 完成IoT平台新设备配置,参考 [设备连接IoT云平台指南](../../../dev/docs/iot_huawei/README.md#%E8%AE%BE%E5%A4%87%E8%BF%9E%E6%8E%A5iot%E4%BA%91%E5%B9%B3%E5%8F%B0%E6%8C%87%E5%8D%97); - 完成设备端的开发并定义好profile设备模型,参考 [设备模型定义](../../../profile); - 搭建并配置好了服务器,参考 [服务端README](../../../Server/README.md); - 并且确保烧入的设备中,已经根据IoT平台生成的产品id,通过productID + '_' + nodeID(nodeID可自定义)组合为设备标识码,写入至设备端nfcInfo.deviceID字段。 #### 如何操作 ##### 1. 修改FA服务端地址 - 将OKHttpUtilsRx2类中SERVER_URL变量修改为自己的服务端api地址; - 将DeviceStateListener类中RABBITMQ_HOST变量修改为自己的服务端地址; ##### 2. 清除其他数据(可选) 刚搭建好的服务端建议清除如下数据,避免碰一碰时让数字管家FA将错误的NFC数据添加到服务端或IoT云中,导致其他未知错误。 - IoT平台:删除所有设备,**注意不是删除产品** - 数据库:device表删删除name != phone的数据 ##### 3. 修改productID(产品ID) 由于使用了自身的IoT云平台,在创建好产品后会生成productID产品ID,所以无论是自己创建的新产品还是之前数字管家的旧产品,都需要进行修改productID/deviceID,其中deviceID = product + "_" + nodeID,所以deviceID同样也需要修改里面的productID的值。 那么涉及productID的地方如下,须将productID修改为: - 数据库:device_type表中product_id字段; - 数字管家FA:database目录->DeviceData.java->initData方法->data put的key值; - NFC自定义数据:TLV中Tag为产品ID(Tag = 1)的V值。 若是自己新增产品/设备(非仓库中已开源的产品/设备),那么在以上地方自行新增相应数据即可,其他FA侧修改可参考 [数字管家设备接入FA指南](数字管家设备接入指南.md)。