一文入门百度天工IOT平台
本文目的:认清对手,学习借鉴。
目标读者:项目团队。
产品概述
为了更好的推动物联网在中国的发展,百度云正式推出了物接入服务,全面助力构建物联网社会。IoT Hub 适用于五大业务场景:
- 智慧能源(百度园区)
- 智能硬件
- 工业4.0(风电厂)
- 智能家居
- 车联网
在各场景实现的主要功能包括: - 设备监控,通过接入天工平台随时监控物理设备运行情况
- 数据存储,通过TSDB存储历史数据,支持实时查询
- 运维报警,通过规则引擎、机器学习完成故障预测、故障报警
- PAAS平台,让ISV解决了设备安全连接与多种类型设备都低成本接入的难题,让其专注于SaaS级的服务,让企业人力成本更聚焦,更高效。
产品市场现状
盈利模式
- 按消息收费
平台有每月一百万条免费消息额度,超过的按照一定数量MQTT消息进行收费。 - 按数据收费
平台提供1百万点/月的免费额度,超过的按照x百万点/每月进行收费。
重点应用领域
暂未知,通过百度天工的开发者群了解,ISV数量已初具规模,应用场景在设备监控领域已有数个成功案例。
产品结构分析
★产品技术架构
天工技术架构
• Edge SDK:百度云面向设备端提供的SDK,可以安装在单机设备或企业网关上。安装了SDK的设备只需要配置一个云端生成的**便可以完成与云端连接,实现与云端通讯配置。Edge SDK支持SSL方式连接,保证用户数据安全。
SDK运行在客户端。目前包含三个具体的SDK:
1) modbus: modbus物解析网关。Modbus(TCP和RTU)协议数据的采集、上传,并且在云端进行解析和存储。
2) device-management: 新版物管理SDK。
3) bacnet: bacnet网关。BACNET(IP)协议数据的采集、上传,并且在云端进行存储。
例如,百度modbus网关是一个端上的程序,需要运行在用户设备的现场。它采集用户modbus从站的数据,并且上传到百度物解析服务,然后根据解析项目配置的解析设置,进行解析。最后入库。他通过定义订阅MQTT主题以接受管理配置(采集策略),然后执行相关的采集任务,采集到数据后,依然通过MQTT协议上数据上传到云端。
百度BACNet网关是一个端上的程序,需要运行在用户BACNet设备所在的网络上的计算机或者开发板上。它模拟成一个BACNet IP设备,并且根据配置,采集网络内其他BACNet设备的数据,并且上传到指定的物接入主题。 它主要基于bacnet-stack-0.8.3开发,并且依赖paho.mqtt.c, cJSON等库。
• 物接入:物接入是全托管的云服务,可以在智能设备与云端之间建立安全的双向连接,并通过主流的物联网协议(如MQTT)通讯,实现从设备端到云端以及从云端到设备端的安全稳定的消息传输。
就是MQTT代理服务器。
厂端数据上送是通过在本地PC安装edge SDK,作为数据采集的主站,同时支持以MQTT协议将数据上送至云端。
• 物管理:主要用于对接入云端的设备进行管理和操作。物管理需要与百度云的物接入服务配合使用,对接入云端的设备进行一站式设备管理,可应用于设备的层级管理、监测、遥控、固件升级和维护保养等各个场景。
• 物解析:在云端为用户提供工业协议解析服务(比如Modbus和OPC UA)。当云端收到设备端返回的原始数据后,结合用户提供的设备通讯地址表,物解析服务可将数据解析成直接可用于存储和分析的数据。
• 规则引擎:作为百度云天工智能物联网平台的重要组件,用于将信息根据预先设置好的规则转发至百度云的其它服务。用户可通过规则引擎设定消息处理规则,对规则匹配的消息采取相应的转发操作,如推送给手机APP等;也可以将设备消息无缝转发到时序数据库、百度Kafka和对象存储中进行存储。
• 时序数据库:用于管理时间序列数据的专业化数据库。区别于传统的关系型数据库,时序数据库针对时间序列数据的存储、查询和展现进行了专门的优化,从而获得极高的数据压缩能力、极优的查询性能,特别适用于物联网应用场景。
• 天算智能大数据平台:提供了完备的大数据托管服务、智能API、众多业务场景模板以及人脸识别、文字识别、语音识别等服务,帮助用户实现智能业务。
天工平台可与天算智能大数据平台实现无缝对接,助力企业快速具备海量数据分析能力。
• 合作伙伴应用&企业应用:提供了API接口,可与企业应用或其他第三方平台进行对接。
差异
- xxx;
- xxx;
★各层协议及通讯方式
(描述竞品在设备接入层支持多少种工业协议,如modbus,opc ua,BACnet等;描述竞品在网络传输层支持何种通讯方式进行传输,采用何种加密方式等)
edge sdk与厂端设备:modbus,opc ua(还未支持),BACnet。
装有edge sdk的PC与物接入:MQTT协议,支持ssl。
物接入与物解析和规则引擎:MQTT协议。
规则引擎:基于MQTT主题处理消息;主题中的消息必须是JSON格式。
产品功能规格
物接入
- 功能点
- 试用过程举例:
a. 在“物接入”界面,新增“物接入实例”,定义云端mqtt服务器地址
b. “物接入实例-”下挂的“设备”定义厂端物理设备:
c. “设备”-“身份”定义连接的用户名:
d. “设备”-“策略”定义mqtt的topic(主题):
e. 自动生成连接的**:
连接用户名:melon/device0922
连接秘钥:zvG+GpeHiteiQ1OzN6AR8PIWOW2eXAH52xSaJKBlY8g=
f. 对接成功后其他mqtt客户端可以订阅该主题,也可通过“规则引擎”对消息进行处理,然后送往不同的数据目的地(如时序数据库TSDB、Kafka,以及另一个topic)。
物解析
物解析的输出的数据格式为json,消息示例如下:
物解析和物接入的关系:
物解析底层依赖于物接入。物解析是在物接入的基础上,自动创建了一些配置。比如在物解析中新建第一个网关时,系统会自动在物接入中新建一个实例,同时在这个实例中配置设备(thing)、身份(principal)、策略(policy)、主题(topic)等。物解析服务端和网关设备之间,通过这个实例来发布消息或订阅消息。
规则引擎
规则引擎就是通过灵活的设定规则,将设备传上云端的数据,送往不同的数据目的地(如时序数据库TSDB、Kafka、对象存储BOS等)以达到不同的业务目标。
支持创建规则和调试规则。
物管理
流式计算(还未上线)
灵活强大的数据事件处理引擎,可以用来设置针对流式处理数据的实时分析计算工具