ESP32S3 AP+MQTT Broker
ESP32S3 APMQTT Broker文章目录ESP32S3 APMQTT BrokerESP32S3的作为Broker的代码ESP8266 设备1 发布端ESP8266 设备2订阅端ESP32S3的作为Broker的代码需要安装 “PicoMQTT”#includeWiFi.h#includePicoMQTT.h// AP热点配置constchar*AP_SSIDESP32S3_MQTT_AP;constchar*AP_PASSWORDmqtt123456;IPAddressapIP(192,168,4,1);IPAddressgateway(192,168,4,1);IPAddresssubnet(255,255,255,0);// 自定义 Broker 类重写 on_messageclassMyMQTTServer:publicPicoMQTT::Server{public:usingServer::Server;// 继承基类构造函数protected:// 重写消息处理函数基类中是 protected virtualvoidon_message(constchar*topic,PicoMQTT::IncomingPacketpacket)override{Serial.println(----------------------------------------);Serial.print(主题: );Serial.println(topic);// 使用 available() 和 read() 读取载荷Stream 标准方法Serial.print(消息内容: );while(packet.available()){charc(char)packet.read();// read() 返回 intSerial.print(c);}Serial.println();Serial.println(----------------------------------------);}};// 创建自定义 Broker 实例默认端口 1883MyMQTTServer mqttServer;voidsetup(){Serial.begin(115200);delay(100);WiFi.mode(WIFI_AP);WiFi.softAPConfig(apIP,gateway,subnet);WiFi.softAP(AP_SSID,AP_PASSWORD);Serial.println( ESP32-S3 MQTT Broker AP );Serial.print(热点名称);Serial.println(AP_SSID);Serial.print(热点密码);Serial.println(AP_PASSWORD);Serial.print(Broker地址);Serial.println(WiFi.softAPIP());Serial.println(MQTT端口1883);Serial.println();mqttServer.begin();Serial.println(MQTT Broker 运行就绪等待设备接入);}voidloop(){mqttServer.loop();delay(50);}ESP8266 设备1 发布端#includeESP8266WiFi.h#includePicoMQTT.hconstchar*WIFI_SSIDESP32S3_MQTT_AP;constchar*WIFI_PASSWORDmqtt123456;constchar*MQTT_BROKER_IP192.168.4.1;constuint16_tMQTT_BROKER_PORT1883;PicoMQTT::Client mqtt;// 消息回调可选用于接收自己的消息voidon_message(constchar*topic,constchar*payload){Serial.printf(收到消息 [主题: %s] 内容: %s\n,topic,payload);}voidsetup(){Serial.begin(115200);delay(100);WiFi.mode(WIFI_STA);WiFi.begin(WIFI_SSID,WIFI_PASSWORD);Serial.print(正在连接 WiFi);while(WiFi.status()!WL_CONNECTED){delay(500);Serial.print(.);}Serial.println(\nWiFi 已连接IP: WiFi.localIP().toString());// 订阅可选mqtt.subscribe(test/topic,on_message);mqtt.connect(MQTT_BROKER_IP,MQTT_BROKER_PORT,ESP8266_Client,nullptr,nullptr,nullptr,nullptr,0,0,false,true,nullptr);Serial.println(MQTT 客户端已启动);Serial.println(请在串口输入消息按回车发送到 test/topic);}voidloop(){mqtt.loop();// 检查串口是否有输入if(Serial.available()){String payloadSerial.readStringUntil(\n);// 读取整行payload.trim();// 去除首尾空格/换行if(payload.length()0){mqtt.publish(test/topic,payload.c_str());Serial.printf(已发布: %s\n,payload.c_str());}}delay(10);}ESP8266 设备2订阅端#includeESP8266WiFi.h#includePicoMQTT.hconstchar*WIFI_SSIDESP32S3_MQTT_AP;constchar*WIFI_PASSWORDmqtt123456;constchar*MQTT_BROKER_IP192.168.4.1;constuint16_tMQTT_BROKER_PORT1883;PicoMQTT::Client mqtt;// 消息回调voidon_message(constchar*topic,constchar*payload){Serial.printf([订阅者] 收到消息 - 主题: %s, 内容: %s\n,topic,payload);}voidconnect_mqtt(){boolconnectedmqtt.connect(MQTT_BROKER_IP,MQTT_BROKER_PORT,ESP8266_Subscriber,// 唯一客户端 IDnullptr,nullptr,nullptr,nullptr,0,0,false,true,nullptr);if(connected){Serial.println(MQTT 连接成功);// 连接成功后订阅主题mqtt.subscribe(test/topic,on_message);// 明确订阅发布者使用的主题mqtt.subscribe(#,on_message);// 保留通配符用于调试}else{Serial.println(MQTT 连接失败请检查 Broker 是否运行);}}voidsetup(){Serial.begin(115200);delay(100);WiFi.mode(WIFI_STA);WiFi.begin(WIFI_SSID,WIFI_PASSWORD);Serial.print(正在连接 WiFi);while(WiFi.status()!WL_CONNECTED){delay(500);Serial.print(.);}Serial.println(\nWiFi 已连接IP: WiFi.localIP().toString());connect_mqtt();}voidloop(){mqtt.loop();// 如果断开尝试重连if(!mqtt.connected()){Serial.println(MQTT 断开尝试重连...);connect_mqtt();delay(1000);}delay(10);}

