MQTTPoE Unit
MQTTPoE Unit 是一款专为 MQTT 通信设计的以太网通信模块。它支持 PoE 供电并内置 W5500 以太网芯片,可实现与以太网网络的无缝连接。该模块还包含 UART 通信接口,支持通过 AT commands 进行控制。此外,它集成了 RJ45 自适应 10/100M 网络端口,便于进行网络连接。
备注
PoE 版本集成了 PoE 供电,负载能力为 1.2A@5V(6W)。
支持以下产品:
MicroPython 应用示例
import os, sys, io
import M5
from M5 import *
from unit import MQTTPoEUnit
import time
def mqtt_0_SubTopic_event(data):
global mqttpoe_0
print(data[0])
print(data[1])
mqttpoe_0 = MQTTPoEUnit(port=(18, 17))
mqttpoe_0.set_client('m5-mqtt-2024', 'mqtt.m5stack.com', 1883, '', '', 120)
mqttpoe_0.set_subscribe('SubTopic', mqtt_0_SubTopic_event, 0)
mqttpoe_0.set_connect()
while True:
mqttpoe_0.check_msg()
time.sleep_ms(50)
UiFlow2 应用示例:
class MQTTPoEUnit
“”
- class MQTTPoEUnit(port=(, ))
创建一个 MQTTPoEUnit 对象
- 参数为:
portuart 引脚元组,包含:(tx_pin, rx_pin)。
UIFLOW2:

Methods
- MQTTPoEUnit.set_client(client_id, server, port=0, username=None, password=None, keepalive=0)
- 参数:
UIFLOW2:

- MQTTPoEUnit.set_connect()
连接到服务器。
UIFLOW2:

- MQTTPoEUnit.set_disconnect()
断开与服务器的连接,并释放资源。
UIFLOW2:

- MQTTPoEUnit.set_publish(topic, msg, qos=0)
发布一条消息。
- 参数:
UIFLOW2:

- MQTTPoEUnit.set_subscribe(topic, handler, qos=0)
订阅一个主题。
- 参数:
备注
使用该积木块时,“MQTT connect” 积木块必须设置在该积木块之后
服务器一次只能订阅 4 个主题。
UIFLOW2:

一个用于显示已收到消息的处理程序:
def mqtt_0_SubTopic_event(data): print("topic:", data[0]) print("msg:", data[1])
在 UiFlow2 上,你可以通过
和
获取当前处理器的 topic 和 message。
- MQTTPoEUnit.check_msg()
重要
check_msg()是“主循环迭代”方法,提供阻塞与非阻塞版本。它们应在循环中周期性调用;如果你没有其他需要在前台执行的任务(即你的应用仅对已订阅的 MQTT 消息作出响应),则使用check_msg()。请注意,如果您只发布消息,则无需调用
check_msg()。检查服务器消息。
UIFLOW2:

- MQTTPoEUnit.check_modem_is_ready()
检查与 MQTT 单元的通信是否成功。
返回:
bool:True 或 False
UIFLOW2:

- MQTTPoEUnit.get_firmware_version()
获取当前固件版本号。
Return:
string
UIFLOW2:

- MQTTPoEUnit.get_baudrate()
获取模块当前的波特率,默认波特率为 9600。
返回:
int:4800、9600、19200、34800、115200、230400
UIFLOW2:

- MQTTPoEUnit.get_network_status()
用于检查网络状态是否已连接或已断开。
返回:
int:0 ~ 1
UIFLOW2:

- MQTTPoEUnit.get_network_parameters(param)
获取模块当前实际的 IP 地址、子网掩码、网关和 DNS 服务器。
- 参数为:
param:IP 地址 = 0,子网掩码 = 1,网关 = 2,DNS 服务器 = 3。
UIFLOW2:

- MQTTPoEUnit.get_mac_address()
获取模块当前的 MAC 地址,MAC 地址格式为:XX-XX-XX-XX-XX-XX。
返回:
string:”XX-XX-XX-XX-XX-XX”
UIFLOW2:

- MQTTPoEUnit.get_static_ip(param)
获取模块当前实际的 IP 地址、子网掩码和网关。
- 参数为:
param:IP 地址 = 0,子网掩码 = 1,网关 = 2,DNS 服务器 = 3。
UIFLOW2:

- MQTTPoEUnit.get_dhcp_status()
获取查询 DHCP 启用/禁用状态
返回:
int:1:启用,0:禁用
UIFLOW2:

- MQTTPoEUnit.set_dhcp_state(state)
设置启用/禁用 DHCP
- 参数为:
state:禁用 = 0,使能 = 1。
UIFLOW2:

- MQTTPoEUnit.set_static_ip(ip, subnet, gateway)
设置 MQTT 模块的静态 IP 地址。
备注
当启用 DHCP 功能时,将不会启用静态 IP 设置。
- 参数为:
ip: “xxx.xxx.xxx.xxx”
subnet: “xxx.xxx.xxx.xxx”gateway: “xxx.xxx.xxx.xxx”
UIFLOW2:


