物联网 温湿度上传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宏函数定义

相关推荐
梁辰兴9 分钟前
计算机网络基础:P2P 文件分发的分析
网络·计算机网络·计算机·p2p·计算机网络基础·梁辰兴·文件分发分析
2601_9619633817 分钟前
从OCR到NLP:AI技术如何赋能电子合同智能审核与风险预警?
网络·人工智能·安全·金融·智能合约
CJH(本人账号)23 分钟前
大模型的“越狱“之路:从DAN到多模态注入,AI安全边界正在崩塌
网络·人工智能·安全
爱讲故事的24 分钟前
计算机网络第 5 章复习:Network Layer Control Plane(网络层控制平面)
网络·计算机网络·平面
云边云科技_云网融合37 分钟前
AI 网关:重新定义网络边界的智能大脑
网络·人工智能
阿正的梦工坊1 小时前
【Rust】16-async/await、Future 与执行器模型
网络·算法·rust
带土11 小时前
12. UDP协议概述
网络·网络协议·udp
仙俊红1 小时前
理解网络中的“监听端口”:从 netstat 输出说起
网络
华纳云IDC服务商1 小时前
高防服务器清洗流量导致丢包怎么办?
运维·服务器·网络
草莓熊Lotso1 小时前
【Linux网络】深入理解 TCP 协议(一):报头设计与可靠性基石
linux·运维·服务器·c语言·网络·c++·tcp/ip