关键词: 物联网,MQTT broker,开发板
问:用树莓派、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 服务器。
背景
MQTT(消息队列遥测传输) 是一个开放的OASIS和ISO标准,它定义了在设备之间传输消息的轻量级发布-订阅网络协议。它包括两种类型的网络实体:一个消息代理和一些客户端。machinechat的JEDI One物联网平台包括一个数据收集器,可以配置为MQTT消息代理。外部客户机设备可以配置为在JEDI One上发布数据或订阅主题(主题包括从任何来源进入JEDI One的所有数据,而不仅仅是MQTT)。JEDI One要求发布消息采用JSON有效负载格式,并以JSON有效负载格式提供订阅消息。
软件
- JEDI One
- 是一款即用型物联网数据管理软件解决方案。功能包括:收集来自传感器、设备和机器的数据;构建直观的实时和历史数据以及系统视图仪表板;创建规则,自动监控和响应数据情况;通过电子邮件和短信接收警报通知。
- CircuitPython
- 是Adafruit的MicroPython分支,旨在简化低成本微控制器的实验和教育。不需要编译器、链接器或IDE。
对于该项目,JEDI One应用程序先前已安装在树莓派上,并设置了HTTP数据收集器并接收外部传感器数据。然后设置JEDI One MQTT数据收集器。为了测试系统,将PyPortal Titano配置为订阅和发布MQTT broker 服务器上的主题。CircuitPython用于在PyPortal上实现应用程序代码。
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测试应用程序有三部分:
- 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 broker 服务器平台上的主题,而不需要第三方云服务或互联网连接。
更多物联网相关技术内容, 请参考下面帖子:
- 开始使用 machinechat 的 JEDI One 物联网平台
- 在哪里可以了解有关物联网的更多信息
- 物联网术语
- 如何在蜂窝网络上打开 nRF9160 FEATHER 物联网开发板
- LattePanda高性能AI开发板系列功能解析及示例
******
如有任何问题,欢迎联系得捷电子DigiKey客服团队。
中国(人民币)客服
- 400-920-1199
- service.sh@digikey.com
- QQ在线实时咨询 |QQ号:4009201199
中国(美金)/ 香港客服
- 400-882-4440
- 8523104-0500
- china.support@digikey.com
到微信搜寻“digikey”或“得捷电子”
关注我们官方微信
并登记成会员,
每周接收工程师秘技,
赚积分、换礼品、享福利