当前位置: 首页 > news >正文

【物联网实战项目】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);}}
http://www.lryc.cn/news/357079.html

相关文章:

  • Pyhton 二叉树层级遍历
  • Flutter 中的 FadeTransition 小部件:全面指南
  • 缓存存储器:性能提升的关键
  • 『大模型笔记』工程师的LLMs简介!
  • Vue中的常用指令
  • 百度页面奔跑的白熊html、css
  • Day-02面向对象
  • Sentinel-2 哨兵二号数据介绍及下载
  • 阿里智能信息数据挖掘复盘
  • Flutter中图片是怎么在flutter上呈现出来的?
  • 使用 CNN 训练自己的数据集
  • 自动控制: 最小二乘估计(LSE)、加权最小二乘估计(WLS)和线性最小方差估计
  • 基于VMware安装Linux虚拟机
  • 6、phpjm混淆解密和php反序列化
  • Codeforces Round 909 (Div. 3) E. Queue Sort(模拟 + 贪心之找到了一个边界点)
  • 设计模式基础——设计原则介绍
  • 【校园网网络维修】当前用户使用的IP与设备重定向地址中IP不一致,请重新认证
  • 如何找到docker的run(启动命令)
  • Spring如何管理Bean的生命周期呢?
  • Java网络编程:UDP通信篇
  • HTML+CSS+JS简易计算器
  • STM32使用ST-LINK下载程序中需要注意的几点
  • 我和jetson-Nano的故事(12)——安装pytorch 以及 torchvision
  • 「异步魔法:Python数据库交互的革命」(一)
  • 探秘GPT-4o:从版本对比到技术能力的全面评价
  • 四川汇烁面试总结
  • 【小程序 按钮 表单 】
  • 高铁Wifi是如何接入的?
  • gitlab之docker-compose汉化离线安装
  • 【算法】dd爱转转