找回密码
 注册

QQ登录

只需一步,快速开始

搜索

STM32 W5500 MQTT源程序 新手入门案例+文档

[复制链接]
路漫漫 发表于 2020-5-24 18:05:14 | 显示全部楼层 |阅读模式
对刚学MQTT的师兄有帮助
完整源码 STM32F103 W5500_MQTT.zip (1.47 MB, 售价: 1 E币)
MQTT在智能家居中的应用.pdf (1.39 MB, 售价: 1 E币)
部分源程序如下:
  1. #include "usart.h"
  2. #include "device.h"
  3. #include "spi2.h"
  4. #include "ult.h"
  5. #include "socket.h"
  6. #include "w5500.h"
  7. #include "24c16.h"
  8. #include "md5.h"
  9. #include "mqtt.h"
  10. #include <stdio.h>
  11. #include <string.h>
  12. #include <stdlib.h>

  13. extern uint8 txsize[];                                                                                // 引用外部变量,声明Socket发送缓存大小
  14. extern uint8 rxsize[];                                                                                // 引用外部变量,声明Socket接收缓存大小

  15. uint8_t domain_ip[4]={192,168,1,106};//115,29,225,215
  16. uint8_t domain_name[]="www.embed-net.com";

  17. uint8 buffer[2048];// 定义一个2KB的数组,用来存放Socket的通信数据

  18. int main(void)
  19. {
  20.         static char meassage[200];
  21.         int rc=0;
  22.   /***** MCU时钟初始化 *****/                                                         
  23.         Systick_Init(72);
  24.         /***** 中断控制器配置 *****/
  25.         NVIC_Configuration();
  26.         /*****TIM2 定时配置****/
  27.         TIM2_Configuration();
  28.         /* 实战定时器的中断优先级 */
  29.         TIM2_NVIC_Configuration();
  30.         /***** GPIO、SPI初始化 *****/
  31.         GPIO_Configuration();                       
  32.         WIZ_SPI_Init();
  33.         /***** 串口初始化 *****/
  34.         USART1_Init();
  35.         /***** 初始化eeprom *****/
  36.   at24c16_init();
  37.         /***** 硬重启W5500 *****/
  38.         Reset_W5500();
  39.         /***** W5500的IP信息初始化 *****/
  40.         set_default();// 设置默认MAC、IP、GW、SUB、DNS
  41.         set_network();// 配置初始化IP信息并打印,初始化8个Socket
  42.       
  43.         /***** 打开W5500的Keepalive功能 *****/
  44.         //setkeepalive(0);
  45.       
  46.         printf("W5500 Init Complete!\r\n");
  47.   printf("Start TCP Client Test!\r\n");

  48.   srand(0);      

  49.         while(1)
  50.         {
  51.                 if(rc==0)
  52.                 {
  53.                         memset(meassage,0,sizeof(meassage));
  54.                   do_mqtt_subscrib("wizled",meassage);//订阅主题pyboard_led
  55.                         rc++;
  56.                         printf("%d\n\r",rc);
  57.           }
  58.   }
  59. }
复制代码


您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|ELEOK |网站地图

GMT+8, 2024-4-26 22:50

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表