ESP8266 WIFI模块的使用

描述

ESP8266 wiFI 可以用作连接周边的无线设备,也可以作为发送器供其他设备连接通常在产品中,我们经常用作无线的接收使用,也可能会用作在线升级使用等。

说点题外话:虽然在线升级已经较为成熟,但我不推荐在一些重要的产品中推荐这种在线OTA升级,像汽车、智能家居等这种代码直接由软件架构生成的底层逻辑代码类型。 因为如果,底层结构或者一些代码逻辑被破解之后,很容易造成安全隐患,这种事情发生过不少,而且这种人,是最难被抓捕的。 除非哪天,所有的系统网络是被破解或者很难针对的算法出现以及普及。 我认为才是安全的。

1- ESP8266 初体验

esp8266是一种无线网络设别,内部集成常用的网络配置,只要不是太精密的产品,是都可以应用的。 同时他本身就是一个MCU,在没有其他外在MCU的情况下也是可以开发使用的。 当然,这只是其中一款而已。 具体的产品特性如下:

我们主要是讲如何使用,原理在这里不在多说,只需要数据手册就可以了。

1.1 硬件连接

我们在电脑上使用USB转串口进行连接。 具体的连接方式请根据自己手中的设备进行连接,几乎所有的无线通信都是使用AT命令来进行操作的。 连接如下图:

就是上面这个逻辑图。 然后我们连接好之后根据手册看看会返回那些有用的信息

1.2 尝试

1 AT指令

我们在发送区发送AT。 如果得到OK,那么说明是可以正常通信的。

2 AT固件版本

发送AT+GMR

3 软件重启

这种会重启模块,打印出OK后会相关的配置信息。

4重置出厂设置

1.3 通信测试

接下来我们进行一些通信测试,下面这些是写代码的时候常常用到的指令

1.3.1 模式配置

TCP Server 为 AP 模式,TCP Client 为 Station 模式。

1-配置WIFI模式:其他模式是一样的这里是两种模式都配置了。 输入:AT+CWMODE=3

1.3.2-连接路由器

AT+CWJAP="SSID","password"下面这个图说明连接成功了,如果没有请检查密码和SSID,请注意中间不能有空格

1.3. 3-查询 ESP8266 设备的 IP 地址

AT+CIFSR

把下面这个记录下来,在写代码的时候需要,后面会总结。

[21:44:56.358]收←◆AT+CIFSR+CIFSR:APIP,“192.168.4.1”+CIFSR:APMAC,“be:dd:c2:b3:a0:f1”+CIFSR:STAIP,“192.168.0.102”+CIFSR:STAMAC,“bc:dd:c2:b3:a0:f1”

4. ESP8266 设备作为 TCP client 连接到服务器

在这里我们需要一个服务,如下:

然后我们对其进行连接:下面这种就是成功了。 如果出现 error CLOSED,需要检查是否在同一局域网下,以及要把这个串口工具添加到入站规则同时添加8080这个端口(具体的请百度)

如果建立成功就可以通信了,如下图:

下面这些才是我们需要的:

// 1. 配置 WiFi 模式
AT+CW模式=3 // 软AP+站模式


// 2. 连接路由器
AT+CWJAP=SSID”,“password” // SSID 和路由器的密码


// 3. 查询 ESP8266 设备的 IP 地址
AT+CIFSR


// 响应
[214456.358]收←◆AT+CIFSR
+CIFSR:APIP,192.168.4.1+CIFSR:APMAC,“be:dd:c2:b3:a0:f1”
+CIFSR:STAIP,192.168.0.102+CIFSR:STAMAC,“bc:dd:c2:b3:a0:f1”
还行


// 4. ESP8266 设备作为 TCP client 连接到服务器
AT+CIPSTART=TCP”,“192.168.0.107”,8080 //协议、服务器 IP 和端口


// 5. ESP8266 设备向服务器器发送数据
AT+CIPSEND=4 // 设置将要发送的日期长度,例如 4 个字节  
>测试 // 输入数据,无 CR


// 响应
记录 4 字节
发送确定


// 6. 当 ESP8266 设备接收到服务器器发来的数据,将提示如下信息:
+IPD,n:xxxxx // 接收 n 字节, data=xxxxx```


如何实现AT命令的编写,以后在说,这段时间太忙了
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分