WIZnet W5300-TOE MQTT 发布和订阅 (micropython)

WIZnet W5300-TOE MQTT 使用 Nucleo-f429zi 发布和订阅

转发: WIZnet W5300-TOE MQTT publish and Subscribe (micropython)


项目介绍

这些部分将指导您完成一系列步骤,从配置开发环境到使用 STM32f429zi (nuleo-f429zi) 和 W5300-TOE 运行以太网示例 基本设置请参阅“入门”指南

https://github.com/Wiznet/W5300-TOE-MicroPython/blob/main/static/GettingStart.md

硬件要求

以太网示例使用基于 STM32 MCU 构建的 NUCLEO-F429ZI 和 WIZnet 的 W5300 以太网芯片。 如果您使用其他STM板,LIST中支持STMicroelectronics micropython的板,并检查该板是否支持FMC 16位数据

W5300-TOE

* W5300-TOE Shield产品页面尚不支持,提供后我会添加。 W5300产品页面是 Here

NUCLEO-F429ZI

STM32F429ZI 本文档基于 STM32F429ZI。 如果您使用其他STM板,请将其编辑到您的硬件配置中。

  • FMC 数据引脚(0-8 或 0-16)
  • FMC 地址引脚 (0-10)
  • FMC 控制 GPIO 引脚(NE、NWE、NOE)
  • WIZChip 控制 GPIO 引脚(INT、RST)
  • UART3 引脚(连接到 ST-LINK)——更改为使用 Nucleoboard 上的 FMC。
  • 引脚 D8、D9 -> 引脚 C10、C11

===================================================================

Wiznet5K(wiznet 产品的 micropython 库)

W5300 不包含在 microthon 提供的固件中。 所以你必须使用WIZnet提供的FW。

W5300 WIZNET5K FW的下载和编辑请参考官网入门指南(点击这里)

===================================================================

第1步:准备软件

MQTT Publish 测试需要以下串行终端程序,请从以下链接下载并安装。

在 2.0 之前的 Mosquitto 版本中,默认情况下允许客户端无需身份验证即可连接。 在 2.0 及更高版本中,您必须在客户端连接之前明确选择身份验证选项。 因此,如果您使用的是 2.0 或更高版本,请参阅以下链接在 Mosquitto 安装目录中设置“mosquitto.conf”。

Authentication Methods

步骤 2: 准备硬件

  • 结合 WIZnet W5300-TOE 以太网扩展板和 NUCLEO-F429ZI STM 板
  • 将以太网电缆连接到 W5300-TOE 以太网端口。
  • 使用 5 针微型 USB 电缆将 NUCLEO-F429ZI 连接到台式机或笔记本电脑。

步骤 3:设置 MQTT 发布示例

要测试 MQTT 发布示例,应在代码中完成细微设置。

在这里获取基本代码:https://github.com/Wiznet/W5300-TOE-MicroPython/tree/main/example/MQTT

检查 [‘配置解释器…] 中的 COMport,然后打开 Thonny Python IDE。

  • 将 umqttsimple 库代码复制到其中。 您可以通过以下链接访问 umqttsimple 库代码 (点击这里)
  • 如果MicroPython官方开放的[umqttsimple.py]不起作用,请使用链接中的代码 (点击这里)

初始化以太网接口和配置。 打开示例代码以在 main() 中设置[网络信息]

nic.ifconfig(('IP Address', 'Netmask', 'Gateway', 'DNS'))

from wiznet_conf import wiznet5k_w5300
		...

def main():
    w5300=wiznet5k_w5300()
    w5300.w5300_set_ip('192.168.11.104','255.255.255.0','192.168.11.1','8.8.8.8')
    ...
  • 在 MQTT 配置中,[代理 IP] 地址是[您桌面的 IP]。
#mqtt config
mqtt_server = '192.168.1.11'
client_id = 'wiz'
topic_pub = b'hello'
topic_msg = b'Hello Wiznet'

last_message = 0
message_interval = 5
counter = 0

def mqtt_connect():
    client = MQTTClient(client_id, mqtt_server, keepalive=60)
    client.connect()
    print('Connected to %s MQTT Broker'%(mqtt_server))
    return client
  • 将使用 MQTT 发布。
#MQTT Publish
def main():

    try:
        client = mqtt_connect()
    except OSError as e:
        reconnect()
    
    while True:
        client.publish(topic_pub, topic_msg)
        time.sleep(3)
        
    client.disconnect()

步骤 4 :上传并运行 MQTT 发布

通过执行以下命令使用 mosquitto 创建代理。 如果代理正常创建,代理的IP地址是您的台式机或笔记本电脑的当前IP,端口默认为1883。

mosquitto -c mosquitto.conf -p 1883 -v

如果 MQTT 发布示例在带有 W5300-TOE 的 NUCLEO-F429ZI 上正常运行,您可以看到 W5300-TOE 的网络信息,连接到代理并发布消息。

使用上述命令订阅代理。 订阅者将收到来自经纪人的消息。

mosquitto_sub -h 192.168.1.11 -t hello

步骤 5:设置MQTT订阅示例

要测试 MQTT 订阅示例,应在代码中完成细微设置。

*** thonny 设置和 main() 与发布相同

将使用 MQTT 订阅。

#subscribe
def main():

    try: 
        client = mqtt_connect()
    except OSError as e:
        reconnect()

    while True:
        client.subscribe(topic_sub)
        time.sleep(1)

    client.disconnect()


 

文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值