毕业设计 基于STM32的OneNet物联网环境检测系统

1、项目简介

1.1 系统构成

本设计由STM32F103C8T6单片机核心板电路+温湿度传感器电路+烟雾传感器+ESP8266 WIFI模块+光照传感器BH1750构成。

1.2 系统功能

  • 通过stm32单片机,实时采集温湿度、光照强度、烟雾浓度数据,并将数据实时上传至OneNet物联网云平台。

1.3 演示视频

2、部分电路设计

2.1 STM32单片机核心系统电路设计

STM32单片机最小系统电路由复位电路、时钟电路和电源电路。拥有这三部分电路后,单片机即可正常工作。

单片机最小系统原理图如下图所示:

2.2 ESP8266简介

1、ESP8266 简介(无线通信模块WIFI模块)

  • ESP8266 系列模组是安信可(Ai-thinker)公司采用乐鑫ESP8266芯片开发的一系列wifi 模组模块。

2、ESP8266相关功能:

  • 将客户端发来的数据转发到串口;
  • 串口数据转发给所有客户端
  • 可连接4个客户端
  • 可设置静态IP地址
  • 指示灯闪烁表示无客户端连接,灯亮代表有客户端连接

实物图如下图所示:

3、部分代码展示

3.1 发送数据到OneNET物联网云平台

void OneNet_SendData(void)
{
	
	MQTT_PACKET_STRUCTURE mqttPacket = {NULL, 0, 0, 0};												//协议包
	
	char buf[256];
	
	short body_len = 0, i = 0;
	
	UsartPrintf(USART_DEBUG, "Tips:	OneNet_SendData-MQTT\r\n");
	
	memset(buf, 0, sizeof(buf));
	
	body_len = OneNet_FillBuf(buf);																	//获取当前需要发送的数据流的总长度
	
	if(body_len)
	{
		if(MQTT_PacketSaveData(DEVID, body_len, NULL, 5, &mqttPacket) == 0)							//封包
		{
			for(; i < body_len; i++)
				mqttPacket._data[mqttPacket._len++] = buf[i];
			
			ESP8266_SendData(mqttPacket._data, mqttPacket._len);									//上传数据到平台
			UsartPrintf(USART_DEBUG, "Send %d Bytes\r\n", mqttPacket._len);
			
			MQTT_DeleteBuffer(&mqttPacket);															//删包
		}
		else
			UsartPrintf(USART_DEBUG, "WARN:	EDP_NewBuffer Failed\r\n");
	}
	
}

3.2 温湿度传感器DHT11初始化

u8 DHT11_Init(void)
{	 
 	GPIO_InitTypeDef  GPIO_InitStructure;
 	
 	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);	 //使能PG端口时钟
	
 	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;				 //PA4端口配置
 	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		 //推挽输出
 	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 	GPIO_Init(GPIOA, &GPIO_InitStructure);				 //初始化IO口
 	GPIO_SetBits(GPIOA,GPIO_Pin_5);						 //PG11 输出高
			    
	DHT11_Rst();  //复位DHT11
	return DHT11_Check();//等待DHT11的回应
} 

3.3 光照传感器BH1750初始化

void bh1750_iic_init(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;
	RCC_APB2PeriphClockCmd(	RCC_APB2Periph_GPIOB, ENABLE );	//使能GPIOB时钟
	   
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_9;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ;   //推挽输出
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOB, &GPIO_InitStructure);
	GPIO_SetBits(GPIOB,GPIO_Pin_8|GPIO_Pin_9); 	//PB6,PB7 输出高
}

3.4 烟雾传感器初始化

void Smog_Init(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//使能PORTF时钟	
	
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;			//PA1 anolog输入
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;		//模拟输入引脚
	GPIO_Init(GPIOA, &GPIO_InitStructure);	
	Adc_Init();
}

3.4 ESP8266初始化

