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

相关推荐
IT猿手5 小时前
实现NAPT、Easy-IP、NATserver、NATstatic
网络
Dev_XH5 小时前
【成品设计】物联网防酒驾控制系统
物联网
迪康Defender6 小时前
终端供应链安全:应用白名单与软件正版化检测落地|终端安全治理实践
运维·服务器·网络·安全·web安全·自动化·运维开发
码间留白6 小时前
uni-app 跑上鸿蒙,发现蓝牙全瞎:我把 BLE 补齐的实战(一)基建篇
物联网·uniapp·harmonyos next·蓝牙 ble·鸿蒙os开发
xiaoye-duck8 小时前
《C++ 项目:手写大模型接入 SDK》DeepSeek接口设计(下):流式响应实现和测试
开发语言·网络·c++·语言模型
其实防守也摸鱼8 小时前
信创安全竞赛知识总结与题库
大数据·网络·人工智能·算法·安全·php
万联WANFLOW8 小时前
异地厂区视频监控远程运维:从组网到安全的实施要点
运维·网络·安全·企业组网·sdwan
衍玊9 小时前
深入剖析 TCP/IP 网络通信原理与内核实现
服务器·网络·tcp/ip
.Bryce.9 小时前
从零到一开发技术名词大全:从需求分析到 AI Agent 工程
java·网络·人工智能·agent·需求分析·agent评测
Black蜡笔小新11 小时前
上云网关/端口穿透/设备上云EasyNTS:无需公网IP、也不改防火墙,设备怎么从内网跑到外网去
网络·网络协议·tcp/ip