设备接入协议与云端设备端开发流程

设备接入协议与云端设备端开发流程

当您希望将设备接入阿里云物联网平台,实现设备集中管理、收集和数据分析、远程控制、保障设备数据安全等能力时,请根据本文的设备接入流程引导,选择设备使用协议并进行云端和设备端开发。

前提条件开通物联网平台服务。

说明 免费开通后,您可先试用物联网平台服务,试用流程,请参见阿里云免费试用的物联网平台产品。物联网平台服务的计费标准,请参见计费概述。

接入说明设备接入物联网平台,需要完成以下操作:

操作

说明

云端产品开发

在物联网平台控制台,依次进行创建产品、添加物模型功能、添加自定义Topic、创建设备、配置业务功能(例如:设备标签、设备影子、设备OTA升级等功能)等操作,定义设备认证方式,完成产品功能开发和设备注册。

设备端开发

设备端获取设备证书,使用SDK接入物联网平台。设备端可以使用Link SDK、开放协议的自研SDK、AT模组、云云对接SDK的接入方式实现设备连接物联网平台。

不同类型设备接入物联网平台支持的接入协议、SDK和具体流程不同。物联网平台支持的设备类型和对应协议如下表所示,对应SDK和完整接入流程说明,请参见下文的接入流程。

设备类型

支持的接入协议

直连设备

MQTT、CoAP、HTTPS

网关设备(直连方式)和非直连子设备

MQTT

LoRa设备

MQTT

中国移动和中国联通的NB-IoT设备

MQTT、CoAP

云网关设备

MQTT、JT/T 808、GB/T 32960、SL 651、中国电信NB-IoT

无法使用物联网平台支持的协议直接接入的设备

云云对接支持的私有协议

说明 网关设备和云网关设备区别:

网关设备:使用MQTT协议且可以挂载子设备的直连设备,通过设备密钥方式进行设备身份认证后接入物联网平台。

云网关设备:支持使用MQTT协议、JT/T 808协议、GB/T 32960协议、中国电信NB-IoT协议的云网关接入设备。

MQTT协议、JT/T 808协议、GB/T 32960协议和SL 651协议的云网关设备,使用自定义证书信息进行设备身份认证。

使用MQTT协议云网关可以将存量设备在无需做改造的情况下迁移到阿里云企业物联网平台。

使用JT/T 808协议云网关接入的设备,适用于道路运输车辆卫星定位系统车载终端与阿里云企业物联网平台之间的通信。

使用GB/T 32960协议云网关可以将电动汽车设备接入物联网平台,实现电动汽车远程服务和系统管理。

使用SL 651协议云网关将遥测站设备接入物联网平台,用于水文监测数据的采集与传输。

中国电信NB-IoT的云网关设备,是通过直连方式接入中国电信AEP平台中已完成开发的NB-IoT设备。

接入协议说明MQTT协议认证方式直连设备和网关子设备:采用物联网平台的设备证书信息ProductKey(产品信息唯一标识)、DeviceName(设备名称)、DeviceSecret(设备密钥)进行认证。

MQTT协议云网关设备:采用标准的MQTT协议规范的UserName作为身份信息进行认证,支持使用自定义证书、自定义设备认证方式、自定义通信Topic能力、设备端和服务端证书OCSP能力、设备和服务端双向安全认证等能力。

设备身份信息说明设备

说明

直连设备

可以通过物联网平台控制台或云端API创建设备,获取设备证书信息。具体内容,请参见创建设备和RegisterDevice。

可以通过设备上线时采用的一型一密注册方式创建设备,获取设备证书信息。具体内容,请参见一型一密。

网关子设备

支持网关设备代理子设备接入物联网平台。网关设备与物联网平台建连后,子设备复用相同的连接和物联网平台通信。具体内容,请参见网关与子设备。

云网关设备

一方认证:需要提前在物联网控制台批量导入UserName信息创建设备,设备建连时物联网平台校验设备身份信息。

三方认证:物联网平台调用自定义的FC函数或HTTPS服务进行认证,认证成功后自动创建设备身份。

使用说明MQTT协议规范和使用说明,请参见使用MQTT协议。

HTTPS协议支持HTTPS协议,推荐采用TLS协议1.3版本加密接入阿里云物联网平台。

