物联网云平台
设备访问、规则引擎、实时计算、数据存储都是物联网云平台的关键技术,其中设备访问组件(IoT Hub )是物联网
物联网云平台体系结构(简化映像) )
物联网云平台需要支持多网络多协议设备的访问,关键是解决物联网协议的碎片化问题。 虽然IP协议可以有效地解决链路层以下的协议的多样性,但是需要考虑面向各种场景的APP应用层协议的支持。
常见物联网应用层协议
物联网常用的APP应用层数据传输协议包括MQTT、CoAP、http(s )、LwM2M、STOMP、AMQP、套接字/网络套接字等。web APP应用中最常用的协议是http(s )协议,但是不支持双向通信。 基于HTTP的web套接字可以实现物联网的双向通信,也可以直接使用基于TCP/UDP的套接字通信。
简单的面向文本的消息协议(stomp )广泛用于通过中间服务器(Broker )在客户端之间进行异步消息传递。
企业中间件系统中最普及的消息协议是高级消息队列协议(amqp )、高级消息队列协议。
即时通信系统最常用的是基于XML的可扩展通信和演示协议xmpp (可扩展消息传递和序列协议)。 STOMP、AMQP、XMPP等协议也可以用于物联网系统,实现系统的互通,但不适合资源有限的物联网系统。
物联网最常见的APP应用层协议是MQTT和CoAP,这些协议在设备和网络上都需要的资源要多得多。
TCP、TLS和web套接字(SSL )可用于MQTT协议传输层。
MQT (MES AGEQ UINGTELEMETRytransport )是IBM制定的物联网通信协议,是目前物联网领域使用最广泛的协议。 MQTT协议的优点在于简单性。 MQTT协议的主要特性是发布者和订阅模型。 和所有消息协议一样,MQTT将数据的发布者和使用者分开。 主题类型和消息有效载荷没有限制。
CoAP与HTTP协议的原语一致,非常容易转换。
MQTT主要基于TCP协议,而互补应用协议(coap )则基于UDP协议,便于将数据转换为HTTP。 CoAP比MQTT更轻,适合内存小的低功耗设备。 CoAP协议的名称是“受限APP协议”,顾名思义,可以用于资源有限的物品的互联网设备。
LwM2M协议体系结构图
LWM 2M (LWM 2M )也是一种轻量级的互联网协议,基于CoAP协议,主要用于存储、功耗等资源有限的嵌入式设备。
设备接入IOT Hub
IOT集线器是物联网云平台的核心组件,主要负责物联网设备的访问,还负责设备认证和设备管理功能。 其核心是支持平台和设备双向消息通信的服务,一般需要支持MQTT、CoAP、LwM2M等协议,特别是需要支持MQTT协议。 许多IOT集线器是基于mqtt中介服务实现的。
IBM蓝牙云计算平台
IBM的蓝牙云计算平台(后与IBM云品牌合并)为物联网APP提供基础设施,其中最主要的部分是蓝牙,IoT Hub 通过Kafka消息队列将MQTT中的消息传递给后端消息服务器进行处理。
实现IoT Hub的方法是基于开源的MQTT Broker。 目前有名的mqtt中介包括EMQ、eclipse mosquitto等。
EMQ支持多种访问格式
EMQ由中国企业开发,不仅支持MQTT,还支持CoAP、LWM2M等协议,基于Erlang/OTP语言平台开发,支持对大容量设备的访问。 有开源版和收费的企业版。 许多云服务公司使用EMQ,许多网关设备可以作为MQTT客户端发布和订阅EMQ和消息。