【单片机】ESP8266 WiFi 模块(一)

-回复 -浏览
楼主 2020-06-29 15:47:50
举报 只看此人 收藏本贴 楼主

今天我们要来玩一个小芯片,它可以用来做 WiFi 信号传输,既可以做访问节点(AP,或者叫 Access Point),也可以用来做站台(Station),它的名字叫 ESP8266 12F,功能强大,身形小巧,价格低廉(十几块钱),是不错的 WiFi 模块。因为笔者第一次接触,自感内容比较多,所以可能要分几份推送介绍,才能入一个门。那今天就先玩 1 块 ESP8266,用 PC 通过串口控制芯片。

焊接模块

刚买回来的 ESP8266 12F 很小,引脚是邮票孔设计的,也就是说它注定要被焊接在一块转接板上,然后引脚用另外的排针引出。因此下面我们会首先将 ESP8266 焊接到转接板上。准备实验材料:

  • ESP8266 12F WiFi 模块 x1

  • ESP8266 12F 转接板 x1

  • 8 脚排针 x2(笔者选用母排针)

实验材料一览图:

【图 1:实验材料一览】

当然,还要有焊接器材:

  • 电烙铁 x1

  • 烙铁架 x1

  • 海绵 x1

  • 焊锡

  • 松香

焊接器材一览图:

【图 2:焊接器材一览】

操作步骤

  1. 预热电烙铁 5 分钟左右;打湿海绵备用,湿海绵用来擦掉粘在烙铁头上的焊锡或者杂物。

  2. 首先把 ESP8266 焊接到转接板上(否则如果先焊排针,我们就很难伸进去我们的 fat finger 进去来焊接 ESP8266 模块了)。注意要保证引脚位置正确,GND 对 GND。先焊一点,固定芯片,后面的引脚也就好焊了。
    这里提一下焊接引脚的小技巧:把电烙铁和焊锡头碰头放在焊点旁,用电烙铁烫下足量焊锡,调整融化焊锡的位置,使之粘到引脚上,先移走焊锡,烙铁不动,保持焊锡液态,让液体焊锡自然流进焊点的缝隙处后,移走烙铁,自然冷却凝固。焊包呈富士山状为最佳。
    焊接邮票孔引脚的技巧类似,也是要充分利用融化焊锡的液体属性,让它们自然流进邮票孔。

  3. 然后将 2 排针焊接到转接板上,注意要让排针插口朝下,针脚朝上,这样转接板组装到其他地方的时候,ESP8266 模块才能露在外头。

大功告成,效果图如下:

【图 3:焊接成品效果】

连接线路

接下来我们把 ESP8266 WiFi 模块和 PC 连接起来,这还要用到另外一个模块,就是 CP2102 模块,它是一块 USB to TTL 转换模块,一头有 USB 接口,另外一头有 5 个引脚,分别是

  • 3V3:3.3V 电源输出

  • TXD:信号发送接口(Transmit Data)

  • RXD:信号接收接口(Receive Data)

  • GND:地线,接地(0 电位)

  • +5V:5V 电源输出

为了便于移动,笔者还用了一条公对母 USB 数据线。整个线路连接要用到的材料如下:

  • CP2102 转串口模块 x1

  • 制作好的 ESP8266 模块 x1

  • 公对母 USB 数据线 x1

  • 面包板 x1

  • 公对母杜邦线 x5

  • 公对公杜邦线 x6

  • PC x1

材料一览图如下:

【图 4:连接材料一览】

操作步骤如下:

  1. 首先将 USB 数据线接入电脑,然后将 CP2102 模块插入数据线母孔,这时 PC 的操作系统应该会自动安装 CP2102 的驱动程序;如果系统没有自动安装驱动,就需要自行下载驱动并安装了。

  2. 用 5 条公对母杜邦线将 CP2102 模块的 5 个引脚引到面包板上,方便连接。

  3. 然后用 6 条公对公杜邦线,连接 ESP8266 模块进入电路,连接如下:

ESP8266 <---> CP2102 
/***********************/
VCC <---> 3V3 // 提供电源,定义 ture 的电压
REST <---> 3V3 // 使 REST 脚处于高电位,即 true;如果 REST 从低电位变到高电位,即 false 变为 true,就会重置 ESP8266 模块,也就是 Reset)
CH_PD <---> 3V3 // 使 CH_PD 脚处于高电位,即 true; 如果这个脚是低电位,即 false,则模块会被禁用(Disabled)
TXD <---> RXD // 传送口对接受口,数据才能流动
RXD <---> TXD // 接受口对传送口,数据才能流动
GND <---> GND // 接地,定义 false 的电压

实体电路连接如图所示:

【图 5:实体电路】

调试模块