认证方式采用物联网平台的设备证书信息ProductKey(产品信息唯一标识)、DeviceName(设备名称)、DeviceSecret(设备密钥)进行认证。

设备身份信息说明通过物联网平台控制台或云端API创建设备,获取设备证书信息。具体内容,请参见创建设备和RegisterDevice。

使用说明HTTPS协议规范和使用说明,请参见使用HTTPS协议。

CoAP协议支持UDP协议,采用DTLS和对称加密两种安全模式接入阿里云物联网平台。

认证方式采用物联网平台的设备证书信息ProductKey(产品信息唯一标识)、DeviceName(设备名称)、DeviceSecret(设备密钥)进行认证。

设备身份信息说明通过物联网平台控制台或云端API创建设备,获取设备证书信息。具体内容,请参见创建设备和RegisterDevice。

使用说明CoAP协议规范和使用说明,请参见使用CoAP协议。

JT/T 808协议云网关JT/T 808协议应用于汽车行业,支持使用自定义证书、自定义设备认证方式、自定义通信Topic能力、设备端和服务端证书OCSP能力、设备和服务端双向安全认证等能力。

认证方式一方认证:需要提前在物联网平台控制台批量导入Manufacturer ID(厂商ID)、Terminal Model(设备型号)和Terminal ID(设备ID)信息创建设备, 设备建连时物联网平台校验设备身份信息。

三方认证:物联网平台调用自定义的FC函数进行认证,认证成功后自动创建设备身份。

使用说明使用JT/T 808协议云网关接入设备的详细说明,请参见JT/T 808协议云网关概述。

GB/T 32960协议云网关GB/T 32960协议应用于汽车行业,支持使用自定义证书、自定义设备认证方式、自定义通信Topic能力、设备端和服务端证书OCSP能力、设备和服务端双向安全认证等能力。

认证方式一方认证:需要提前物联网控制台批量导入车辆VIN信息创建设备, 设备建连时物联网平台校验设备身份信息

三方认证:物联网平台调用自定义的FC函数进行认证,认证成功后自动创建设备身份。

使用说明使用GB/T 32960协议云网关接入设备的详细说明,请参见GB/T 32960协议云网关概述。

SL 651协议SL 651是国家水文局制定的用于水文监测数据通信的协议,它规定了水文监测数据采集与传输的格式、内容、传输方式等技术参数,支持通过TCP(安全性低,不推荐)和TLS两种方式将遥测站设备接入物联网平台。

认证方式一方认证:需要将遥测站地址telemetryAddress和密码password导入物联网平台,物联网平台会基于设备认证信息对设备进行认证。

三方认证:物联网平台调用自定义的FC函数进行认证,认证成功后自动创建设备身份。

使用说明使用SL 651协议云网关接入设备的详细说明,请参见SL 651协议云网关概述。

其它协议其它协议如消防协议GB/T 26875.3-2011、Modbus等暂不支持。在特定场景下,设备无法直接接入阿里云物联网平台时,您可使用云云对接SDK,快速构建桥接服务,搭建设备或平台与阿里云物联网平台的双向数据通道。

使用说明,请参见使用云云对接(原泛化协议)SDK。

接入流程开通物联网平台服务后,设备接入的完整流程如下图所示,主要分为云端产品开发和设备端开发。

云端开发设备类型

操作流程

直连设备

网关设备

非直连子设备

LoRa设备

中国移动和中国联通的NB-IoT设备

私有协议的设备

购买企业版实例:试用的公共实例可提供的资源规格有限,支持基础的设备接入和通信功能。

正式商用场景,建议您购买企业版实例使用。实例类型和功能说明,请参见企业版实例不同类型和功能区别。

创建产品:选择产品的节点类型和认证方式,定义产品下设备的设备类型,及设备接入物联网平台使用的认证方式。

认证方式详细说明,请参见设备安全认证。

(可选)配置产品功能:根据业务需求,开发产品通信功能。通信原理的详细说明,请参见什么是Topic。

定义物模型功能:如果设备使用物模型Topic与物联网平台通信,需要在物联网平台为设备所属产品定义物模型功能。

添加物模型的具体操作,请参见单个添加物模型、批量添加物模型。

通信的具体说明,请参见设备使用物模型通信。

定义设备通信Topic:如果设备使用自定义Topic与物联网平台通信,需要在物联网平台为设备所属产品定义自定义Topic类。

