原创

基于STM32实现mqtt与uniapp的联动

温馨提示:
本文最后更新于 2025年11月25日,已超过 14 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

一、项目简介

   项目使用的芯片有STM32F103ZET6,网络使用的有线网w5500,该芯片使用的SPI接口。

   程序框架使用的是STM32的hal库,片上外设使用到的SPI2,GPIO PG9和PD9作为w5500的片选和RST的触发引脚。

   mqtt服务器选择的EMQX,EMQX基于linux安装的教程比较多,我忘记我参考的什么了。

   app作为上位机使用的uniapp上vue2版本的项目,使用的mumu模拟器。

二、实现功能

    通过app发送mqtt的消息,stm32通过w5500使用mqtt进行接收。

   w5500的移植参考芯片提供的列程。

   uniapp使用的mqtt3.0.0。

   mqtt链接成功后在EMQX中可以看到当前的连接。


三、问题记录

  MQTT心跳超时问题。

  uniapp那里由于mqtt3.0.0和vue3项目冲突出现白屏,项目修改为vue2之后正常。

 这个博客网站MP4视频没办法播放,由于编码格式不一样,H264和H265编码存在差异修改了nginx的配置。

 

由于代码实现内容较多这里不放了,代码我放到gitee上了 https://gitee.com/lijunze94/bldc-montor,感兴趣的可以看下

如果有拉去了项目的,这里改成自己mqtt服务器的信息。

#ifndef __MQTT_H_
#define __MQTT_H_

// MQTT Connection Configuration
#define MQTT_SERVER_IP    {192, 168, 31, 70}
#define MQTT_CLIENT_ID    "ljz_test"
#define MQTT_USERNAME     "mqtt_t"
#define MQTT_PASSWORD     "YOU_PASSWORD"

#endif

最后的记录一下



正文到此结束