物联网MQTT broker服务器的设置步骤

描述

Q A &

问:用树莓派、PyPortal Titano和machinechat JEDI One设置和测试MQTT broker服务器

项目概述:

本项目使用machinechat的 JEDIOne 物联网数据管理软件在树莓派4上设置了一个物联网MQTTbroker 服务器。

JEDI One包括一个数据收集器,可以将其配置为MQTT broker 服务器,外部客户机设备可以向其发布和(或)订阅JEDI One上的主题。为了测试MQTTbroker 服务器,将Adafruit PyPortal Titano设置为客户端设备,该设备通过WiFi订阅和发布树莓派上的MQTT broker 服务器。

Raspberry Pi 4 Model B

ADAFRUIT PYPORTAL TITANO - - Arduino IDE,电路Python入门套件

项目背景

MQTT(消息队列遥测传输) 是一个开放的OASIS和ISO标准,它定义了轻量级发布-订阅网络协议,用于在设备之间传输消息。主要包括两种类型的网络实体:一个消息代理和一些客户端。machinechat的JEDI One物联网平台包括一个数据收集器,可以配置为MQTT消息代理。外部客户机设备可以配置为在JEDI One上发布数据或订阅主题(包括从任何来源进入JEDI One的所有数据,而不仅仅是MQTT)。JEDI One要求发布消息采用JSON有效负载格式,并以JSON有效负载格式提供订阅消息。

所需软件

JEDIOne:是一款即用型物联网数据管理软件解决方案。功能包括:收集来自传感器、设备和机器的数据;构建直观的实时和历史数据以及系统视图仪表板;创建规则,自动监控和响应数据情况;通过电子邮件和短信接收警报通知。

CircuitPython:是Adafruit的MicroPython分支,旨在简化低成本微控制器的实验和教育。不需要编译器、链接器或IDE。

实现

在这个项目中,JEDI One应用程序已经预先安装在树莓派上,并且已经通过HTTP数据收集器接收了来自外部传感器的数据。接着设置了JEDI OneMQTT数据收集器。为了对系统进行了测试,PyPortal Titano被配置为订阅和发布MQTT broker服务器上的主题,而CircuitPython则用于在PyPortal上实现应用程序代码。

JEDI One MQTT broker 服务器设置步骤:

1 - 如果machinechat JEDI One尚未安装在树莓派上,请参见以下内容:

获得树莓派版本的JEDI One DK-JEDIONE-RP

安装在树莓派上,参见 树莓派-安装JEDI One服务

2 - 配置MQTT broker 服务器

在JEDI One“数据收集器”选项卡中,选择“添加收集器”并进行配置。命名“数据收集器”,并为“收集器类型”选择“MQTT Broker”。MQTT采集器设置截图中的“监听IP”是JEDI One树莓派的IP地址,“监听端口”是1883。(注:以下是未加密配置的示例,但可以按照machinechat产品指南-如何生成TLS证书和密钥中所示的方式配置TLS加密)

MQTT

设置PyPortal CircuitPython MQTT客户端测试应用程序

Pyportal测试应用程序有三部分:

1. MQTT客户端,订阅正在JEDI One上收集的现有传感器数据

MQTT

2. 将传感器数据发布到JEDI One的MQTT客户端

MQTT

3. 显示应用程序,将订阅的传感器数据打印到PyPortalTitano显示器

MQTT

1 - 在PyPortal Titano上设置CircuitPython。参见链接CircuitPython |Adafruit PyPortal Titano | Adafruit Learning System (注意:本项目使用CircuitPython 6.3.0)

2 -安装应用程序所需的库,详情请参考 这里。

总结

machinechat的JEDI One数据管理软件和树莓派的结合,形成了一个独立的、低成本的、易于使用的物联网MQTTbroker 服务器平台。该平台可以很容易地将客户端设备进行配置,将数据订阅或发布到MQTT代理服务器的主题上,无需第三方云服务或互联网连接。通过这个平台,设备之间可以轻松互相通信和共享数据,从而实现智能化管理。

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

全部0条评论

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

×
20
完善资料,
赚取积分