IoT建设核心技术要点

509 阅读3分钟

MQTT官方网站:mqtt.org/

image.png

IoT的咽喉之MQTT协议

在近几年MQTT服务器,MQTT协议愈发的被技术圈的人所知晓,主要是因为物联网,工业互联网加快建设和推广。搭建自己的IoT平台,接入海量设备实现低延迟,低功耗设备能力尤为重要。刚好MQTT他正好符合这一特性,被物联网行业视为接入标准和规范。

IoT的网络通信分层

在聊MQTT之前,我们来看下实现设备接入的通讯协议都有哪些

image.png

参考博文:blog.csdn.net/lihongzhai/…

下位机通讯

  • 串口类: Modbus、Ethemet、RS232、RS485、USB等
  • 近距离无线通讯类:NFC、RFID
  • 短距离无线通讯类:ZigBee、WiFi、Bluetooth、LoRa等
  • 长距离无线通讯:GSM、WCDMA、LTE、TD-LTE、NB-IoT等

以上具体各类协议通讯说明,可参阅:

wenku.baidu.com/view/29d7f0…

\

与上位机通讯

  • MQTT: 低功耗,主流协议,可实现实时通讯
  • CoAp:低功耗,非实时通讯协议
  • DDS :DDS(Data Distribution Service for Real-Time Systems),面向实时系统的数据分布服务,这是大名鼎鼎的OMG组织提出的协议,其权威性应该能证明该协议的未来应用前景。
  • XMPP:XMPP(Extensible Messaging and Presence Protocol)可扩展通讯和表示协议,XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。openfire
  • AMQP:AMQP(Advanced Message Queuing Protocol),先进消息队列协议,这是OASIS组织提出的,该组织曾提出OSLC(Open Source Lifecyle)标准,用于业务系统例如PLM,ERP,MES等进行数据交换。
  • HTTP:Web
  • FTP:

\

通讯协议的对比

image.png

消息分流

消息分流

规则处理

规则处理分基于物模型的规则处理和基于函数式编程逻辑判断的规则处理。两者都具备其不同性;基于物模型主要需沿用IoT平台既定的通讯数据格式和协议栈。平台才能基于既定的协议栈做规则解析和告警预判。基于函数式编程的方式主要解决的是

数据存储

数据存储就是将设备上传上来的数据进行落盘存储,可以是关系型数据库,也可以是菲关系型数据库。不过目前业界比较推荐的还是非关系型数据库,比如MongoDB,TSDB;通过各个大厂和自己实践,还是比较推荐大家采用时序数据库存储。因为根据设备数据的特性,对历史数据基本都是查询,不会涉及到修改操作。一般都是对近期比如1-3个月的数据访问多点,对于实时的数据访问更多。

这里推荐几款主流的时序数据库产品:

InfluxDB、OpenTSDB、Cassandra、MySQL、ClickHouse、TDengine

[时序]TDengine 国产数据库,专为物联网系统设计的数据(推荐使用),现在应开源集群版本

[时序]InfluxDB, 是 db-engines 上排名第一的时序数据库

[时序]TimescaleDB, 基于 PostgreSQL, 支持 SQL.

[时序]KairosDB, 基于 Cassandra, 不支持 SQL.

数据共享

数据共享,一般提供供其他业务应用访问数据的API,或是提供可以供对外