使用中国电信物联网开发者平台的步骤总结_Mouse_debug的博客-程序员宅基地_中国电信开发者平台

技术标签: 电信  平台  物联网  物联网平台接入  

缘起

…@#%#^@ %# …还是直接上步骤吧…

大概操作步骤

  • 首先你需要有电信平台的账号密码(一般由公司申请)
  • 登录平台后创建应用
  • profile的文件格式制定与上传
  • 编解码插件的开发与上传
  • 设备连接测试
  • 平台设备联调

接下来细说一波

入口地址

Iot平台:https://180.101.147.135:8843
中国电信 开发者平台:https://180.101.147.208:8093
这两个平台都可以使用,在功能部分这两个平台有很多的功能重复 笔者后者用得较多
还有是企业应用接入地址终端设备接入地址貌似称为北向和南向
这两个地址在公司申请后由电信平台提供,应用接入(如:注册接口,修改设备信息接口等),终端设备接入(硬件设备接入上报数据的地址)

Profile文件定义

官方说明文档来源 1.官网下载 2.找对接人员获取
貌似叫<<设备能力描述文件profile开发指南>>
笔者是以后者方式取得(所以也不知道在哪里下载?)
具体的字段定义和制定方式文档里有详细说明还有示例这里不再做说明(人家的文档有版权还是不乱复制了…)

简单说一下对这个东西的理解

不一定正确 只是自己的理解
这个文件是定义了一个数据的模板

作用

类比一下就是相当与数据库的创建表的操作,在表里定义了每个字段的名称、数据类型、数据长度等,当有数据要插入数据库的时候需要符合表里的定义否则就会插入失败。
profile文件就类似于这种数据库的表,当设备上报数据到电信平台时需要保证上报的数据格式、名称、数据类型、长度符合profile文件里的限制,同样的自己的服务器要下发命令或者数据给设备时也会通过profile文件。
也就是说profile文件起到定义数据和校验数据的作用。

定义

profile文件的定义也是服务的思想
栗子…
显示器具有一些功能(能力):电源开关、亮度、宽度、分辨率等
其实这些每种功能对使用者来说都是提供一种服务
开关服务、亮度服务、显示宽度调节服务、分辨率调节服务
profile文件大体分为2个部分:
1.功能(设备能力)
2.服务
相当于在1中定义在2中具体描述(服务内容包括的具体字段、字段类型、字段长度等)

编解码插件开发

首先需要创建一个maven工程

这个工程打包要符合OSGI规范(官方文档中有详细描述 目录结果及maven配置)
如果有些文档没有请找对接人员
工程中还需引入一个jar包:com.huawei.m2m.cig.tup-1.3.1.jar
然后具体实现一个IProtocolAdapter这个接口
在这个类中需要 定义厂商名称、设备型号(MODEL)、版本号(VERSION)
需与平台上创建应用时的一样,类型用String就行。
版本号写"1"好像会有异常,改个2或者其他
最主要的是重写其中的encode(编码)和decode(解码)方法

设备上传的数据经过编码(encode)变成符合profile规则的json存储到电信平台再推送给公司服务器
公司服务器端下发命令通过调用电信平台提供的接口发送到电信平台经过解码(decode)变成设备能识别的数据再发给设备
ps:中间的一些数据转换会用到com.fasterxml.jackson.databind

简单描述一些流程

收发送数据
收发送数据
消息推送
iot设备
编解码插件
公司服务器

这个编解码插件是要上传到电信平台的,所以可以理解成就是平台

开发完成后

官方有提供一个测试的jar包可以在本地直接进行测试
没什么问题了可以上传到平台上进行实体设备测试
也没什么问题就可以给包进行签名了(官方有提供签名工具)
最后提交测试申请、通过测试后就会有正式的平台了

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Mouse_debug/article/details/84781004

智能推荐

NSStringDrawingOptions_yinachong的博客-程序员宅基地

NSStringDrawingTruncatesLastVisibleLine:如果文本内容超出指定的矩形限制,文本将被截去并在最后一个字符后加上省略号。如果没有指定NSStringDrawingUsesLineFragmentOrigin选项,则该选项被忽略。NSStringDrawingUsesLineFragmentOrigin:绘制文本时使用 line fragement or

条件注解@ConditionalOnBean失效原因_zhm_sky的博客-程序员宅基地_conditionalonbean不生效

