物联网 温湿度上传onenet

串口调试助手的结果图如下

onenet上连接结果如下

main.c 函数核心代码如下

步骤

①先初始化mqtt ②connect mqtt ③publish

cs 复制代码
#include "sys.h"
#include "delay.h"
#include "led.h"
#include "uart1.h"
#include "dht11.h"
#include "esp8266.h"
#include "onenet.h"


int main(void)
{
    HAL_Init();                         /* 初始化HAL库 */
    stm32_clock_init(RCC_PLL_MUL9); /* 设置时钟, 72Mhz */
    led_init();
    uart1_init(115200);
    esp8266_init(115200);
    printf("hello world!\r\n");
    
    printf("MQTT初始化...\r\n");
    mqtt_init();
    
    printf("MQTT连接...\r\n");
    mqtt_connect(MQTT_ClientID,MQTT_UserName,MQTT_PassWord);  //第一个参数为客户端标识符(设备名) 第二个参数为用户名(产品名) 第三个参数为密码(token)
    
    uint8_t data_send[512] = {0};
    uint8_t dht11_data[4] = {0};
    while(1)
    { 
        memset(dht11_data,0,4);
        dht11_read(dht11_data);
        sprintf((char *)data_send,"{\"id\":\"1386772172\",\"version\":\"1.0\",\"params\":{\"CurrentTemperature\":{\"value\":%d.%d},\"CurrentHumidity\":{\"value\":%d.%d}}}",dht11_data[2],dht11_data[3],dht11_data[0],dht11_data[1]);
        
        mqtt_publish_data(POST_TOPIC,(char *)data_send,0);
        delay_ms(3000);
        printf("\r\n ^^^^^^^^^^^^^^^^^^^^发送心跳包^^^^^^^^^^^^^^^^^^^^\r\n");
        mqtt_send_heart();
        printf("\r\n ^^^^^^^^^^^^^^^^^^^^发送心跳包结束^^^^^^^^^^^^^^^^^^^^\r\n");
        

    }
}


  

主要更改的代码部分时宏函数

①onenet.h 的宏函数更改

②esp8266.h宏函数定义

相关推荐
降临-max1 分钟前
JavaSE---网络编程
java·开发语言·网络·笔记·学习
赖small强26 分钟前
【Linux 网络基础】libwebsockets HTTPS 服务端实现机制详解
linux·网络·https·tls·libwebsockets
大白的编程日记.1 小时前
【计算网络学习笔记】MySql的多版本控制MVCC和Read View
网络·笔记·学习·mysql
一川_1 小时前
前端跨界破壁:用Web技术打造智能报工系统——扫码、称重与多协议打印实战
物联网
shmexon3 小时前
上海兆越亮相无锡新能源盛会,以硬核通信科技赋能“能碳未来”
网络·人工智能
玩转以太网3 小时前
W55MH32 单芯片以太网方案:破解分布式 IO 三大痛点
分布式·物联网
Lay_鑫辰4 小时前
西门子诊断-状态和错误位(“轴”工艺对象 V1...3)
服务器·网络·单片机·嵌入式硬件·自动化
车载测试工程师4 小时前
CAPL学习-IP API函数-2
网络·学习·tcp/ip·capl·canoe
Xの哲學5 小时前
Linux 指针工作原理深入解析
linux·服务器·网络·架构·边缘计算
无垠的广袤6 小时前
【工业树莓派 CM0 NANO 单板计算机】本地部署 EMQX
linux·python·嵌入式硬件·物联网·树莓派·emqx·工业物联网