蓝牙模块改成wifi模块
时间: 2023-08-05 21:07:38 浏览: 304
好的,以下是修改后的代码,使用WiFi模块代替蓝牙模块进行通信:
```c
#include "stm32f10x.h"
#include "usart.h"
#include "dht11.h"
#include "esp8266.h"
#include "oled.h"
uint8_t temp, humi, threshold = 27;
char buffer[100];
void delay_ms(uint16_t ms)
{
while(ms--)
{
uint16_t i = 8000;
while(i--);
}
}
int main(void)
{
USART1_Config();
DHT11_Init();
ESP8266_Init();
OLED_Init();
OLED_ShowString(0, 0, "Group: XXX"); //在OLED上显示组名或组长名字
while(1)
{
DHT11_Read_Data(&temp, &humi);
sprintf(buffer, "Temperature: %d C, Humidity: %d %%", temp, humi);
OLED_ShowString(0, 2, buffer); //在OLED上显示温湿度数据
if(temp > threshold) //当温度高于阈值时,控制LED灯亮
{
GPIO_SetBits(GPIOB, GPIO_Pin_5);
}
else //否则关闭LED灯
{
GPIO_ResetBits(GPIOB, GPIO_Pin_5);
}
if(ESP8266_Available())
{
char c = ESP8266_Read();
if(c == '0') //调节阈值,+2
{
threshold += 2;
sprintf(buffer, "Threshold: %d C", threshold);
OLED_ShowString(0, 4, buffer);
}
else if(c == '1') //调节阈值,-2
{
threshold -= 2;
sprintf(buffer, "Threshold: %d C", threshold);
OLED_ShowString(0, 4, buffer);
}
}
delay_ms(3000); //延时3秒后重新获取温湿度数据
}
}
```
代码中,我们将蓝牙模块的初始化和操作函数改为了ESP8266模块的初始化和操作函数。其余代码与之前的版本相同。
注意:对于WiFi模块和OLED模块的具体操作,请参考它们的驱动代码。