电信物联网平台对接教程

github资源:https://github.com/AbitGo/mybatis_csdn/tree/master/workspace测试预览版

一.准备工作.... 2

1.1 电信物联网平台账号申请... 2

1.2 https级别IP. 2

1.3 获取APPID以及密钥... 2

二、程序对接.... 3

2.1 鉴权对接.... 3

2.2 订阅服务通知.... 3

2.2 创建设备下发命令.... 4

2.3 接收电信物联网平台推送... 4

2.4 注意事项.... 4

一.准备工作

1.1 电信物联网平台账号申请

在进行与电信平台的对接之前需要在以下的网站中申请物联网开发者平台的账号,申请环节将不做赘述。

超链接:https://develop.local.ct10649.com:8843/login?service=https%3A%2F%2Fdevelop.ct10649.com%3A8093%2F#/developer-overview

1.2 https级别IP

在获取电信物联网开发者平台帐号之后,需要准备一个拥有https级ip的服务器,这里我使用的是阿里云的云服务器,如果使用非https级别ip即需要与电信签署白名单协议。

1.3 获取APPID以及密钥

在电信平台中需要保存APPID以及其密钥,以下是一个获取的例子(不可用)。

APPID

OB1tsCOc05HBFgLXXXxxxQTYnywa

ZPizGJWDmdm87CXXXxxxfLzLjRsa

二、程序对接

2.1 鉴权对接

查看java程序中的Authentication.java文件中代码,修改部分Constant.java中的参数并使用使用初次登陆FirstLogin函数。

对接电信云平台登陆成功之后需要进行周期性的鉴权刷新,此处建议使用Spring框架中的Scheduled写定时刷新。详细代码可参考src/com/util文件下的timingService.java文件中的RefreshToken函数,并且需要将刷新生成的accessToken更新至Constant.java中(此处做一个解释,在进行初次对接的时候Authentication.java中已经进行了该静态数据的生成与赋值)。

2.2 订阅服务通知

在接收到物联网平台的推送订阅服务通知之前需要准备https的ip以及需要使用src\main\java\com\IOT\service\subscribtionManagement文件夹中的SubscribeServiceNotification.java文件,在该文件只需要运行一次即可,并且可以在电信物联网平台观察到这个订阅服务已经生效。

使用教程:使用idea或者eclipse编辑器的CTRL+点击方式进入SubscribeServiceNotification.java中的Constant.java中的参数,详细的参数在注释中已经提示。修改完毕只有点击运行即可,不需要进行任何操作,此时你可以看见在电信平台的订阅服务中看见我们刚刚修改的订阅服务,例如设备状态改变:devcieDataChanges:https:192.168.1.1:8080/api/devcieDataChanges。

2.2 创建设备下发命令

创建设备下发命令需要在java工程中的resources文件夹下放置cert/ca.jks以及outgoing.CertwithKey.pkcs12两个文件,例如在TaskController.Java文件中CreateDeviceCommand函数进行我们命令的下发,此时我们需要传入若干参数,但是必须注意的是,在进行设备下发的时候需要获取我们上面刷新到的Constant.accessToken以免造成下发失败。详细可以根据硬件厂商定制的profile文件进行命令的定制

2.3 接收电信物联网平台推送

接收电信物联网平台的推送之前确保消息服务已经订阅成功,使用电信平台时候需要使用Spring框架中的RESTful接口进行推送消息的接收,如以下代码所示。

//电信传回的数据
@RequestMapping(value = "/IoT/updateDeviceData", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)

public static final String DEVICE_DATA_CHANGED_CALLBACK_URL = CALLBACK_BASE_URL + "/IoT/updateDeviceData";

从上述代码我们可以通过看出,上面为我们自定义的电信接口,下面为推送订阅服务中设定的接口,这里的联动性需要注意。

其余的接口大同小异,逻辑不做过多的赘述。可以参考src\main\java\com\IOT\IOTController中的接口进行修改。

2.4 注意事项

在与电信物联网平台的对接过程中需要注意以下几点:

  1. 项目运行开始时需要进行鉴权,并且需要进行周期刷新鉴权
  2. 鉴权获取的accessToken可以使用静态变量进行数据的存取
  3. 下发需要获取上述的鉴权信息,并且需要参考硬件提供商的profile文件
  4. 消息订阅以及消息推送具有整体性,两者关系紧密
  5. 当单设备推送消息较多可以使用组推送
  6. 一次性数据可以使用redis技术,提高程序运行效率
  7. 使用SpringBoot框架请多借鉴本程序尤其是application.yml与pom.xml中配置
  8. Spring boot打包的jar与直接在运行程序是不一样的,尤其注意cert文件夹(在demo中我在src中也保留了一份)
  9. 需要注意跨域,可以直接仿照本demo进行跨域
  10. 本demo使用spring-boot+mybatis+mysql主要jar都在pom.xml文件中体现