添加自定义Topic类操作及通信说明,请参见使用自定义Topic通信。

消息解析:物联网平台定义设备消息的标准数据格式为Alink JSON。如果设备将原始数据透传到物联网平台,需要配置消息解析脚本,实现设备通信数据在设备自定义格式和JSON格式之间转换。

注册设备:根据已创建的产品,在物联网平台添加对应的设备。

具体操作,请参见单个创建设备、批量创建设备、创建LoRa设备、添加网关与子设备。

说明 以下情况无需在物联网平台注册设备:

使用设备密钥的一型一密免预注册认证方式。

使用ID²认证方式时,未开启ID²白名单校验。

(可选)配置相关业务功能:如果设备需要使用设备标签、设备任务、设备影子、远程配置、OTA升级等功能,需在物联网平台先配置,后续在设备端开发对应功能实现逻辑。

说明 使用云云对接SDK接入物联网平台的私有协议设备,仅支持OTA升级。

云网关设备

购买尊享型实例:仅尊享型企业版实例支持云网关功能。购买实例方法,请参见购买企业版实例。

确认待接入设备使用的云网关协议:

中国电信NB-IoT:中国电信的NB-IoT设备,需通过直连方式接入中国电信AEP平台来使用。

MQTT:使用自定义证书、自定义设备认证方式、自定义通信Topic的能力,可以将存量设备在无需做改造的情况下迁移到阿里云企业物联网平台。

JT/T 808:建议采用TLS方式接入,支持使用服务端单向认证、设备端和服务端证书OCSP能力、设备和服务端双向安全认证等能力,适用于道路运输车辆卫星定位系统车载终端与阿里云企业物联网平台之间的通信。

GB/T 32960:建议采用TLS方式接入,支持使用服务端单向认证、设备端和服务端证书OCSP能力、设备和服务端双向安全认证等能力,适用于电动汽车设备与阿里云企业物联网平台之间的通信。

SL 651:建议采用TLS方式接入,支持使用服务端单向认证、设备端和服务端证书OCSP能力、设备和服务端双向安全认证等能力,适用于遥测站设备与阿里云企业物联网平台之间的通信,用于水文监测数据采集与传输。

云端开发流程如下:

接入中国电信的NB-IoT设备:通过直连方式对接已接入中国电信平台且已完成开发的设备。

MQTT协议云网关接入流程。

JT/T 808协议云网关接入流程。

GB/T 32960协议云网关接入流程。

SL 651协议云网关接入流程。

说明 开发者也可通过云端API实现物联网平台的云端管理能力,例如:产品管理、设备管理、Topic管理、服务端订阅、云产品流转、消息通信等。

云端API具体内容,请参见API列表。云端SDK使用方法,请参见云端SDK。使用示例,请参见使用OpenAPI示例。

设备端开发设备类型

接入方式

说明

直连设备

网关设备

非直连子设备

LoRa设备

中国移动和中国联通的NB-IoT设备

Link SDK接入

物联网平台提供了C、Android、Python、Java、iOS、Node.js语言的SDK,支持各种类型设备的接入。

开放协议接入

如果提供的设备端SDK无法满足您的需求,可自行开发。例如使用开源MQTT客户端接入物联网平台。

物联网平台提供了基于多种语言的Paho-MQTT的示例,包括Paho-MQTT的Android、Java、C(嵌入式版)、C(非嵌入式版)、C#、Python、Rust、Go等语言。

可以根据Alink协议,对接开发物联网平台的各项功能。

模组接入

可以使用支持MQTT、HTTPS指令的AT模组,也可以使用通用TCP AT模组接入。

物联网平台提供了如下SDK示例:在支持MQTT的模组上集成SDK、在支持TCP的广域网模组上集成SDK。

私有协议的设备

云云对接SDK接入

支持设备的数据从其他物联网平台流转到阿里云物联网平台。

云网关设备

MQTT协议云网关接入

使用自定义证书信息进行设备身份认证,可以将存量设备在无需做改造的情况下迁移到阿里云企业物联网平台。

物联网平台提供了如下SDK示例:C语言的接入示例(阿里云FC认证)、Java语言的接入示例(双向认证)。

JT/T 808协议云网关接入

使用自定义证书信息进行设备身份认证,适用于将有道路运输车辆卫星定位系统车载终端的设备接入物联网平台。