void ESP8266_Init(void)
{
  GPIO_WriteBit(GPIOA, GPIO_Pin_4, Bit_RESET);
  delay_ms(250);
  GPIO_WriteBit(GPIOA, GPIO_Pin_4, Bit_SET);
  delay_ms(500);

  ESP8266_Clear();

  UsartPrintf(USART_DEBUG, "1. AT\r\n");
  while(ESP8266_SendCmd("AT\r\n", "OK"))
  delay_ms(500);

  UsartPrintf(USART_DEBUG, "2. CWMODE\r\n");
  while(ESP8266_SendCmd("AT+CWMODE=1\r\n", "OK"))
  delay_ms(500);

  UsartPrintf(USART_DEBUG, "3. CWJAP\r\n");
  while(ESP8266_SendCmd(ESP8266_WIFI_INFO, "GOT IP"))
  delay_ms(500);

  UsartPrintf(USART_DEBUG, "4. CIPSTART\r\n");
  while(ESP8266_SendCmd(ESP8266_ONENET_INFO, "CONNECT"))
  delay_ms(500);

  UsartPrintf(USART_DEBUG, "5. ESP8266 Init OK\r\n");
}
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 基于STM32的二维码识别OneNet物联网云仓库系统是我毕业设计的主题。 本系统使用STM32开发板和相应的模块,结合OneNet物联网平台,实现对仓库中商品的二维码识别和管理。系统的设计包括硬件部分和软件部分。 硬件方面,我选择使用STM32开发板作为主控制器,配合摄像头模块进行图像采集。通过串口或者USB接口连接OneNet物联网平台,实现数据的传输。此外,我还会加入一些传感器模块,如温湿度传感器,用于监测仓库环境。 软件方面,我将使用C语言编程,基于HAL库来驱动STM32开发板和相应的模块。通过摄像头模块获取仓库中商品的二维码信息,然后通过串口或者USB将数据发送给OneNet物联网平台进行识别和存储。同时,我还会设计一个用户界面,方便用户查看仓库中商品的信息和状态。 系统的工作流程如下:摄像头模块不断扫描仓库中的二维码,将识别到的信息发送给STM32开发板;STM32开发板通过串口或者USB将数据发送给OneNet物联网平台;OneNet物联网平台接收到数据后,进行二维码识别和存储;用户可以通过用户界面访问OneNet物联网平台,查看仓库中商品的信息和状态。 这个系统的应用前景广阔。以二维码为识别标识,可以提高仓库商品的管理效率。同时,结合物联网平台,可以实现远程监控和管理仓库。 ### 回答2: 基于STM32的二维码识别OneNet物联网云仓库系统是一种利用STM32单片机实现的毕业设计项目。该系统旨在通过扫描二维码进行物联网设备的识别和管理,并将实时数据上传至OneNet物联网云平台。 在该系统中,通过STM32单片机与二维码识别模块的结合,能够快速高效地读取二维码上的信息。通过扫描二维码后,STM32将获取到的数据通过串口或网络模块上传给OneNet物联网云平台物联网云仓库系统的核心功能包括设备识别和管理。在设备识别方面,系统能够通过扫描二维码获取设备的唯一标识符,并通过OneNet平台获取该设备的详细信息。同时,系统还能够实现设备的状态监测和报警功能,提高仓库管理的效率和安全性。 在设备管理方面,系统能够实时监测设备的工作状态和数据变化,并将数据上传至OneNet平台。通过OneNet平台的数据分析功能,可以对设备进行远程控制和管理。同时,系统还支持对设备的扩展和管理,方便后续的仓库扩大或设备更换。 基于STM32的二维码识别OneNet物联网云仓库系统具有简洁的硬件结构和高效的数据传输能力。它可以实现仓库设备的智能管理和监控,提高仓库管理的效率和质量。 ### 回答3: 基于STM32的二维码识别OneNet物联网云仓库系统将利用STM32微控制器和二维码技术来实现物联网云仓库管理系统。这个系统的核心目标是实现仓库中商品的自动记录、管理和查询,并通过OneNet平台实现数据的实时监控和远程控制。 系统的硬件部分主要由STM32微控制器、二维码扫描模块、电机驱动模块和传感器模块等组成。首先,二维码扫描模块将负责将商品的二维码进行扫描并解析出商品的相关信息。接着,STM32微控制器将通过串口将解析出的信息传输到OneNet平台上。 软件部分主要由STM32的嵌入式程序、OneNet平台的云服务以及PC端的管理软件构成。STM32的嵌入式程序将负责二维码扫描模块的控制、数据的处理和上传。一旦商品被扫描,系统会将商品的信息发送到OneNet平台上,并根据实时数据更新仓库的商品存储情况。同时,OneNet平台会提供实时的仓库数据监控和查询功能,以便用户能够在PC端进行即时的掌控和管理。 通过基于STM32的二维码识别OneNet物联网云仓库系统,用户可以实现对仓库中商品的远程监控和管理,无需直接接触商品,提高了仓库的管理效率和准确性。此外,通过实时的云数据传输,仓库的存储和发货信息可以实时同步,降低了人工差错的风险。同时,系统还具备可扩展性,可以根据需求进行各种功能的扩展,如温湿度传感器的接入、库存预警等。整体上,这个系统极大地简化了仓库管理的流程,提高了效率,为用户提供了更好的使用体验。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式基地

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值