相关新闻

暗黑破坏神2存档编辑器:从游戏玩家到存档艺术家的蜕变之路

暗黑破坏神2存档编辑器:从游戏玩家到存档艺术家的蜕变之路

暗黑破坏神2存档编辑器:从游戏玩家到存档艺术家的蜕变之路 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 你是否曾经因为一次误操作丢失了辛苦培养的角色?或者想要尝试不同的角色Build却苦于重新练级的漫…

2026/6/29 19:51:10阅读更多 →
记录无人机音乐指令

记录无人机音乐指令

将音乐指令复制到链接 firmware.ardupilot.org/Tools/ToneTester firmware.ardupilot.org/Tools/ToneTester/#MFT200L4<<<B#A#2 可以打开按下play tone按键听一下效果 有兴趣的同学可以找AI写一段超级玛丽试试

2026/6/29 19:51:10阅读更多 →
LED驱动电源厂家筛选要点与行业经验沉淀

LED驱动电源厂家筛选要点与行业经验沉淀

在太阳能控制器、一体化光源及智能控制系统领域&#xff0c;LED驱动电源作为核心能量转换与驱动模块&#xff0c;其品质直接决定了终端照明系统的稳定性、寿命与使用成本。本文基于行业实操经验&#xff0c;从技术规范、工艺指标、应用适配等维度&#xff0c;系统梳理LED驱动电…

2026/6/29 19:51:10阅读更多 →
企业级API成本治理框架(基于OpenAI官方Billing API+Prometheus+Cost Allocation Tagging)——仅限首批200家SaaS公司内部验证

企业级API成本治理框架(基于OpenAI官方Billing API+Prometheus+Cost Allocation Tagging)——仅限首批200家SaaS公司内部验证

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ChatGPT API 费用计算的核心原理与计量模型 ChatGPT API 的计费并非基于会话时长或请求数量&#xff0c;而是严格依据模型实际处理的 token 数量进行精确计量。每个 API 请求的输入&#xff08;prompt&…

2026/6/29 21:12:19阅读更多 →
OpCore-Simplify:基于智能引擎的OpenCore EFI自动化配置系统

OpCore-Simplify:基于智能引擎的OpenCore EFI自动化配置系统

OpCore-Simplify&#xff1a;基于智能引擎的OpenCore EFI自动化配置系统 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify OpCore-Simplify是一款专为解…

2026/6/29 21:12:19阅读更多 →
2026深度实测|Trae与Cursor怎么选?真实Vibe Coding迭代对比指南

2026深度实测|Trae与Cursor怎么选?真实Vibe Coding迭代对比指南