物联网平台提供了C语言的SDK示例:接入示例(一方认证)。

GB/T 32960协议云网关接入

使用自定义证书信息进行设备身份认证,适用于将电动汽车设备接入物联网平台。

物联网平台提供了使用Github开源工程的SDK示例:接入示例(一方认证)。

SL 651协议云网关接入

使用自定义证书信息进行设备身份认证,适用于将遥测站设备接入物联网平台。

后续操作设备成功接入物联网平台后,可通过设备的消息转发、数据服务、监控运维功能,管理物联网平台设备相关数据。

消息转发:可以使用服务端订阅和云产品流转功能,进行设备消息转发,实现设备与服务器的消息通信,以及设备数据的流转和存储。

数据服务:可以使用数据服务的存储备份、数据解析、存储管理、指标管理、SQL分析、报表分析和数据智能等功能,挖掘物联网数据中的价值。

监控运维:可以使用实时监控、日志服务、在线调试等功能对设备和通信消息相关指标数据,进行监控和管理。

更多功能说明,请参见功能特性。

常见问题设备接入物联网平台支持的连接协议只有MQTT吗?

物联网平台可以接入哪些硬件设备?

物联网平台会使用到哪些域名?

是否可以把物联网平台接入域名隐藏在自有域名之后?

设备接入物联网平台华东2地域后,将设备放到海外,还能正常连接物联网平台吗?

什么硬件可以接入物联网平台?

是否支持C语言版的服务器端SDK?

物联网平台如何建立设备与平台的连接?

设备换物联网卡后,物联网平台会不会阻止设备上线?

设备认证多台设备是否可以使用相同的证书同时或不同时进行连接认证?

设备MQTT连接参数可以批量下载吗?

设备端SDK是否支持MQTT协议的断线重连?

单个设备一型一密免预注册5次后,拒绝注册认证,怎么办?

一型一密免预注册支持的地域和实例有哪些?

MQTT一型一密MQTT动态注册,获取DeviceSecret失败

MQTT连接为什么设备一直上下线?

如何判断设备掉线的原因?

如何检查网络问题?

CoAP连接CoAP协议允许 over UDP 接入吗?

CoAP协议接入物联网平台的URI是什么?

IOT_CoAP_DeviceNameAuth认证函数是阻塞等待指定时间吗?

CoAP的客户端在提交认证时,字段IOTX_DEVICE_ID是什么意义?

如果发送到云端的数据不是JSON会出现什么错误?

调用IOT_CoAP_Init方法时,coap_malloc返回NULL,是什么原因引起的?

CoAP协议支持数据下行吗?

HTTP连接HTTPS进行设备认证时,server返回的错误码代表什么意思?

HTTPS接入认证的时候,body中的sign参数怎么生成?

服务器返回代码“302 Found,The requested resource resides temporarily under a different URI”

用浏览器调用HTTP请求出现跨域错误

HTTP协议支持数据下行吗?

设备移植编译问题

运行问题

泛化协议接入如何与物联网平台建立连接?

如何主动与物联网平台断开连接?

是否需要监测与物联网平台的异常断线?

如何批量生成设备证书?

如何获取子设备证书?

如何将子设备证书与设备关联?

如何使设备上线?

如何使设备离线?

设备状态物联网平台设备状态显示未激活,如何激活?

设备离线是指设备不通电了吗?

如何获取设备状态变更消息?

设备状态变更通知的消息会有延迟吗?

设备离线通知为什么有延迟?

设备状态变更通知的状态与设备实际状态不一致,为什么?

设备离线分析

调用API获取设备状态

设备端检测自己是否在线

服务端检测设备是否在线

其他相关问题通信消息相关问题

物模型相关问题

AMQP服务端订阅相关问题

相关推荐

使用顶点法线硬化或软化多边形着色
365英国上市网正规吗

使用顶点法线硬化或软化多边形着色

📅 09-30 👁️ 4762
再见甲骨文!勇士为大通中心举行媒体开放活动
365bet网上娱乐

再见甲骨文!勇士为大通中心举行媒体开放活动

📅 08-21 👁️ 8793
英雄联盟攻击力最高的英雄大排名,烬仅仅第三,第一名用脚杀人!
格兰仕(Galanz)烤箱K1报价
best365彩票

格兰仕(Galanz)烤箱K1报价

📅 09-13 👁️ 9708