中国电信物联网开放平台对接历程

   近段时间,因为工作需要,对接了一个平台《中国电信物联网开放平台》,其中历程颇为曲折,特地记载下来,为后来人提供点经验。

1.注册:微信公众号搜索“天翼物联产业联盟”,关注后申请注册,第二天就能获得两封邮件

(1)【中国电信物联网开放平台(对接测试)】开户密码通知
(2) 服务邮件: 测试平台地址   开发者门户地址   
              测试平台应用对接地址(企业应用接入地址)  测试平台设备对接地址(终端设备接入地址)

2.进入下载专区下载全部资料,基本上都要用到 

3.准备工作
  (1)安装 jdk1.8
  (2)准备一个Https服务器,及相应证书(建议使用阿里的免费证书)

4.注册应用: 登录测试平台,注册一个应用,一定要选择“基础API包”“公用事业(NB-Iot)API包”

5.上传证书: 登录开发者平台,选择对接信息,点击应用列表,上传https的证书,格式为pem。

6.上传profile文件:一个比较奇怪的配置文件,还可以通过在线编辑生成。登录开发者平台->Profile开发->Profile导入: 选择《 中国电信物联网开放平台profile样例》中一个zip文件例子(WaterMeter_Huawei_NBIoTDevice.zip)

7.插件编写及上传: 
   (1)导入《中国电信物联网开放平台设备编解码插件源码及样例》中的源码,打包jar,注意看源码中的com.thrid.party.codec.demo这几个文件,这是数据上传下载的核心所在
   (2)登录开发者平台->插件管理->编解码插件管理,上传插件,直接用例程就好,调试通过了后面再根据业务修改。

8.设备管理
  (1)设备模板:名称与选择的 profile文件 一致 如你选择的WaterMeter_Huawei_NBIoTDevice.zip,解压它,打开profile文件夹,打开里面的json文件,找到"serviceId": "WaterMeterBasic",服务名及id都填WaterMeterBasic

  (2)服务模板:内容和属性与profile文件 一致,命令先定义一个"SET_DEVICE_LEVEL"(随便选的一个下发命令,以后自己改),事件选择"deviceDataChanged"(数据上传需要)

9.使用  中国电信物联网开放平台北向API调试工具-_GUI_APPDemo-master
  (1)注册设备:两个下拉框,分别选择 NB-IOT  Device Manager
               Register Direct Device
  (2)修改设备: Modify Device Info (为什么不和注册设备命令放在一起,奇怪.....?)
  (3)设备上线: 《平台接入流程描述》有指导手册,在SSCOM中通过一系列AT指令操作
  (4)检查激活状态  Query Device Status  输入 device id ,点击按钮"check status",返回 “evice Status: ONLINE.
”成功

10.数据上报  
   (1)在平台订阅服务,可以使用 API调试工具-_GUI_APPDemo,两个下拉框,分别选择NB-IOT Subscribe Manager
      Notify Type选择 "deviceDataChanged" callback URL 填回调的htts地址
   (2)设备上报数据的前八位是AA720000,其它随意,形式类似AA720000AAAAAAAAAAAAAAAAAAAAAAAAAA

11.命令下发  
   (1)在平台订阅服务,可以使用 API调试工具-_GUI_APPDemo,Notify Type选择 "commandRsp" callback URL 填回调的htts地址
   (2)下发命令的json  
      {"expireTime":"0","callbackUrl":"https://回调地址","deviceId":"111-111-11-11","command":{"method":"SET_DEVICE_LEVEL","paras":{"value":"自定义"},"serviceId":"服务ID"}}

问题

1. 由于证书问题导致数据不能从平台推送到业务系统 :阿里下发的证书pem只有两级,而平台需要三级,需要在浏览器输入https地址,右键菜单-》安全-》查看证书,把第一级域名导出,并把crt证书中的内容复制到pem文件中去,注意每次修改了证书上传后需要重新订阅服务

2. 设备会一直显示在线,这个状态不会刷新。

3. 开发者平台看到的上报数据时区会慢8小时

4. 应用设置中的“nb-iot设置”设置为DRX模式也不会起作用,nb卡默认为PSM模式,也就是设备上报数据时才会下发命令,
   DRX模式需要发卡的电信部门进行设置,然后底层开发人员把nb卡设置成非PSM模式。

总结:

优点:

1. 所有工具插件均提供了源码,二次开发很方便,对做其它底层设备接口的java开发也有借鉴作用。

2. 服务响应很及时,这个得赞,节约了很多时间。

建议

1. 感觉profile文件和设备管理中的服务配置功能重复,容易犯错,完全可以取消。

2. 回调地址应同时支持https和http两种模式,而不需要再单独申请http模式




你可能感兴趣的:(java开发,物联网)