在电路连接好之后,我们将使用 ESP8266 自带支持的 AT 指令来对模块进行调试。首先我们需要用到 Arduino IDE 自带的串口监视器(当然也可以选用其他串口通信软件)。操作步骤如下:

  1. 查清楚模块连的是 PC 上的哪个 USB 串口。笔者用 Win10 系统,在小娜搜索框内搜索“设备管理器”,打开它,然后找到“端口(COM 和 LPT)”节点,下面就会列出当前插入 PC 串口的所有设备,找到 “Silicon Labs CP210x USB to UART Bridge” 对应端口号,比如笔者的是 COM6。

  2. 打开 Arduino IDE,在菜单栏的“工具”->“端口”处,选择模块连接的端口。

  3. 打开菜单栏的“工具”->“串口监视器”。注意,ESP8266 12F 的 Baud 率一般是 115200 Hz,所以为了正常通信,要在串口监视器处选择 Baud 率等于 115200 Hz;另外,AT 指令结尾带 NL 和 CR 两个字符,模块才能识别指令,所以要在串口监视器中设置结束符为 “NL 和 CR”。设置如下图:



【图 6:串口监视器设置】

现在,一切都准备好了,来调试一下整个设备运行是否正常。我们做下面一些操作来看看效果:

  • 在串口监视器指令输入栏中,键入 AT,回车发送指令,模块应该响应 OK(响应字符串会显示在串口监视器当中)

  • 发送 AT+RST,模块应该会被重置,会看到模块上的蓝色 LED 灯闪烁一下,然后会响应模块的一些内部信息,并提示 ready

  • 发送 AT+CWLAP,模块会返回当前检测到的访问节点。比如,笔者在宿舍里调试时的返回结果是:


/* +CWLAP:(加密方式,SSID,信号强度,MAC 地址,频道,..,..) */
+CWLAP:(5,"SYSU-SECURE",-76,"0a:69:6c:75:5a:08",1,-9,0)
+CWLAP:(5,"SYSU-SECURE",-78,"0a:69:6c:75:70:54",1,0,0)
+CWLAP:(3,"LieBaoWiFi868",-93,"50:2b:73:d0:e2:1f",1,-36,0)
+CWLAP:(3,"LDC_SAP_LENOVO201508",-78,"4e:e0:10:1d:00:09",1,-34,0)
+CWLAP:(5,"SYSU-SECURE",-67,"0a:69:6c:75:51:24",6,-9,0)
+CWLAP:(5,"SYSU-SECURE",-68,"0a:69:6c:75:5b:30",6,-16,0)
+CWLAP:(5,"SYSU-SECURE",-84,"0a:69:6c:75:5a:98",6,-12,0)
+CWLAP:(5,"SYSU-SECURE",-87,"0a:69:6c:75:5d:a8",6,-14,0)
+CWLAP:(5,"SYSU-SECURE",-81,"0a:69:6c:75:5a:f8",1,-11,0)
+CWLAP:(5,"SYSU-SECURE",-62,"0a:69:6c:75:50:6c",11,-9,0)
+CWLAP:(3,"A卢佳玮",-80,"4a:c2:dd:28:3e:a9",11,-32,0)
+CWLAP:(5,"SYSU-SECURE",-88,"0a:69:6c:75:6f:ec",11,-7,0)

可以看到,模块检测到 9 个校园网信号(SYSU-SECURE),还是挺不错的。

  • 发送 AT+CWSAP?,查看当前 AP (Access Point)模式参数,比如笔者的返回结果是:


/* +CWSAP:SSID,密码,频道,加密方式,..,.. */
+CWSAP:"AI-THINKER_0DE653","",1,0,4,0

在 PC 上也可以看到模块发出来的信号。比如笔者的 PC 就检测到 AI-THINKER_0DE653 的 WiFi 信号。

  • 先发送一次 AT+CWLIF,检查接入模块的设备。应该是没有设备接入的,所以模块只会返回 OK。接下来用 PC 连接进入模块的 WiFi,然后再发送一次 AT+CWLIF,可以看到 PC 成功连接进入模块。比如笔者得到的响应:


/* IP,MAC 地址 */
192.168.4.2,3c:f8:62:36:53:49

可以看到 PC 分配的 IP 和 MAC 地址。

后记

这次内容简单,但是量可能有点大。这里 ESP8266 模块的电路连接采取了最简单的方式,如果要进行程序烧录等的操作,还会用到其他引脚。ESP8266 模块的 AT 指令集可以在网上找到,这里就不赘述了。下一次可能会看看怎么用 2 块 ESP8266 模块实现命令的传输,目标是用 PC 通过 WiFi 信号,控制 Arduino 的行为,比如 PWM 之类。

大家一起动手吧!


我要推荐
转发到

友情链接