近段时间,因为工作需要,对接了一个平台《中国电信物联网开放平台》,其中历程颇为曲折,特地记载下来,为后来人提供点经验。
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”}}
问题
-
由于证书问题导致数据不能从平台推送到业务系统 :阿里下发的证书pem只有两级,而平台需要三级,需要在浏览器输入https地址,右键菜单-》安全-》查看证书,把第一级域名导出,并把crt证书中的内容复制到pem文件中去,注意每次修改了证书上传后需要重新订阅服务
-
设备会一直显示在线,这个状态不会刷新。
-
开发者平台看到的上报数据时区会慢8小时
-
应用设置中的“nb-iot设置”设置为DRX模式也不会起作用,nb卡默认为PSM模式,也就是设备上报数据时才会下发命令,
DRX模式需要发卡的电信部门进行设置,然后底层开发人员把nb卡设置成非PSM模式。
总结:
优点:
-
所有工具插件均提供了源码,二次开发很方便,对做其它底层设备接口的java开发也有借鉴作用。
-
服务响应很及时,这个得赞,节约了很多时间。
建议
-
感觉profile文件和设备管理中的服务配置功能重复,容易犯错,完全可以取消。
-
回调地址应同时支持https和http两种模式,而不需要再单独申请http模式