MQTT协议云网关采用标准的MQTT协议,支持使用自定义证书、服务端单向认证、设备端OCSP、设备和服务端双向安全接入和证书管理等能力。本文介绍物联网平台具体的MQTT协议云网关能力,及设备如何使用MQTT云网关与物联网平台连接并进行通信。
功能说明
仅华东2(上海)、华北2(北京)和华南1(深圳)地域的尊享型企业版实例下,支持使用MQTT协议云网关将设备接入物联网平台。
功能项 | 说明 |
自定义端口号 | MQTT协议云网关URL的默认端口号为1883,支持自定义端口号,取值范围为1024~65535。 |
一方认证 | 认证服务由阿里云物联网平台提供。 您需先创建一方认证的云网关产品,然后在该云网关产品下批量导入设备,最终设备使用标准的MQTT协议即可接入物联网平台。 |
三方认证 | 认证服务由开发者管控,可以采用证书CN认证或者UserName注册设备。 支持以下认证方式:
|
数据解析 | 设备上报的数据,可以通过自定义Topic解析功能,处理为需要的数据格式。详细说明,请参见什么是消息解析。 |
设备X.509认证 | 云网关提供服务端单向认证、设备和服务端双向认证能力,进行设备身份认证。 |
国密证书 | 设备端使用TLS协议1.3版本时,支持使用国密证书,支持SM2、SM3、SM4国密算法及国密SSL安全协议。 说明 仅支持使用国密单证书和TLS_SM4_GCM_SM3、TLS_SM4_CCM_SM3加密套件,不支持使用国密双证书(TLCP协议)。 |
OCSP | 云网关提供设备端和服务端证书(Online Certificate Status Protocol)能力。 OCSP表示在线证书状态协议,该协议用于向签发证书的CA(Certificate Authority)中心发起查询请求,检查证书是否被吊销。 |
设备认证流程
一方认证
创建云网关产品(MQTT):创建云网关产品时,认证类型选择一方认证,其他参数根据实际场景选择。
创建云网关设备(MQTT):在已创建云网关产品下批量导入设备信息SN(可选)、MQTT Username和MQTT Password。
设备端配置MQTT接入域名,使用标准的MQTT协议接入物联网平台:
若设备已配置接入域名,可配置CNAME解析到云网关连接域名(云网关URL)。域名解析详细操作,请参见云解析DNS。
若设备未配置接入域名,需将云网关URL配置到设备中。更多信息,请参见MQTT协议的设备接入。
三方认证(阿里云FC)
创建FC服务和创建FC函数:创建设备三方认证的FC服务和对应函数。
实现FC认证函数的请求和返回参数需要符合规范,认证函数名称可以自定义。认证函数中请求和返回参数的说明,请参见创建云网关产品(MQTT)。
创建云网关产品(MQTT):创建云网关产品时,认证类型选择三方认证、三方认证调用方式选择阿里云FC、设备认证FC服务和设备认证FC函数选择已创建的FC服务和函数,其他参数根据实际场景选择。
云网关产品创建成功后,设备首次建连时,物联网平台会根据认证函数的返回参数deviceName值自动创建并接入对应的设备。
三方认证(外部HTTPS)
创建可通过HTTPS方式调用的设备三方认证服务。
实现HTTPS调用的入参、出参需要符合规范,具体说明,请参见创建云网关产品(MQTT)。
创建云网关产品(MQTT):创建云网关产品时,认证类型选择三方认证、三方认证调用方式选择外部HTTPS、设备认证HTTPS URL选择已创建的设备认证服务的HTTPS URL,其他参数根据实际场景选择。
云网关产品创建成功后,设备首次建连时,物联网平台会根据HTTPS认证服务的返回参数deviceName值自动创建并接入对应的设备。
设备与物联平台通信说明
MQTT云网关设备可通过自定义的消息Topic与物联网平台进行通信,物联网平台会透传设备的上下行通信数据。详细说明,请参见消息通信说明。