当前位置:   article > 正文

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

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");
	}
	
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

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的回应
} 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

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 输出高
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

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();
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

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");
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/719623
推荐阅读
相关标签
  

闽ICP备14008679号