三剑客!玩转MQTT broker服务器!

时间:2024-08-08来源:Digikey

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

项目概述:

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

JEDI One包括一个数据收集器,可以将其配置为MQTT broker 服务器,外部客户机设备可以向其发布和(或)订阅JEDI One上的主题。为了测试MQTT broker 服务器,将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有效负载格式提供订阅消息。

所需软件

实现

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

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

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

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

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

1. MQTT客户端,订阅正在JEDI One上收集的现有传感器数据2. 将传感器数据发布到JEDI One的MQTT客户端3. 显示应用程序,将订阅的传感器数据打印到PyPortal Titano显示器1 - 在PyPortal Titano上设置CircuitPython。 参见链接 CircuitPython |Adafruit PyPortal Titano | Adafruit Learning System(注意:本项目使用CircuitPython 6.3.0)

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

 总结

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

关键词: Digikey MQTT

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版