电信物联网平台对接教程相关推荐

  1. 电信物联网平台,java后台对接电信北向应用,命令下发到设备

    最近公司设备需要对接电信物联网平台,需要实现数据下发到设备 实现流程 第三方应用 ----- > 电信平台 ( 下发给设备) --------> 设备   ------ > 电信平台 ...

  2. 电信IoT平台对接及使用

    电信IoT平台对接及使用 NB-LOT接入电信流程 NB-LOT组网图 NB-LOT整体流程 NB-LOT接入电信流程 设备接入电信NB-LOT平台 企业用户登陆开放平台测试环境 Profile文件的 ...

  3. 电信物联网平台SOTA升级(软件升级)的全流程说明

      中国电信物联网开放平台(以下简称"平台")提供了基于LWM2M的固件升级功能,用于模组的固件升级.但是由于多数模组并未提供升级接口给MCU,所以MCU升级只能基于应用层来实现升 ...

  4. Ubuntu订阅电信物联网平台

    背景: 如果要订阅电信物联网平台,需要自己搭建业务平台服务器.由于局域网络没有公网ip,用了花生壳效果也不是很好,所以自己购买了一台腾讯云主机. 环境 电信云平台信息 电信云平台北向demo 天翼物联 ...

  5. 物联网平台搭建教程01

    物联网平台搭建教程01 1 物联网设备如何接入到网络? 2 网络通信方式 3 物联网设备之间,设备与云平台能够交换数据后,接下来要干怎么呢? 4 如何搭建起一个物联网系统框架呢?它的技术架构又是怎么样 ...

  6. 电信天翼物联网平台对接流程

    电信物联网对接: 注册 微信公众号搜索"天翼物联产业联盟",关注后申请注册,填写注册材料信息 填完信息提交后等待天翼物联邮件通知,邮件内附带用户名和密码,还有物联网开放平台的各种门 ...

  7. 电信物联网平台ctwing对接开发-平台概述

    本课时帮助大家快速熟悉和了解中国电信物联网平台 平台简介 通用使能平台是中国电信倾力打造的智能终端汇聚.应用开发运行服务和轻量级应用提供的物联网平台,旨在降低物联网应用开发的准入门槛,降低智能硬件的接 ...

  8. NB-IOT开发|nbiot开发教程《五》nbiot(移远BC26)电信物联网平台实现MCU固件在线升级(STM32L051+BC26)

    嵌入式开发中我们要时刻保持代码的高效与整洁看之前,先点赞 好习惯,要养成 一.前言 嵌入式开发中我们要时刻保持代码的高效与整洁.为什么要有在线升级和为什么要进行在线升级,在这不多说,产品的开发中,在线 ...

  9. 电信物联网平台,java后台对接电信北向应用,订阅平台消息

    最近由于工作需要,公司新产品血压计需要集成物联网卡,测量血压数据推送到自己的后台,其中踩了很多坑所以吧主要流程记录下来供大家参考: 1,微信公众号搜索"天翼物联产业联盟",关注后底 ...

  10. 电信物联网平台申请正式平台流程

    网址 https://device.local.ct10649.com:8843正式环境 https://develop.local.ct10649.com:8843测试环境 https://deve ...

最新文章

  1. 即学即用的数据分析技巧
  2. 关于JAVA中log4j与logslf4j打印日志用法
  3. 数字开头的正则表达式_初学Web前端要注意什么 正则表达式是怎么回事
  4. [渝粤教育] 武汉理工大学 刑法 参考 资料
  5. java漂亮界面编程_计算机二级之JAVA篇
  6. U盘容量显示错误修正
  7. 小程序table 表格+小程序table 表格太长显示不全,实现滚动效果
  8. 【恋上数据结构】冒泡排序、选择排序、堆排序
  9. 数据结构上机实践第14周项目2 - 二叉树排序树中查找的路径
  10. 2021-06-21层次选择器
  11. 打印系统开发(66)——监控打印机的打印队列
  12. 模拟器安装 xposed
  13. 【DSGN 解读】用于三维目标检测的深度立体几何网络
  14. opencv中 画六边形
  15. semi-suppervised learning 半监督学习
  16. 我的世界斗罗封神服务器怎么注册,我的世界斗罗封神服务器-我的世界斗罗封神mod手机版v1.17.2.01-游戏宝手游网...
  17. 异常检测---离群点
  18. navacate连接不上mysql_解决Navicat无法连接到MySQL
  19. 处处留心皆学问,世事如棋局局新…
  20. Javascript 计算众数和中位数的代码

热门文章

  1. antd 踩坑之 javascriptEnabled配置
  2. 【python】Torch not compiled with CUDA enabled
  3. 一种贴片晶振异常情况,及晶振频率评估方法
  4. 想了解3D结构光,看这份拆解就对了
  5. 基于SpringBoot+Vue的宠物商场管理系统
  6. 欢迎使用CSDN-markdown编辑器dd奥术大师
  7. 西游解密:唐僧为何一定要去西天取经
  8. IOS调用微信扫一扫scanQRCode报错the permission value is offline verifying
  9. prison break
  10. [转载]2016年高考二轮复习备考文化常识100题及答案详解