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

相关推荐
彭泽布衣30 分钟前
阿里云云网络论文:Nezha,计算网络解耦下的vSwitch池化架构
网络·架构·转发·云计算网络·虚拟交换机
神的孩子都在歌唱2 小时前
网络常识:网线和光纤的区别
开发语言·网络·php
搬码临时工2 小时前
内网映射有什么作用,如何实现内网的网络地址映射到公网连接?
服务器·网络·数据库·mysql·电脑
格发许可优化管理系统3 小时前
Femap许可证与网络安全策略
网络·安全·web安全
karatttt3 小时前
用go从零构建写一个RPC(3)--异步调用+多路复用实现
网络·后端·rpc·架构·golang
如果能编程回忆4 小时前
思澈科技助力Keep Watch Pilot 1:重新定义智能运动手表体验
科技·单片机·物联网·开源
Junzeng_Kai5 小时前
网络:华为S5720-52X-SI交换机重置console密码
网络·华为
ywyy67985 小时前
短剧看广告APP系统开发:打造高效变现与用户体验双赢平台
大数据·网络·人工智能·小程序·短剧·广告联盟
s9123601016 小时前
网络协议:[0-RTT 认证 ]
网络·网络协议
wangchenggong19886 小时前
EMQX启用单向认证的SSl/TLS连接的配置步骤
网络·网络协议·ssl