Wiznet makers

Benjamin

Published August 05, 2024 ©

43 UCC

11 WCC

4 VAR

0 Contests

0 Followers

1 Following

Original Link

stm32f051-w5500-mqtt-pub-ex

Example/Demo code for MQTT Publication on STM32F051+W5500 Setup

COMPONENTS Hardware components

STMicroelectronics - STM32F051

x 1


WIZnet - W5500

x 1

Software Apps and online services

mqtt - MQTT

x 1


STMicroelectronics - STM32CubeIDE

x 1


PROJECT DESCRIPTION

This project demonstrates the implementation of an MQTT publisher using the STM32F051 microcontroller and the WIZnet W5500 Ethernet chip. It provides a robust solution for IoT and M2M communication by publishing messages to an MQTT broker.

Project Overview:

  • Microcontroller: STM32F051 ARM Cortex-M0 based MCU for low power and high performance.
  • Ethernet Chip: WIZnet W5500 handles TCP/IP stack operations.

Features:

  • MQTT Protocol: Uses Paho MQTT client library for lightweight messaging.
  • Network Configuration: W5500 ensures stable network connections.
  • Platform: Built with STM32CubeIDE for integrated development.

Functionality:

  • Initialization: Configures system clocks, GPIO, SPI, and UART.
  • Network Setup: Initializes W5500 and configures network settings.
  • MQTT Connection: Connects to MQTT broker and publishes messages periodically.
  • Network Stability: Checks and maintains Ethernet cable connection.

Key Code Snippets:

 

MQTT Connection and Publishing:

connect_data.clientID.cstring = "iotencew55";
NewNetwork(&network, 1);
if (ConnectNetwork(&network, destination_ip, destination_port) != SOCK_OK) while (1);
MQTTClientInit(&mqtt_client, &network, 1000, sendbuff, 256, receivebuff, 256);
if (MQTTConnect(&mqtt_client, &connect_data) != MQTT_SUCCESS) while (1);
while (1) {
    MQTTPublish(&mqtt_client, "test/topic1", &msg);
    HAL_Delay(1000);
}

Applications:

  • IoT Devices: For sending data to a central server or other devices.
  • M2M Communication: Enables devices to send data and commands efficiently.

GitHub Repository:

By providing a comprehensive example of integrating the STM32F051 microcontroller with the WIZnet W5500 Ethernet chip for MQTT communication, this project serves as a valuable resource for developers working on IoT and embedded systems projects, particularly those focused on data transmission and communication.

Documents
  • MQTT Publication

Comments Write