最后一篇笔记了,写写实战吧
接线图就用官方的图片了,白嫖了几天课程,必须搞一张广告支持一下!
一、接好线了后,通过串口助手可以先测试
1、设置模式 AT+CWMODE=1
2、连接WIFI AT+CWJAP="NETGEAR","100ask.cq"
3、查询IP地址 AT+CIFSR
二、开启MQTT服务器
1、打开cmd,cd到安装目录
cd c:\Program Files\mosquitto
2、启动服务,记得带上参数
.\mosquitto.exe -c mosquitto.conf -v
显示.....running,如下图所示
三、下载移植好的MQTT程序
通过程序初始化配置好WIFI和密码,连接MQTT服务器
mqtt_set_port(c, "1883");
mqtt_set_host(c, "47.114.187.247");
mqtt_connect(c);
----------------------------------------
mqtt_connect_with_results(c);
----------------------------------------
c->mqtt_network->host = host;
c->mqtt_network->port = port;
network_connect(c->mqtt_network);
----------------------------------------
nettype_tcp_connect(n);
----------------------------------------
platform_net_socket_connect(n->host, n->port, PLATFORM_NET_PROTO_TCP);
----------------------------------------
char *ssid = "W201314H";
char *pwd = "heguobao";
ESP8266_SendCommand("AT+RST", "OK", 2000);
ESP8266_SendCommand("AT+CWMODE=1", "OK", 500);
sprintf(cmd, "AT+CWJAP=\"%s\",\"%s\"", ssid, pwd);
ESP8266_SendCommand(cmd, "OK", 5000);
ESP8266_SendCommand("AT+CIPCLOSE", "OK", 500);
sprintf(cmd, "AT+CIPSTART=\"TCP\",\"%s\",%s,0", host, port);
ESP8266_SendCommand(cmd, "OK", 5000);
ESP8266_GetIP();
四、检查状态&数据收发
当MQTT服务器检测到单片机通过ESP32接入时候,会提示相应的消息,
在初始化过程中有一段发布消息和订阅消息
mqtt_publish(client, "home", &msg);
mqtt_subscribe(client, "home", QOS0, smarthome_msg_handler);
服务器会提示收到发布消息和订阅消息的信息
上图所示,则显示成功接入服务器,并订阅主题
这时候可以打开客户端,发布消息
然后单片机通过串口打印可以看到收到客户端发来的消息
至此,实验成功!
最后再次感谢CCTV
感谢100ASK
感谢韦老师亲情奉献!↖(^ω^)↗