物联网网关主要功能如下:
管理功能。物联网网关可以获取各节点的属性和实时状态信息,并实现对节点的状态控制、唤醒与睡眠、在线诊断等功能,同时支持通过二次编程实现对节点的自动化管理。
源寻址功能。寻址技术可确保各个节点的信息被精准实时地定位和查询,以满足跨域通信的需求。由于节点地址结构与DNS的域名结构不同,因此需要开发新的源寻址技术。
协议转换与数据格式标准化功能。为了实现无线传感网络与传统通信网络的数据交互,需要由网关充当协议转换的角色,将上传的标准格式数据进行统一封装,将下发的数据解包成标准格式数据,使得指令可被识别。
物联网网关通常基于ARM和嵌入式Linux平台方案进行设计,以满足对性能和应用的需求,并对整个系统的资源进行管理。在工业应用中受实时性、稳定性、环境与成本限制,物联网网关常以无线广域网(WWAN)和本地现场总线的结合为主,以适应各种复杂的工业环境。现阶段较为成熟的无线广域网通信技术有GPRS技术、4G技术和卫星通信技术,而应用广泛的现场总线技术有CAN、PROFIBUS、LONWORKS、HART、MODBUS等。
MQTT协议采用基于客户端-服务器的发布/订阅(publish/subscribe)模式,所有的物联网终端都通过TCP连接到云端,云端通过主题的方式管理各个设备关注的通讯内容,负责将设备与设备之间消息的转发。
MQTT客户端与服务器
在通讯过程中,MQTT协议中有三种身份(见图):发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。
MQTT客户端可以发布信息、订阅信息、退订或删除信息、断开与服务器的连接;
MQTT服务器可以接收客户端的网络连接、客户端发布的信息、客户端的订阅和退订请求、转发客户端订阅的消息。