测试环境(配置类)@Import({User.class,Pet.class})@Configuration(proxyBeanMethods = true)public class MyConfig { @Bean @ConditionalOnBean(name = "cat") public User user(){ return new User("航书", 12); } @Bean("cat") public

一重指针、二重指针做函数参数的深刻分析(虽然很基础,但要深刻理解)_ShenHang_的博客-程序员宅基地

一重指针做函数参数#include&lt;iostream&gt;using namespace std;void change(int *p){ *p = 20; p++; cout &lt;&lt; p &lt;&lt; endl;}int main() { int a = 10; change(&amp;a); cout &lt;&lt; &amp;a &lt;&lt...

java设置图片点击渐变透明,图片实现渐变/透明效果_weixin_39569753的博客-程序员宅基地

众所周知,图片等一些盒子都可以利用opacity属性来设置不透明度,但是前两天我朋友忽然给我一个截图,截图效果如下图中红框圈住的位置图片或者说摄像头采集的画面出现了渐变到透明,可以清楚的看到可以看到后面小哥的胳膊,然后问我如何实现这种效果,这下把我难住了(呵 天天给我出难题),我开始在个大论坛开始寻找解决方案;忽然在前天,日常逛论坛时看到一个文字投影的效果,而后忽然灵机一动就想,能不能变相的实现前...

java笔记_笑容温暖城寨的博客-程序员宅基地

安卓课的Java扩展笔记包类命名规范总结输出换行与不换行mian方法中的args参数Math类快捷输出语句static关键字定义无参方法定义带返回值方法包package com.eoe.basic.day01;//包名 在java当中用.表示windos中的/,一般格式:com.公司名.项目名.业务模块名称例如:com.sina.crm.user类命名规范总结1、java中可以有多个类2、java中可以有多个类,但是最多只有一个类的类名和文件名相同3、如果一个类被public修饰,那该类

一、网络游戏架构的前世今生(2)_王元恺David的博客-程序员宅基地

网络游戏架构演进史,优化游戏网络,自定义网络协议

随便推点

redis客户端连接遇到的坑,记录一下_choujulong7459的博客-程序员宅基地

期间出现的错误如下:1.connect timeout2.connect refused3.遗失对主机的连接denied redis is running in protected mode。。。。。。总结处理这些报错的步骤:1.关闭centos防火墙2.修改redis.conf文...

[原创]FineUI秘密花园(六) — 表单控件_hong2511的博客-程序员宅基地

FineUI中有哪些常用的表单控件,它们有什么共同点和不同点,这一篇文章我们会详细解说。 表单控件的公共属性 所有的表单都具有如下属性: ShowLabel:是否显示标签(默认值:t

fineui mysql_FineUI 相关_卖家胖蝌蚪的博客-程序员宅基地

FineUI 开源版(原ExtAsp.Net)Last updated:2017-03SURFSKYhttp://pan.baidu.com/share/home?uk=170857326#category/type=0---------------------------------------------------配置&amp;预设http://fineui.com/demo/#/demo/...

手把手教你使用FineUI+动软代码生成器开发一个b/s结构的取送货管理信息系统(附源码)之开篇_编程鸭的博客-程序员宅基地

一 本系列随笔概览及产生的背景近阶段接到一些b/s类型的软件项目,但是团队成员之前大部分没有这方面的开发经验,于是自己选择了一套目前网上比较容易上手的开发框架(FineUI),计划录制一套视频讲座,来讲解如何利用FineUI快速开发一个小型的b/s结构的管理系统,已达到帮助团队成员快速掌握b/s结构信息系统的开发方法。源码位置:https://github.com/kamiba/FineU...

[原创]FineUI秘密花园(一) — 为什么选择FineUI?_weixin_33778778的博客-程序员宅基地

首先来看看FineUI是什么? FineUI 是一组基于 ExtJS 的专业 ASP.NET 控件库,拥有原生的 AJAX 支持和华丽的 UI 效果。 FineUI 的使命是创建没有 JavaScript,没有 CSS,没有 UpdatePanel,没有 ViewState,没有 WebServices 的网站应用程序。   从这段官方描述中,我们看到了三个信息点: ...

FineUI布局应用(二)_weixin_30767921的博客-程序员宅基地

一、FineUI页面布局分为 1、Fit布局 1 &lt;f:Panel ID="Panel1" Title="布局Fit(Layout=Fit)" runat="server" Layout="Fit" Height="300px" EnableFrame="true" EnableCollapse="true" 2 BodyPa...