物联网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 Pi4 Model B
ADAFRUIT PYPORTAL TITANO - - ArduinoIDE,电路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加密)
设置PyPortal CircuitPython MQTT客户端测试应用程序
Pyportal测试应用程序有三部分:
1. MQTT客户端,订阅正在JEDI One上收集的现有传感器数据
2. 将传感器数据发布到JEDI One的MQTT客户端
3. 显示应用程序,将订阅的传感器数据打印到PyPortalTitano显示器
1 - 在PyPortal Titano上设置CircuitPython。参见链接CircuitPython |Adafruit PyPortal Titano | Adafruit Learning System (注意:本项目使用CircuitPython 6.3.0)
2 -安装应用程序所需的库,详情请参考 这里。
总结
machinechat的JEDI One数据管理软件和树莓派的结合,形成了一个独立的、低成本的、易于使用的物联网MQTTbroker 服务器平台。该平台可以很容易地将客户端设备进行配置,将数据订阅或发布到MQTT代理服务器的主题上,无需第三方云服务或互联网连接。通过这个平台,设备之间可以轻松互相通信和共享数据,从而实现智能化管理。
- 物联网
- 服务器
- MQTT
原文标题:三剑客!玩转MQTT broker服务器!
文章出处:【微信号:得捷电子DigiKey,微信公众号:得捷电子DigiKey】欢迎添加关注!文章转载请注明出处。
评论
发布评论请先 登录
相关推荐