TIM APP Inventor 2+STM32+ESP8266实现局域网互传数据功能(1)

3 篇文章 0 订阅

ESP8266使用初始化配置局域网程序

一、将ESP8266模块与串口模块相连

在这里插入图片描述

二、发送AT指令配置ESP8266

  1. 发送AT(ESP8266波特率默认115200)

    如果返回OK则继续下一步,一次不成功可以多发几次,但如果仍然不成功可能就是ESP8266模块坏了。

  2. 发送AT+CWMODE=2

    设置WIFI模块的工作模式为AP模式。

  3. 发送 AT+CWSAP=“ATKESP8266”,“134134134”,1,4

    设置WIFI模块的用户名为“ATKESP8266”

    密码为“134134134”

    通道为1

    加密方式为WPA_WPA2_PSK

  4. 发送AT+RST

    重启设备

  5. 发送AT+CIPMUX=1

    设置为多连接模式

  6. 发送AT+CIPSERVER=1,8086

    开启server模式,通道号为8086

  7. 发送AT+CIPSTO=2880

    设置服务器超时时间为2880s

  8. 发送AT+CIFSR

    获取本地IP地址

​三、TCP客户端给ESP8266模块发送数据

首先打开网络调试助手按照右图配置 在这里插入图片描述
然后作为TCP客户端给ESP8266模块发送数据

在这里插入图片描述

​四、ESP8266g给客户端0号发送数据

用串口助手发送AT+CIPSEND=0,5
发送五位数据:45612

在这里插入图片描述

五、总结

做到这一步说明ESP8266作为局域网的配置基本完成,ESP8266模块使用正确,下一节我们只需将这些AT指令用STM32编写代码依次发送即可实现自动配置。
串口助手和网络调试助手以及AT指令的相关资料均可到此处下载:link.

  • 1
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的STM32+ESP8266温湿度PWM控制风扇的main函数示例,供您参考: ```c #include "stm32f10x.h" #include "esp8266.h" #include "dht11.h" #define FAN_PIN GPIO_Pin_12 #define FAN_PORT GPIOB int main(void) { // 初始化时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); // 初始化GPIO GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = FAN_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(FAN_PORT, &GPIO_InitStructure); // 初始化定时器 TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeBaseStructure.TIM_Period = 5999; TIM_TimeBaseStructure.TIM_Prescaler = 719; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); // 初始化PWM TIM_OCInitTypeDef TIM_OCInitStructure; TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_Pulse = 0; TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OC3Init(TIM3, &TIM_OCInitStructure); // 启动定时器 TIM_Cmd(TIM3, ENABLE); TIM_CtrlPWMOutputs(TIM3, ENABLE); // 初始化ESP8266 ESP8266_Init(); // 初始化DHT11 DHT11_Init(); while (1) { // 获取温湿度数据 DHT11_Read_Data(); float temperature = DHT11_Data[2]; float humidity = DHT11_Data[0]; // 将温度和湿度发送到服务器 char buf[64]; sprintf(buf, "AT+CIPSEND=0,%d\r\n", strlen(buf)); ESP8266_Send_AT_Command(buf); sprintf(buf, "Temperature: %.2f C, Humidity: %.2f %%", temperature, humidity); ESP8266_Send_Data(buf); // 根据温度和湿度控制风扇 if (temperature > 25.0) { TIM_OCInitStructure.TIM_Pulse = 3000; TIM_OC3Init(TIM3, &TIM_OCInitStructure); } else if (humidity > 60.0) { TIM_OCInitStructure.TIM_Pulse = 2000; TIM_OC3Init(TIM3, &TIM_OCInitStructure); } else { TIM_OCInitStructure.TIM_Pulse = 0; TIM_OC3Init(TIM3, &TIM_OCInitStructure); } // 等待10秒 Delay(10000); } } ``` 这个main函数中包含了以下几个主要步骤: 1. 初始化时钟和GPIO,使能PWM输出引脚,初始化定时器和PWM输出模式。 2. 初始化ESP8266模块,连接WiFi网络。 3. 初始化DHT11温湿度传感器,读取温湿度数据。 4. 将温湿度数据发送到服务器。 5. 根据温湿度数据控制风扇的PWM输出,实现温湿度控制风扇的功能。 6. 等待一段时间后重复上述步骤。 需要注意的是,这个示例代码中的ESP8266和DHT11驱动函数需要自行实现

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值