使用STM32与华为云IoT构建ESP8266-01S驱动的物联网音乐播放器方案:MQTT协议、EMQX消息转发与MP3解码的融合应用
本文将手把手教你使用 STM32F103C8T6 作为主控,通过 ESP8266-01S WiFi模块 接入华为云物联网平台,结合 EMQX企业级MQTT服务器 实现消息订阅与发布功能,最终驱动 MP3模块 完成云端音乐播放控制。项目融合了物联网通信协议、云端服务搭建、嵌入式音频控制三大核心技术,提供完整的源码和避坑指南。
项目成果展示我放在b站了: https://www.bilibili.com/video/BV14TRJYGESV/?share_source=copy_web&vd_source=12663136bc208dc12629e7b3253c4824

一、项目背景与技术选型
1.1 为什么选择华为云+EMQX?
二、硬件准备与接线
2.1 硬件清单
| 模块 | 型号/参数 |
|---|---|
| 主控芯片 | STM32F103C8T6(核心板) |
| WiFi模块 | ESP8266-01S(需烧录AT固件)3 |
| MP3模块 | Mini MP3 player(支持SD卡音频) |
2.2 接线
ESP8266-01S → STM32
TXD → PA3 (USART2_RX)
RXD → PA2 (USART2_TX)
VCC → 3.3V
GND → GND
Mini MP3 Player → STM32
RX → PA9 (USART1_TX)
TX -> PA10
VCC → 5V
GND → GND
三、华为云环境搭建
云服务器搭建和EMQX服务器配置可以看我的这篇博客:怎么搭建自己的云服务器(使用华为云+EMQX工具)实现mqtt协议消息的收发?-CSDN博客
我用的是华为云,如果你用其他云的话也是类似的,只需注意设置一下安全组,把1883,8883,8083,8084,18083这几个端口打开就好了,然后再下载emqx工具。
四、STM32代码设计(核心逻辑)
完整的代码我已经放在gitee上了,如果有需要的请自行下载,但是可能写的不是很好,也没有注释,大家凑合着看,可以用vscode的插件通义灵码辅助看代码。下面是gitee链接:
llue/WIFI Control MP3
如果觉得有用的话欢迎大家给我的项目一个star或者给我文章点点小赞。
结语
本项目通过 华为云+EMQX+STM32 的三层架构,实现了物联网音频控制的完整链路。读者可在此基础上扩展语音识别、播放列表管理等功能。如果对移植过程有疑问,欢迎评论区交流!
作者:llue51