商城网站建设制作,电子商务与网站平台建设的关系,普陀网站建设,沈阳做购物网站电话文章目录 1.给LED和KEY的所用IO增加配置项1.1 增加配置文件1.2 修改相应的c源码 2. 把mqtt\tcp的工程整合到一起2.1 在何处调用 mqtt_app_start() 3. 测试MQTT4. 完整的工程源码 有一段时间没有玩ESP32#xff0c;很多知识点都忘记了。今天测试一下MQTT#xff0c;做个笔记。… 文章目录 1.给LED和KEY的所用IO增加配置项1.1 增加配置文件1.2 修改相应的c源码 2. 把mqtt\tcp的工程整合到一起2.1 在何处调用 mqtt_app_start() 3. 测试MQTT4. 完整的工程源码 有一段时间没有玩ESP32很多知识点都忘记了。今天测试一下MQTT做个笔记。 这个是在《
ESP32存储配网信息LED显示配网状态按键清除配网信息》的工程下面增加 LED和KEY的所用IO增加配置项把IDF自带《examples》下面的《protocols\mqtt\tcp》整合进工程。
参考文章 1.作者荆棘谷555《基于ESP32的mqtt客户端测试及服务器搭建流程和踩坑指南》。 2.本人的《WINDOWS10环境下利用开源软件EMQX搭建MQTT服务器》。
1.给LED和KEY的所用IO增加配置项
1.1 增加配置文件
在 《smart_config\main》 文件夹下面增加 《Kconfig.projbuild》 文件: 该文件从文件夹《esp-idf\examples\protocols\mqtt\tcp\main》拷贝过来增加 执行工程全部清理命令 再次配置工程
1.2 修改相应的c源码
对用到LED和KEY的源码做相应的改动。 《main\smartconfig_button.c》
#ifdef CONFIG_GPIO_KEY_IO#define GPIO_KEY_IO CONFIG_GPIO_KEY_IO
#else#define GPIO_KEY_IO 0
#endif《main\smartconfig_led.c》
#ifdef CONFIG_WIFI_STATUS_LED_IO#define WIFI_STATUS_LED_GPIO CONFIG_WIFI_STATUS_LED_IO
#else #define WIFI_STATUS_LED_GPIO 2
#endif编译烧录运行一切正常。
2. 把mqtt\tcp的工程整合到一起
把文件夹《esp-idf\examples\protocols\mqtt\tcp\main》下面的 app_main.c拷贝到本工程并改名为smartconfig_mqtt.c。 修改同目录下的《CMakeLists.txt》,增加 smartconfig_mqtt.c 把smartconfig_mqtt.c中的主函数全部删除
void app_main(void) { … }
2.1 在何处调用 mqtt_app_start()
在smartconfig_main.c的主函数 app_main() 结尾处调用 mqtt_app_start() 这样会在wifi还没有连接时就启动MQTT影响wifi的联网速度。应该在wifi连接成功后才调用 mqtt_app_start() 。
3. 测试MQTT
参考《WINDOWS10环境下利用开源软件EMQX搭建MQTT服务器》搭建本地MQTT服务器。查得服务器IP地址为 192.168.110.55于是修改源码 订阅两个主题 /A/EMQ/set 和 /B/publish/1
A代表EMQX的网页客户端B代表mqtt.fx客户端。 两个客户端发布的数据都可以被ESP32接收到
4. 完整的工程源码
本着互相学习互相分享共同进步的精神能提供源码尽量提供源码。下面是码云的连接 《smart_config_mqtt》.