温馨提示:这篇文章已超过850天没有更新,请注意相关的内容是否还可用!
一、什么是百度物联网核心套件?
物联网核心套件(IoT Core)是面向物联网领域开发者的全托管云服务,通过主流的物联网协议(如 MQTT)通讯,可以在智能设备与云端之间建立安全的双向连接,快速实现物联网项目。
物联网核心套件提供海量设备接入与管理、规则引擎及物联网边缘等能力,您可以利用物联网核心套件来作为搭建您物联网应用的第一步。其中设备接入与管理支持亿级设备与云端建立安全可靠的双向连接;规则引擎提供IoT Core 设备与云上各产品之间的数据流转;物联网边缘可将云计算能力拓展至用户现场,可以提供临时离线、低延时的计算服务。
二、适用场景
适用基于设备的物联网场景,提供设备的接入和管理能力,帮助开发者聚焦业务。
三、特性概述
快速建立以设备为核心的物联网应用
自由选择透传和设备影子两种使用方式
无缝对接时序数据库TSDB、物可视等产品
四、产品优势
开放高效
原生支持 MQTT 协议,基于高可用架构,可支撑亿级设备连接及双向大规模消息传输
安全可靠
支持设备安全认证,可通过 TLS/SSL 双向认证保证设备数据安全传输
快速开发
SDK 适配主流操作系统,支持多种语言,多种平台开发,兼容主流设备平台
多场景支持
内置规则引擎支持数据流转,可与 TSDB、物可视等产品无缝对接,在云端轻松构建基于设备的物联网应用
五、核心概念
本章主要介绍物联网核心套件中相关的核心概念。
名词 | 描述 |
---|---|
IoT Core 实例 | 物联网核心套件 IoT Core 的资源划分单位。每个实例是一个独立的命名空间,有独立标识即 Core ID。不同实例之间相互隔离。 |
设备 | 实体世界一个设备的云端映射,是 IoT Core 连接的最小单元,每个设备均可拥有自己的身份(DK/SK)及主题列表。 |
MQTT | MQTT(Message Queuing Telemetry Transport)是一个基于二进制消息的客户端服务端架构的发布/订阅(Publish/Subscribe)模式的消息传输协议,最早由IBM提出的,如今已经业界通行规范,更符合机器与机器的通信(M2M)以及物联网环境(IoT)。 |
DK(Device Key) | 设备连接所需的 key,用于生成 MQTT 连接所需的用户名。 |
SK(Device Secret Key) | 设备连接所需的密钥,用于生成 MQTT 连接所需要的密码。 |
影子 | 设备影子反映物理世界中的一个物(设备),是物在云端的『影子』或『数字双胞胎』。运行时,物将监控值上报给影子,影子会用一个 json 文档存储设备的最后一次上报的状态,您可以直接通过MQTT或HTTP访问。同时,影子也提供反控功能。 |
模板 | 设备的模板用于批量创建一类设备,当前提供主题模板。使用相同主题模板创建是设备,其对主题的权限一致。 |
主题(topic) | 主题应用于MQTT客户端。topic 规则允许字符串可以带通配符“#”或 “+”。 |
操作权限(operation) | 在主题模板中可定义设备对topic的操作权限。目前基于MQTT协议,IoT Core 支持发布 Publish 和订阅 Subscribe 两种权限。 |
规则引擎 | 规则引擎是物联网核心套件的消息路由中心,用于接收通过MQTT主题发布的消息,在规则中设置过滤条件、查询语句,可对消息进行过滤和格式转换,之后将消息结果转发给其他设备,或是计算、存储、消息队列等云产品以及用户自定义服务,串联起设备、服务、应用。 |
规则 | 规则可以理解为是路由转发消息的策略,每个规则必须设置消息的来源主题、数据发往的目的地,同时可以设置过滤条件和查询语句对消息进行过滤转换。每个IoT Core实例下可以创建多个规则来满足不同的业务逻辑需求。 |
数据来源 | 规则中必须配置数据来源表明规则要处理哪些消息,数据来源可以是所属IoT Core实例下任意主题,支持通配符,被设置为数据来源后,规则会主动订阅消息并对接收到的消息进行处理。 |
数据目的地 | 数据目的地是规则处理完消息转发到的目标产品或服务,一个规则可以设置多个数据目的地。 |
过滤条件 | 规则引擎路由消息时首先会对消息进行过滤条件判断,命中过滤条件的数据才会继续被转发到后续格式转换以及转发到数据目的地。 |
查询语句 | 规则引擎可以对消息进行格式变换,利用规则引擎定义的一套类JSON对象的操作的查询语句,不需要编程即可轻松配置出满足业务需求的格式转换规则。例如转换出符合TSDB写入要求数据格式、转换出可以写入RDS的格式。 |
六、系统限制
实例数
每个百度智能云账户目前最多可创建10个 IoT Core 实例,如有更高配额需求,可提交工单申请。
连接及消息收发相关
限制描述 | 限制值 | 说明 |
---|---|---|
单实例最大同时在线长连接数 | 1万 | 可调整,通过提交工单申请更高配额 |
单实例每秒新建MQTT连接请求数 | 200 | - |
单MQTT连接的最大订阅数 | 100 | 超过订阅数的请求将会被直接拒绝 |
单连接客户端每秒订阅请求数 | 10 | 每秒最多进行10次订阅主题的操作 |
单连接上报消息频率上限 | QoS0:30条/秒 QoS1:10条/秒 | 不支持 QoS2 消息 |
离线消息最长缓存时间 | 1周 | - |
单个连接每秒的吞吐带宽 | 512 KB | - |
每个订阅请求的最大订阅数 | 8 | - |
MQTT单个发布消息最大长度 | 32 KB | 可申请至128KB。特别地,在计费上,每条消息按512Bytes,也就是“实际消息长度/512Bytes”的计算结果向上取整 |
MQTT连接心跳时间 | 30至1200秒,建议取值300秒以上 | - |
Retain | - | 邀请测试中,当前默认不开通,如有需求请提交工单申请 |
ClientID 长度 | 23 或 128 | 23bytes(未指定 MQTT 协议版本或者指定为 3.1 时) 128 bytes(指定 MQTT 协议版本 3.1.1 时) |
主题(Topic)相关
限制描述 | 限制值 | 说明 |
---|---|---|
Topic总长度 | 255 | - |
Topic每层长度 | 40 | - |
每个Topic可被订阅上限 | 200 | 即一个主题匹配的订阅连接数最多为200,超出部分将不推送 |
订阅和取消订阅操作生效时间 | 5s | 即 Client 向服务端发送 sub 请求最长 5s 后订阅生效 |
实例、模板及设备限制
限制描述 | 限制值 | 说明 |
---|---|---|
单账户可创建实例数量 | 20 | 每个百度智能云账号最多创建20个 IoT Core 实例 |
单实例设备数量 | 默认值为 1万 | 可调整,通过提交工单申请更高配额 |
单实例最大模板数量 | 20 | 日志服务会占用一个,实际可用数目为19 |
单模板可管理主题数量 | 12 | 主题可包含通配符或tag |
规则引擎
限制描述 | 限制值 | 说明 |
---|---|---|
每个IoT Core实例下可创建规则数量 | 100 | 可调整,通过提交工单申请更高配额 |
单个规则每秒的消息处理上限 | 1000条 | 超过会被限流,下游数据目的地接收数据可能会产生延时或丢失,如有更高业务需求可以通过提交工单申请更高配额 |
每个IoT Core下规则每秒累计的消息处理上限 | 3000条 | 超过会被限流,下游数据目的地接收数据可能会产生延时或丢失,如有更高业务需求可以通过提交工单申请更高配额 |
消息写入数据目的地的频率 | 参考目的地产品自身限制 | 不同的目的地写入频率限制由目的地产品自身决定,数据来源每秒最多可接收1000条消息,当每秒接收的实际消息数超出目的地产品写入能力时,会造成写入失败,规则引擎会尝试重新写入,再次写入失败时消息会被丢弃 |
云端API限制
限制描述 | 限制值 | 说明 |
---|---|---|
管理 API | 70 | 单 IP 的 QPS 限制 |
HTTP Pub API | 50 | 单 IP 的 QPS 限制 |
百度智能云物联网核心套件(IoT Core)产品在线文档:https://bce-cdn.bj.bcebos.com/p3m/pdf/bce-doc/online/IoTCore/IoTCore.pdf
发表评论