基本信息
源码名称:基于ESP8266的MQTT无线传输代码(STM32)
源码大小:3.00M
文件格式:.zip
开发语言:C/C++
更新时间:2024-07-23
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

使用ESP8266和阿里云进行MQTT传输


#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "muart.h"
#include "usart.h"
#include "esp8266.h"
#include "string.h"
#include "cJSON.h"


char *a;
extern char USART_ReceiveString[1024];
extern unsigned char f;
float out1,out2;
unsigned char out3;
float o1,o2;
unsigned char o3;
 int main(void)
 {

cJSON  *json;
o1=22.5;
o2=8.2;
o3=0;
 
 
delay_init();     //延时函数初始化   
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先
muart_init();
ESP8266Mqttinit();
delay_ms(1000);
MQTT_TX_celiang(19.2,7.5,1);
delay_ms(1000);
MQTT_TX_led_init(0,0,0);
delay_ms(1000);
MQTT_TX_yuzhi(o1,o2,o3);
  delay_ms(1000);
MQTT_PUBTOPIC();
  while(1)
{

if(f)
{
a=strchr(USART_ReceiveString,'d');
a=strchr(a,'{');
json =cJSON_Parse(a);
if(json != NULL)
{
out1 = cJSON_GetObjectItem(json,"Ytemperature")->valueint;
out2 = cJSON_GetObjectItem(json,"Ymq2")->valueint;
out3 = cJSON_GetObjectItem(json,"Yren")->valueint;
if(out1>=0 && out1<=100) {o1=out1; MQTT_TX_yuzhi(o1,o2,o3);}
if(out2>=0 && out2<=10) {o2=out2; MQTT_TX_yuzhi(o1,o2,o3);}
if(out3 == 0 || out3 == 1) {o3=out3; MQTT_TX_yuzhi(o1,o2,o3);}

}

cJSON_Delete(json);
f=0;
}  
 }
}