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

相关推荐
niaiheni27 分钟前
Fastjson 1.2.83 “Gadget-Free“ RCE
网络·安全·web安全
意疏41 分钟前
远程办公软件哪个安全性高?UU远程8项安全防线全覆盖
网络·安全
牛马之星1 小时前
气体涡轮流量计如何维护
网络·经验分享
MonolithIoT1 小时前
实战方案|设备备件无人值守仓库:连续化产线运维备件 7×24 小时数字化管控方案
运维·网络·数据库
三8442 小时前
BGP/GRE练习
网络
念恒123063 小时前
网络基础
linux·网络·c++
白山云北诗4 小时前
漏洞扫描+渗透测试:从资产摸底到风险验证,完成二次安全收口
网络·安全·web安全·渗透测试·漏洞扫描·ddos防护·cc防护
爱研究的小梁4 小时前
乾元通聚合路由及管理平台支持全面适配信创
网络·人工智能·信息与通信
KaMeidebaby5 小时前
卡梅德生物技术快报|bli亲和力检测gst:告别批量跑胶:BLI实时酶切监测技术加速GST融合蛋白下游流程优化
前端·网络·数据库·人工智能·算法