物联网关键技术:如何实现设备接入
物联网云平台
设备接入、规则引擎、实时计算、数据存储都是物联网云平台的关键技术,其中设备接入组件(IoT Hub)是物联网云平台的核心。
物联网云平台架构(简化示意图)
物联网云平台需要支持多网络多协议设备的接入,关键是解决物联网协议的碎片化问题,IP协议可以有效解决链路层以下的协议多样性,但更多要考虑支持面向各种场景的应用层协议。
常见物联网应用层协议
物联网常用的应用层数据传输协议包括:MQTT、CoAP、HTTP(S)、LwM2M、STOMP、AMQP、Socket/WebSocket等。
Web应用最常用的协议是HTTP(s)协议,但不能支持双向通信;基于HTTP的WebSocket可以实现物联网系统的双向通信,或者直接使用基于TCP/UDP的Socket通信。
STOMP(Simple Text Oriented Messaging Protocol)是一个被广泛使用的简单面向文本的消息协议,被用于通过中间服务器(Broker)在客户端之间进行异步消息传递。
企业中间件系统中最流行的消息协议是 AMQP(Advanced Message Queuing Protocol),高级消息队列协议。
即时通信系统最常用的是基于XML的可扩展通信和表示协议XMPP(Extensible Messaging and Presence Protocol)。STOMP、AMQP、XMPP这些协议也可以用于物联网系统中,实现系统的互操作,但对于资源受限的物联网系统不适合。
物联网系统最常用的应用层协议还是MQTT和CoAP,以上这些协议与之相比,在设备和网络上所需要的资源都要多得多。
MQTT协议传输层可以是TCP、TLS和websocket(SSL)。