【物联网实战项目】STM32C8T6+esp8266/mqtt+dht11+onenet+uniapp

一、实物图


前端uniapp效果图(实现与onenet同步更新数据)

首先要确定接线图和接线顺序:

1、stm32c8t6开发板连接stlinkv2下载线

ST-LINK V2 STM32
3.3V 3.3V
SWDIO SWIO
SWCLK SWCLK
GND GND

2、ch340串口连接底座(注意RXD和TXD的连接方式)

CH340 底座
3.3V 3.3V
RXD TXD
TXD RXD
GND GND

3、https://open.iot.10086.cn/console/device/manage/devs

在onenet官网创建设备,名字地区随便写,创建成功后点击设备详情页面

4、产品开发栏进行添加属性

附上main.c一部分代码文件

c 复制代码
//单片机头文件
#include "stm32f10x.h"

//网络协议层
#include "onenet.h"

//网络设备
#include "esp8266.h"

//硬件驱动
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "key.h"
#include "dht11.h"
#include "oled.h"

//C库
#include <string.h>

#define ESP8266_ONENET_INFO		"AT+CIPSTART=\"TCP\",\"mqtts.heclouds.com\",1883\r\n"

void Hardware_Init(void);
void Display_Init(void);
void Refresh_Data(void);

u8 temp,humi;

/*
************************************************************
*	函数名称:	main
*
*	函数功能:	
*
*	入口参数:	无
*
*	返回参数:	0
*
*	说明:		
************************************************************
*/
int main(void)
{
	
	unsigned short timeCount = 0;	//发送间隔变量
	
	unsigned char *dataPtr = NULL;
	
	Hardware_Init();				//初始化外围硬件
	
	ESP8266_Init();					//初始化ESP8266


//	UsartPrintf(USART_DEBUG, "Connect MQTTs Server...\r\n");
	OLED_Clear(); OLED_ShowString(0,0,"Connect MQTTs Server...",16);
	while(ESP8266_SendCmd(ESP8266_ONENET_INFO, "CONNECT"))
		DelayXms(500);
//	UsartPrintf(USART_DEBUG, "Connect MQTT Server Success\r\n");
	OLED_ShowString(0,4,"Connect MQTT Server Success",16); DelayXms(500);

	OLED_Clear(); OLED_ShowString(0,0,"Device login ...",16);
	while(OneNet_DevLink())			//接入OneNET
	{
		ESP8266_SendCmd(ESP8266_ONENET_INFO, "CONNECT");
		DelayXms(500);
	}
		

	OneNET_Subscribe();
	
	Display_Init();
	while(1)
	{

		if(++timeCount >= 100)									//发送间隔5s
		{
			DHT11_Read_Data(&temp,&humi);
			
//			UsartPrintf(USART_DEBUG, "OneNet_SendData\r\n");
			OneNet_SendData();									//发送数据
			
			timeCount = 0;
			ESP8266_Clear();
		}
		
		dataPtr = ESP8266_GetIPD(0);
		if(dataPtr != NULL)
			OneNet_RevPro(dataPtr);
		
		Refresh_Data();
		
		DelayMs(10);
	
	}

}
相关推荐
Oflycomm1 小时前
智能网联汽车渗透率攀升至38.4%,Wi-Fi 7 + 蓝牙6.0如何重塑车载无线连接?
物联网·plc·车联网·wifi7·智能网联汽车·蓝牙6.0
乐橙开放平台9 小时前
养老 SaaS 笔记:setMessageCallback 事件桥接 + msgType 映射 P0/P1,先 ACK 再分流值班流
笔记·物联网·音视频·智能家居
电子科技圈9 小时前
Semtech将于2026年国际物联网展(IOTE 2026)举办 LoRa®全球生态论坛
物联网·网络安全·健康医疗·制造·零售·iot·交通物流
我不管我就要叫小猪10 小时前
STM32——SPI
stm32·单片机·嵌入式硬件
宠友信息10 小时前
内容社区源码开发实践解析,用Spring Boot打造1:1仿小红书源码平台
java·spring boot·redis·websocket·mysql·spring·uni-app
捷瑞电子工坊10 小时前
深入理解CMSIS内核函数:__disable_irq() 与 __enable_irq()
stm32·嵌入式系统·cmsis·中断控制·临界区保护
码视野11 小时前
基于 Vue3 + Element Plus 的【基于物联网的智慧居家养老健康关怀与紧急医疗呼叫系统】设计与实现(附完整源码与PRD)
人工智能·物联网·vue3
LCG元12 小时前
【实战】STM32 从零实现 Modbus RTU 从站:寄存器映射、CRC 校验与串口中断解析
stm32·单片机·嵌入式硬件
旭华智能sunvua12 小时前
餐饮油烟物联网智能监测解决方案
物联网
梦曦i12 小时前
Vue-Router 2.4.0 新增可控重定向功能
前端·uni-app