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

embedded/2024/9/25 21:27:16/

一、实物图

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

首先要确定接线图和接线顺序:
1、stm32c8t6开发板连接stlinkv2下载线

ST-LINK V2STM32
3.3V3.3V
SWDIOSWIO
SWCLKSWCLK
GNDGND

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

CH340底座
3.3V3.3V
RXDTXD
TXDRXD
GNDGND

3、https://open.iot.10086.cn/console/device/manage/devs
在onenet官网创建设备,名字地区随便写,创建成功后点击设备详情页面
在这里插入图片描述
4、产品开发栏进行添加属性
在这里插入图片描述
附上main.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);}}

http://www.ppmy.cn/embedded/47340.html

相关文章

微信小程序 画布canvas

属性说明 属性类型默认值必填说明最低版本typestring否指定 canvas 类型&#xff0c;支持 2d (2.9.0) 和 webgl (2.7.0)2.7.0canvas-idstring否canvas 组件的唯一标识符&#xff0c;若指定了 type 则无需再指定该属性1.0.0disable-scrollbooleanfalse否当在 canvas 中移动时且…

使用本地大语言模型和Langchain手搓免费的AI搜索问答助手

1 概述 大语言模型虽然已经有了很多的背景知识&#xff0c;但针对模型训练之后新产生的内容&#xff0c;或者领域内的知识进行提问&#xff0c;大模型本身通常无法准确给出回应&#xff0c;一个常用的解决方法是&#xff0c;借助检索增强生成&#xff08;RAG&#xff09;&…

【春秋云镜】Faculty Evaluation System未授权任意文件上传漏洞(CVE-2023-33440)

因为该靶场没有Write up,索性自己搞一下&#xff0c;方便别人&#xff0c;快乐自己&#xff01; 漏洞概述&#xff1a; Sourcecodester Faculty Evaluation System v1.0 is vulnerable to arbitrary code execution via /eval/ajax.php?actionsave_user. 漏洞复现&#xff…

与设备无关的I/O软件

目录 什么是设备无关的 I/O 软件&#xff1f; 设备无关的 I/O 软件的特征 设备无关的 I/O 软件的实现方法 设备无关的 I/O 软件的优势 设备无关 I/O 软件的好处 1. 一致的用户体验 2. 跨平台兼容性 3. 可访问性 4. 灵活性和可扩展性 5. 成本效率 6. 简化开发 示例分…

Discuz! X3.4发帖时间修改插件批量操作版

下载地址&#xff1a;Discuz! X3.4发帖时间修改插件批量操作版 发帖时间与回复时间说明 1、使用本插件修改发帖时间&#xff0c;则帖子中的回复楼层的时间会保持同步同间隔修改&#xff0c;所谓同步同间隔就是如果某个回复是在主题发布之后一小时回复的&#xff0c;那么修改之…

Altair® Inspire™ 加快仿真驱动设计,缩短产品上市时间

Inspire应用于产品开发生命周期的早期&#xff0c;通过协作加速了创新、结构高效的零件和装配体的创建、优化和研究。 Inspire 的用户体验屡获好评&#xff0c;用户可以在短短几个小时内掌握几何图形创建和修改操作&#xff0c;并且它还具有可靠的 Altair 求解器功能&#xff…

leetcode hot100 之 最长公共子序列

题目 给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 &#xff0c;返回 0 。 一个字符串的 子序列 是指这样一个新的字符串&#xff1a;它是由原字符串在不改变字符的相对顺序的情况下删除某些字符&#xff08;…

社区版IDEA 最好用的Diagrams替代插件

Diagrams 是专业版IDEA功能&#xff0c;能很方便的生成类图。但在社区版中要比较方便的生成类图&#xff0c;就比较麻烦&#xff0c;虽然插件有一些但都不好用。 经过各种尝试对比还是SimpleUML更好用&#xff0c;SimpleUML 不能通过IDEA的插件界面安装&#xff0c;只能离线安装…