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

一、实物图

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

前端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);
	
	}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/651443.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何理解 Java 类和对象

Java 中的类和对象是学习 Java 编程的基础之一。类是 Java 中的核心概念之一&#xff0c;它提供了一种组织和封装数据以及相关行为的方式。对象是类的实例&#xff0c;它是在运行时创建的&#xff0c;具有特定的状态和行为。 类和对象的概念 1. 类&#xff08;Class&#xff…

访问构造方法(反射)

文章目录 前言一、反射是什么&#xff1f;二、访问构造方法 1.Constructor对象的获取方法2.Constructor方法的使用总结 前言 Java的反射机制可以实现访问、检测和修改Java对象本身信息的功能&#xff0c;在java.lang.reflect包下提供此功能。可以使程序员更加深入地控制程序的运…

缓存降级

当Redis缓存出现问题或者无法正常工作时,需要有一种应对措施,避免直接访问数据库而导致整个系统瘫痪。缓存降级就是这样一种机制。 主要的缓存降级策略包括: 本地缓存降级 当Redis缓存不可用时,可以先尝试使用本地进程内缓存,如Guava Cache或Caffeine等。这样可以减少对Redis…

如何在工信部教考中心官网查询PG证书

1.第一步&#xff1a;进入工业和信息化部教育与考试中心官网 2.第二步&#xff1a;点击最右边“证书查询” 3.点击“工业和信息化部教育与考试中心培训评价证书查询” 4.在该页面按照如下方式进行证书查询&#xff1a;输入您的证件号码和您的证书号码以及姓名&#xff0c;点…

十四天学会Vue——Vue核心(理论+实战)中篇(第二天)

声明&#xff1a;是接着上篇讲的哦&#xff0c;感兴趣可以去看一看~ 这里一些代码就不写了&#xff0c;为了缩减代码量&#xff0c;大家知道就可以了&#xff1a; Vue.config.productionTip false //阻止 vue 在启动时生成生产提示。热身小tips&#xff0c;可以安装这个插件&…

免费wordpress中文主题

免费大图wordpress主题 首页是一张大图的免费wordpress主题模板。简洁实用&#xff0c;易上手。 https://www.jianzhanpress.com/?p5857 免费WP模板下载 顶部左侧导航条的免费WP模板&#xff0c;后台简洁&#xff0c;新手也可以下载使用。 https://www.jianzhanpress.com/…

idea改了代码,但是需要紧急切换分支,需要把改动的保存到本地

但是如果有冲突&#xff0c;你没有合并&#xff0c;那也会丢哦&#xff01; 改完那个分支&#xff0c;回到这个分支然后弹出来再。

WGCLOUD使用下发指令重启安卓设备

wgcloud的下发命令很好使&#xff0c;可以下发很多命令&#xff0c;最好的是可以选择很多主机同时下发命令 这里我想重启下我的安卓设备&#xff0c;只需要下发一个命令&#xff1a; bash reboot 就好啦 如下图

微信公众号完成自动回复,自定义菜单

微信公众号完成自动回复&#xff0c;自定义菜单 首先要获取到微信公众号的开发者权限&#xff0c;这一步省略&#xff0c;可以自行百度 微信公众号对接自己的服务器 首先第一步需要有自己的服务器和固定的ip&#xff0c; 其中&#xff0c;80/443端口需要有其中一个&#xff0…

按尺寸筛选轮廓图中的轮廓

1.按短边筛选 原始轮廓图&#xff1a; import cv2 import numpy as np# 读取轮廓图 contour_image cv2.imread(..\\IMGS\\pp_edge.png, cv2.IMREAD_GRAYSCALE)# 使用cv2.findContours()函数获取所有轮廓 contours, _ cv2.findContours(contour_image, cv2.RETR_EXTERNAL, cv2…

据阿谱尔APO Research调研显示,2023年全球绝缘栅双极晶体管(IGBT)市场销售额约为89.9亿美元

根据阿谱尔 (APO Research&#xff09;的统计及预测&#xff0c;2023年全球绝缘栅双极晶体管&#xff08;IGBT&#xff09;市场销售额约为89.9亿美元&#xff0c;预计在2024-2030年预测期内将以超过14.7%的CAGR&#xff08;年复合增长率&#xff09;增长。 由于各行业对电力电子…

XSKY CTO 在英特尔存储技术峰会的演讲:LLM 存储,架构至关重要

5 月 17 日&#xff0c;英特尔存储技术峰会在北京顺利举办。作为英特尔长期的合作伙伴&#xff0c;星辰天合受邀参加了此次峰会。星辰天合 CTO 王豪迈作为特邀嘉宾之一&#xff0c;作了主题为《LLM 存储&#xff1a;架构至关重要》的演讲&#xff0c;分享了大语言模型&#xff…

jmeter发送webserver请求和上传请求

有时候在项目中会遇到webserver接口和上传接口的请求&#xff0c;大致参考如下 一、发送webserver请求 先获取登录接口的token&#xff0c;再使用cookie管理器进行关联获取商品(webserver接口)&#xff0c;注意参数一般是写在消息体数据中&#xff0c;消息体有点像HTML格式 执…

Java整合EasyExcel实战——2 导出复杂表头

详情代码 实体类 Data public class ComplexHeadData {ExcelProperty({"主标题", "字符串标题"})private String string;ExcelProperty({"主标题", "日期标题"})private Date date;ExcelProperty({"主标题", "数字标…

(2024,DDDM,ODE,少量步生成,迭代生成)直接去噪扩散模型

Directly Denoising Diffusion Model 公众号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 3. 直接去噪扩散模型 3.1. 迭代求解 4. Psuedo-LPIPS 指标 5. 实验 7. 讨论和局限性 0. 摘…

大模型时代的具身智能系列专题(二)

李飞飞团队 李飞飞是华人在AI领域最具影响力的学者之一&#xff0c;她是斯坦福大学人工智能实验室&#xff08;SAIL&#xff09;教授&#xff0c;美国国家工程院院士&#xff0c;知名CV数据集ImageNet的牵头人&#xff0c;斯坦福视觉与学习实验室&#xff08;SVL&#xff09;的…

2024.05.27学习记录

1、面经复习&#xff1a; 实际工作经验章节 2、代码随想录刷题&#xff1a;动态规划剩下部分和单调栈 3、rosebush 组件库完成Input 和 AutoComplete部分内容

长难句打卡5.27

In fact, allowing non-lawyers to own shares in law firms would reduce costs and improve services to customers, by encouraging law firms to use technology and to employ professional managers to focus on improving firms’efficiency. 事实上&#xff0c;这通过…

can设备调试 - linux driver

这篇文章主要介绍can设备的调试相关信息&#xff0c;不具体介绍驱动的实现。 如果驱动写完&#xff0c;对can设备进行验证&#xff0c;可能会出现很多不可预见的问题。下面说说验证步骤 验证can设备可以使用工具can-utils。这个工具包中会有cansend candump等程序。可以直接通…

视频监控技术前沿探索:智能化趋势与EasyCVR视频汇聚技术应用

在数字化时代的浪潮中&#xff0c;视频监控技术以其独特的优势&#xff0c;正在安防领域书写着新的篇章。它不仅为公共安全部门提供了强大的技术支持&#xff0c;还深入到教育、政府、娱乐、医疗、酒店、运动等多个领域&#xff0c;成为维护社会秩序、保障人民安全的重要工具。…