我的工作流是 AI 辅助 人工审核&#xff0c;所以 AI 编程工具的代码质量直接决定我的审核成本。我长期实测5款主流AI编程工具后&#xff0c;重点对比Work 模式&#xff08;原 SOLO 模式&#xff09;与 Cursor Composer 的真实编码表现&#xff0c;帮大家精准适配开发场景。作为…

2026/6/29 21:12:19阅读更多 →
低速与高速电路设计:别再只看频率,边沿才是关键

低速与高速电路设计:别再只看频率,边沿才是关键

本篇博客将为你一次性讲透—— 低速电路和高速电路的设计到底有什么本质区别&#xff1f; 如何区分低速信号与高速信号&#xff1f; 二者分别需要关注哪些不同的问题&#xff1f; 一、区分低速信号与高速信号 先抛结论&#xff1a;区分低速和高速信号的决定性因素是信号的…

2026/6/29 21:12:19阅读更多 →
python爬虫实战项目|第99篇:爬虫系统国际化与多语言支持

python爬虫实战项目|第99篇:爬虫系统国际化与多语言支持

一、国际化概述 国际化(Internationalization,简称i18n)是指设计和开发软件,使其能够轻松适应不同语言和地区的需求。对于爬虫系统来说,国际化支持尤为重要,因为数据来源可能遍布全球。 关键概念: 国际化(i18n):设计软件使其支持多语言 本地化(l10n):为特定语言…

2026/6/29 21:12:19阅读更多 →
gt-checksum v4.0.0 新功能解读系列文章(3):反向回滚 SQL

gt-checksum v4.0.0 新功能解读系列文章(3):反向回滚 SQL

功能简介genRollSQL 是 gt-checksum v4.0.0 新增的核心参数&#xff0c;配合 maxRollRowNum 和 rollFileDir 一起使用&#xff0c;用于在生成修复 SQL 的同时自动生成反向回滚 SQL。参数说明参数默认值可选值说明genRollSQLOFFON / OFF / 自定义表名控制是否生成回滚 SQLmaxRol…

2026/6/29 21:07:17阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月&#xff0c;Boris Cherny 公开宣布自己卸载了 IDE。一时间&#xff0c;Vibe Coding 成了全行业最热的话题。6个月后&#xff0c;当我们回过头来拉一份真实账本&#xff0c;发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/6/29 3:27:55阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言&#xff1a;审计结束三个月了&#xff0c;审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间&#xff0c;内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中&#xff0c;审计…

2026/6/29 2:19:08阅读更多 →
如何在3秒内从普通图片生成专业级法线贴图:DeepBump的终极指南

如何在3秒内从普通图片生成专业级法线贴图:DeepBump的终极指南

如何在3秒内从普通图片生成专业级法线贴图&#xff1a;DeepBump的终极指南 【免费下载链接】DeepBump Normal & height maps generation from single pictures 项目地址: https://gitcode.com/gh_mirrors/de/DeepBump 还在为3D建模中的纹理制作而烦恼吗&#xff1f;…

2026/6/29 0:01:47阅读更多 →
OCAuxiliaryTools:终极OpenCore配置工具,让黑苹果安装从未如此简单!

OCAuxiliaryTools:终极OpenCore配置工具,让黑苹果安装从未如此简单!

OCAuxiliaryTools&#xff1a;终极OpenCore配置工具&#xff0c;让黑苹果安装从未如此简单&#xff01; 【免费下载链接】OCAuxiliaryTools Cross-platform GUI management tools for OpenCore&#xff08;OCAT&#xff09; 项目地址: https://gitcode.com/gh_mirrors/oc/OCA…

2026/6/29 0:01:47阅读更多 →
终极Windows 11精简指南:使用tiny11builder快速创建纯净系统镜像

终极Windows 11精简指南:使用tiny11builder快速创建纯净系统镜像

终极Windows 11精简指南&#xff1a;使用tiny11builder快速创建纯净系统镜像 【免费下载链接】tiny11builder Scripts to build a trimmed-down Windows 11 image. 项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder 你是否厌倦了Windows 11系统自带的20…

2026/6/29 0:01:47阅读更多 →