6.2 WiFi模块联网

您当前位置: 首页 > K210开发者套件 > 物联网实验例程

6.2 WiFi模块联网

一、实验目的

本节课主要学习WiFi模块的连接网络的功能。

 

二、实验准备

1.实验元件

WiFi模块

image.png

2.元件特性

K210开发板自带的WiFi模块是ESP8285芯片模块,其实ESP8285还有更加热门的好兄弟ESP8266,ESP8285与ESP8266共享同一套SDK,ESP8285比ESP8266多了一片1MB FLASH芯片,并且是DOUT模式,所以固件编译和下载时需要设置为DOUT模式才可以下载;而且还多了两个IO口(GPIO9和GPIO10)可以供用户使用。 除此之外,ESP8285还有其他特性,如:体积小、远距离传输、低功耗、可外接天线、耐高温、无线透传、串口转WiFi等。

3.硬件连接

K210开发板出厂默认已经焊接好WiFi模块,WiFi模块与K210之间有三个跳线帽,如果插入跳线帽,则ESP8285的WIFI_TXD连接K210的IO13,WIFI_RXD连接IO14,WIFI_EN连接IO15,拔掉跳线帽则不通。

image.png

image.png

三、实验原理

WiFi模块内部集成一个ESP8285芯片,可以通过AT指令的方式连接搜索到的WiFi信号。通过K210的串口传输数据的功能,把串口助手接收到的数据传给WiFi模块,WiFi模块根据AT指令的内容,查找附近的WiFi信号,匹配密码,这样就可以连接到WiFi路由器上。

四、实验过程

1.首先根据上面的硬件连接引脚图,K210的硬件引脚和软件功能使用的是FPIOA映射关系。IO4和IO5是K210开发板的USB串口引脚,所以也要初始化。USB串口使用的是串口3,而WiFi模块的串口使用的是串口1。

image.png

image.png

2.初始化串口的配置,波特率设置为115200,串口数据宽度为8位,停止位1位,不使用奇偶校验。

image.png

3.开机的时候发送“hello yahboom!”,提示已经开机完成。

image.png

4.最后循环接收串口的数据,如果WiFi模块有数据传到K210芯片,K210会把数据通过串口传输到电脑上显示;如果电脑上的串口助手发送数据到K210芯片,K210也会把数据经过WiFi模块的串口发送给WiFi模块。

image.png

5.编译调试,烧录运行

把本课程资料中的wifi_AT复制到SDK中的src目录下,然后进入build目录,运行以下命令编译。

cmake .. -DPROJ=wifi_AT -G "MinGW Makefiles"

make

image.png

编译完成后,在build文件夹下会生成wifi_AT.bin文件。

使用type-C数据线连接电脑与K210开发板,打开kflash,选择对应的设备,再将程序固件烧录到K210开发板上。

 

五、实验现象

1.烧录完成固件后,系统会弹出一个终端界面,如果没有弹出终端界面的可以打开串口助手显示调试内容。

image.png

2.打开电脑的串口助手,选择对应的K210开发板对应的串口号,波特率设置为115200,然后点击打开串口助手。注意还需要设置一下串口助手的DTR和RTS。在串口助手底部此时的4.DTR和7.RTS默认是红色的,点击4.DTR和7.RTS,都设置为绿色,然后按一下K210开发板的复位键。

image.png

3.从串口助手,可以接收到hello yahboom!的欢迎语。然后按一下WiFi模块的复位键,可以看到一大串乱码,这个不用管,只要看到ready字符则表示WiFi模块正常。然后在底部输入AT字符,然后点击发送,串口助手会显示OK。如果没有接收到OK,请确认发送设置中的参数为ASCII,自动解析转义符,AT指令自动回车。

image.png

image.png

4.发送AT指令设置WiFi模块的模式为工作站。

AT+CWMODE_DEF=1

image.png

5.发送AT指令设置连接的WiFi信号。

AT+CWJAP_DEF="WiFi名称","密码"。

这里以WiFi名称为Raspblock,密码为12345678为例。WiFi信号不可以有中文。接收到WIFI CONNECTED 和WIFI GOT IP则表示连接成功。

AT+CWJAP_DEF="Raspblock","12345678"

image.png

6.获取当前的WiFi模块IP地址

AT+CIFSR

image.png

7.ping一下网络试试通不通,有数值则表示网络正常。

image.png

 

六、实验总结

1.WiFi模块与K210通过串口连接的方式通讯。

2.K210在此过程只起到中间搬运数据的功能,不会处理数据。

3.其实WiFi模块如果连接其他串口芯片,也是可以通过AT指令操作的。

4.以下连接的WiFi信号,下次WiFi模块重启后,开机会自动连接这个WiFi信号。