最近在做智能设备,设备跟服务器通信,用到Iot技术通信方式,先使用到电信iot平台,再使用移动oneNet平台,,期间遇到很多问题,不过在一次又一次的迭代,终于找到一个比较好的方法,兼容两个平台,可以数据统一,做到跟平台无关,兼容性比较好.

坑1:设备都需要在平台上注册,无论电信iot平台还是移动oneNet平台,当你注册完之后,使用它们的卡,设备才能跟平台通信,通信之后,平台有设置消息推送方式,把设备想要推送的消息给第三方平台(就是自己的服务器),由于刚开始先用电信iot平台,注册设备的时候,需要公司id,刚好我这边有两个公司id,那就需要用到两个插件,然后通信维护的时候,需要维护这两个插件,电信iot有两个平台,一个是开发环境,一个是生产环境,开发环境随便玩,插件随便用,接口随便写,但是生产环境不行,需要提测,每次提测都需要花几天时间,所有这个前期做的很痛苦,新增一个接口,提测一次,超级麻烦.后来接入移动oneNet平台的时候,直接修改另外一种方法,使用全透传,说白了,你平台对我来说,我只想你传输数据,其他不要干,你也不要管我,我也只传一个参数,就是一个String类型的json,这样子解决了两边的兼容问题,平台直接传送数据,设备直接跟服务器打交道,服务器去解析设备上报的二进制数.

设备类似的接口如下:

设备上报的数据,head,len,crc,都不加密,payload里面的数据都加密,这里加密方法找我之前的博客,https://mp.csdn.net/postedit/84971879

解密之后,先校验crc,当crc一致的时候,根据cmd来处理对应的逻辑关系.

对应电信来说,这个的所有数据,就是一个String类型的字符串,移动也是,这样子相当于全透传功能,电信和移动,也不知道我们什么数据,有什么接口等等,我们的数据也是加密的,数据的安全也掌握在自己手上.

坑2:对于注册设备,一般先去电信或者移动去注册设备,然后等电信以消息的形式来反馈给第三方服务器(自己的服务器),说注册设备成功了,这里肯定会遇到网络问题,导致数据没有推送过来,后来接入移动平台的时候,修改了一下逻辑,这里不需要平台的推送,你post请求注册设备,成功你再调自己服务器的设备添加,不要消息推送,这样子好很多.

坑3:对于数据解析层,这里移动跟电信都不一样,可以分开两个来写,但是具体的业务逻辑判断,我们这边自己的业务逻辑,最好用一个,可以调用dubbo服务器,这样子各干各的事,互补干扰,结构清晰.解析层就只单单解析数据.

电信iot平台和移动oneNet平台使用心得相关推荐

  1. 【IoT】开放 IoT 平台:电信 NB-IoT 物联网开放平台与移动 oneNET 平台对比分析

    1.电信物联网开放平台 优点:开发较为灵活,支持自定义数据传输格式 缺点:需要用户编写适配服务端的 profile 文件 和 开发编解码插件 关于其他特性请参考文章: 电信物联网开放平台详细解析 2. ...

  2. 工业互联网 第 4 章 各类工业互联网平台介绍以及OneNET平台使用

    1.工业互联网平台公司 目前世界上有几十家工业互联网平台: 国内: 国外: 2.OneNET平台介绍 OneNET是中国移动打造的高效.稳定.安全的物联网开放平台.OneNET支持适配各种网络环境和协 ...

  3. OneNET物联网平台11 使用OneNET平台提供的API向设备发送命令

    1.API介绍 使用onenet平台提供的设备命令API,直接向设备下发指令,当设备收到指令并进行应答时,API返回设备应答内容 请求API:POST http://api.heclouds.com/ ...

  4. OneNET平台物联网硬件的配置和应用

    01 概述 NB-IoT NB-IoT(Narrow Band Internet of Things)是一种基于蜂窝的窄带物联网技术,支持低功耗设备在低功耗广域物联(LPWAN)进行蜂窝数据连接. L ...

  5. ONENET平台的登入与创建产品

    OneNet登入.创建产品 1.账户注册.登入 OneNet网站:https://open.iot.10086.cn 进入OneNet平台,注册账户然后登入 2.添加产品.设备 登入后进入开发者中心 ...

  6. NBIOT模块 BC26 openCPU LWM2M协议传输数据到OneNet平台

    BC26支持openCPU是一个特点.openCPU的意思就是向芯片编程,既是通信芯片又可以当MCU来使用.下面分享一下我使用BC26进行openCPU的实现过程. 软件: ①.sublimetext ...

  7. NBIOT模块 BC20 OPENCPU LWM2M协议传输数据到OneNet平台

    BC20支持OPENCPU是一个特点.OPENCPU的意思就是向芯片编程,既是通信芯片又可以当MCU来使用.下面分享一下我使用BC20进行openCPU的实现过程. 软件: ①.sublimetext ...

  8. 公有云平台专题《中移云平台,NB-IoT模组对接中移OneNET平台》

    目录 1.中移OneNET平台介绍 2.中移OneNET平台注册 3.OneNET平台创建产品 4.NB模组对接OneNET平台 5.NB模组上报数据.接收下行数据 1.中移OneNET平台介绍 On ...

  9. NBIOT 设备接入ONENET平台

    NBIOT 设备接入ONENET平台 一.ONENET平台的注册与配置 1.1.注册与创建产品 1.2.添加设备: 1.2.1 获取 IMEI 及 IMSI 二.连接NB-IOT 2.1 ONETET ...

最新文章

  1. ​第一本 Compose 图书上市,联想大咖教你学会 Android 全新 UI 编程
  2. 使用GPIO模拟I2C总线进行通信
  3. CAT 性能优化的实践和思考
  4. Windows下怎样安装Tomcat
  5. 计算机绘图中级,计算机绘图(中级)
  6. python暴力破解六位密码(数字和大小写字母)
  7. JavaScript经典笔试题
  8. Java输出九九乘法表(99乘法)
  9. mysql 安顺寻_夏日静心旅游路线,到安顺寻味乡愁吧
  10. 2022.09 青少年软件编程(图形化) 等级考试试卷(四级)
  11. 记一次android任务栈页面跳转问题
  12. python写名字-python写心形名字
  13. 微信小程序图片轮播+预览效果实现
  14. 基于java的多商家美食点评网
  15. Alpine基础用法
  16. OPENGL三维场景搭建、漫游、交互
  17. 互联网金融诈骗不缺受害者, 有人刚被3M坑了又投入CA
  18. Visual Studio2015安装步骤详解
  19. MPI之点对点通信——阻塞式MPI_Send 和MPI_Recv
  20. DELMIA软件:文本信息提示框功能介绍与使用方法

热门文章

  1. 怎么用豆瓣源安装python第三方库
  2. 北京/杭州内推 | 快手MMU知识图谱中心招聘算法实习生
  3. 有监督学习和无监督学习的区别
  4. 用计算机选出彩票号码最少的号码,购买彩票时,很多人往往愿意自己选号,不愿交由电脑随机选号...
  5. html, css知识点
  6. Object克隆的补充与总结
  7. 华三无线控制器配置本地转发
  8. 【备份】r6300v2梅林,过度,dd-wrt,openwrt等相关固件
  9. Multi-task Pre-training Language Model for Semantic Network Completion
  10. checksum算法详细的计算方法、实现思路与python校验验证