点击上方“嘉友创信息科技”,选择关注,干货福利,第一时间奉上。
smartConfig配网后,进入用户任务,实用组合。
用户任务启动http request和MQTT client
实现配网后http获取苏州天气,mqtt推送给手机
MQTT参考:手机MQTT控制ESP32指示灯
http基础参考:《ESP32开发指南V1.2》,http章节
此处只适配esp-idf v4.3.1,知识点相同
【先smartConfig配网,然后请求http获取天气,连MQTT服务器,订阅和发布】
HTTP获取天气接口配置
//http组包宏,获取天气的http接口参数
HTTP请求包
//http请求包
static const char *REQUEST = "GET "WEB_URL""APIKEY"&location="city"&language="language" HTTP/1.1\r\n"
"Host: "WEB_SERVER"\r\n"
"Connection: close\r\n"
"\r\n";
MQTT初始化:域名、端口、账号、密码
static void mqtt_app_start(void)
{
esp_mqtt_client_config_t mqtt_cfg = {
.host = "www.jiauc.com",
.port = 1883,
.username = "admin",
.password = "123456",
};
esp_mqtt_client_handle_t client = esp_mqtt_client_init(&mqtt_cfg);
esp_mqtt_client_register_event(client, ESP_EVENT_ANY_ID, mqtt_event_handler, client);
esp_mqtt_client_start(client);
}
组mqtt包把天气信息发送给手机
//组mqtt包把天气信息发送给手机
strcat(mqtt_tx_buf, "city:");
strcat(mqtt_tx_buf, weathe.cit);
strcat(mqtt_tx_buf, ";weather:");
strcat(mqtt_tx_buf, weathe.weather_text);
strcat(mqtt_tx_buf, ";temperatur:");
strcat(mqtt_tx_buf, weathe.temperatur);
mqtt_sub(mqtt_tx_buf);
工程目录结构
首次使用,等待smartConfig配网;
http请求应答,解析天气,MQTT推送给手机;
谢谢关注,下期更精彩。
收藏、点赞、在看一键三连
-- END --