200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > wifi模块连接远程服务器 ESP8266 WIFI 模块与 Arduino 串口通信实现远程控制

wifi模块连接远程服务器 ESP8266 WIFI 模块与 Arduino 串口通信实现远程控制

时间:2022-11-25 23:48:24

相关推荐

wifi模块连接远程服务器 ESP8266 WIFI 模块与 Arduino 串口通信实现远程控制

前几年,入手了一块 ESP8266 的板子。当时也没想太多,反正买了一大包东西,感觉这个好便宜,顺手就拍下了。。。

后来几经调试。又是连接串口,又是查询 AT 指令,觉得很麻烦。

最主要的问题,还是在于买了盗版货,不支持固件更新。试了无数遍,很气。索性放下,去搞别的了。

ESP8266模块实图.jpg

最近比较闲,重新拾起来。既然无法刷入固件,引出的 GPIO 又少,不如配合 Arduino,做个支持多路连接的“蓝牙”得了。当个远程遥控,也算简单实用。

引脚分布图

ESP8266模块引脚分布图.png

至于线路连接,Fritizing 中没有找到这种型号的模块图,就不上图了(懒得自己做,也不会)。

本示例中 USB转TTL 不需要用到,WIFI模块的运行参数可以通过 Ardunio 的串口进行配置。

连接时,按照 WIFI 模块的工作模式来接线。

即 GND 接 Arduino 的 GND ,

VCC 和 CH_PD 接 Arduino 的 3.3V 输出。

UTXD 和 URXD分别接 Arduino 的 13和12引脚

(即程序中由 SoftwareSerial 定义的 RX 和 TX)。

用于测试的有源蜂鸣器接在 Arduino 的 11 引脚(连接时注意蜂鸣器的极性,不要接反)。

实物图

ESP8266实物图.jpg

上代码

#include

SoftwareSerial mySerial(13, 12);

String comdata;

void setup() {

pinMode(11,OUTPUT);

Serial.begin(115200);

while (!Serial) {

; // wait for serial port to connect. Needed for native USB port only

}

Serial.println("Hello World");

mySerial.begin(115200);

mySerial.println("AT+GMR");

}

void loop() {

while (mySerial.available() > 0)

{

comdata += char(mySerial.read());

delay(2);

}

if (comdata.length() > 0)

{

comdata.trim();

Serial.println(comdata);

if (comdata.endsWith("A")){

digitalWrite(11,HIGH);

Serial.println("Buzz ON");

}

if (comdata.endsWith("a")){

digitalWrite(11,LOW);

Serial.println("Buzz OFF");

}

comdata = "";

}

if (Serial.available()) {

mySerial.write(Serial.read());

}

}

调试

程序上传成功后,打开 Arduino IDE 的串口调试窗口。

通过 AT 命令对 WIFI 模块进行配置。(详细的 AT 命令列表及功能解释,可参考网络上或商家提供的文档)

本示例中用到的命令为:

AT+CWMODE=2

设置工作模式为 AP 模式(即作为路由器,可供手机、笔记本等客户端连接)

AT+CIPMUX=1

启用多连接

AT+CIPSERVER=1,80

启动 TCP 服务器,IP地址默认,端口为80

配置完成后,即可通过手机客户端进行连接并遥控。(手机需预先装好远程控制 APP。下载链接 点我下载Arduino Remote; 提取密码:www.starky.xin)

手机客户端链接示意图.jpg

(其中的 IP 地址可以通过在串口输入 AT+CIFSR 命令获取。也可以直接在手机端查看 WIFI 连接信息,填写其中的网关即可)

以上步骤完成后,便可直接通过手机 APP 控制蜂鸣器了(当然,稍稍添些代码,也可以加入更多元件,不赘述)。

演示视频

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。