怎么实现IoT网关开源

描述

ThingsBoard IoT Gateway位于终端设备和云平台之间,与不同类型的终端设备进行连接,并通过MQTT与云平台进行交互,屏蔽不同终端设备之间的差异。

本文将介绍ThingsBoard IoT Gateway基本使用。

一、MQTT Connector

Connector是ThingsBoard IoT Gateway的关键部分,通过MQTT Connector:

(1)将MQTT代理的数据推送到IoT云平台;

(2)ThingsBoard发送的命令推送到MQTT代理。

  1. Connector 配置文件

Connector configuration是一个 JSON 文件,配置信息,详情如下:

  • Broker:如何连接到外部 MQTT 代理;
  • Mapper:如何处理订阅的Topic消息;
  • connectRequests:设备告知网关,已连接到MQTT Broker;
  • disconnectRequests:从MQTT代理获取有关断开设备的信息;
  • attributeUpdates:该配置项是可选的,用于设备的远程配置;
  • Server side RPC commands:IoT平台可以向终端设备发送RPC命令。

  1. Broker部分

  1. mapping部分

作用 :接收通过topicFilter定义的主题,并分析该主题的每一消息,提取device name、type、data (attributes and/or timeseries values)。

结构 :“mapping”部分定义一个数组,包含topic和converter(转换器-处理传入消息)。

有关Topic的定义:

Json 转换器是默认转换器,在传入消息中查找 deviceName、deviceType、attributes and telemetry。关键字段的含义:

  1. ConnectRequests

ThingsBoard可以向设备发送RPC命令和更新设备属性的通知。ThingsBoard在发送命令之前,需要知道目标设备是否已连接、使用的网关或会话。 这样,设备不仅要连接到MQTT代理,还需要向IoT网关发送消息来通知设备已连接到了MQTT代理。

  1. disconnectRequests

该配置项是可选的,用于从MQTT代理获取有关断开设备的信息。

  1. attributeUpdates

该配置项是可选的,用于设备的远程配置。

  1. Server side RPC commands

IoT平台可以向终端设备发送RPC命令。

二、数据链路流分析

在有IoT Gateway的网络中,一般要有MQTT Broker;环境搭建完全使用开源软件。

分别在TB IoT Gateway、TB抓包分析。

可以得到如下结论:

MQTT协议:从协议的角度来讲,各网元所承担的职责;

主题:IoT Gateway是关键,订阅MQTT Broker的topic,在其内部经过Converter、topic的处理,向TB发送topic,实现相应的业务。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分