利用MQTT控制STM32的小灯

之前我们通过MQTTX控制ESP8266开关灯
ESP8266阿里云开关灯
这一节我们用MQTT控制STM32的小灯。

原理 :ESP8266接收到MQTT消息后,利用串口发送给STM32
STM32的代码就是串口控制代码,只不过在这个转口几经周折,从阿里云服务器到MQTT到ESP8266再到STM32的串口

代码分为两个部分,中转站ESP8266,最终处理STM32

ESP8266部分代码:

记得改WIFI 和服务器

#include <ESP8266WiFi.h>
#include <PubSubClient.h>
#define LED D0 // GPIO引脚别名 仅使用于NodeMCU开发板

//默认使用'$'符号作为调试信息输出的标识
//默认使用'#'符号作为控制信息的标识开头

const char *WIFI_SSID = "xxxxx";     // WIFI名称
const char *WIFI_PASS = "xxxx"; // WIFI密码

const char *MQTT_BROKER = "xxxx"; // MQTT服务器地址
const int MQTT_PORT = 1883;             // MQTT服务端口
const char *CLIENT_ID = "c001";         //客户端ID
const char *PUBLISH_TOPIC = "pub01";    //发布的topic
const char *SUBSCRIBE_TOPIC = "sub01";  //订阅的topic

void callback(char *topic, uint8_t *message, unsigned int length); //回调函数声明,用于传入mqtt客户端构造函数作为参数

WiFiClient wifiClient;
//参数: MQTT服务器地址,端口号,回调函数名,承载的连接(WIFI)
PubSubClient mqttClient(MQTT_BROKER, MQTT_PORT, callback, wifiClient);

//回调函数
void callback(char *topic, uint8_t *message, unsigned int length)
{
   
   // MQTT_doPublishOnDefaultTopic("$Received message:");
    String sTopic = topic; //将topic转换为String 可以加以处理

    
  • 7
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值