设置ESP8266为服务站。支持电脑、手机等多种客户端通过互联网远程连接路由WIFI下的ESP8266服务站,进行双向通信。
下面几步照做下来,就能双向通信了,有了这个例程再用51单片机控制8266就好理解了。
我没有专用的USB转接板,所以借用了普中科技的单片机开关板上的CH340芯片和数据线,接线如图,这块网上教程很多,也有现成的转接板,我就不啰嗦了。
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
AT
回应OK,表示电脑串口调试软件通过USB转串口与8266的硬件通信已连接好
AT+CWMODE=1 模式这里选择1或3都可以
AT+CWJAP="wifi名称","WIFI密码"
回应OK,表示8266与WIFI的无线通信已连接好
以上设置只需设置一次,模块ESP8266即使断电,设置也不会丢失。
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
AT+CIFSR 查询IP命令,记录8266被分配的内网IP。上面三个命令贴图如下:
在路由器设置中将IP与MAX地址进行绑定,使路由即使重启,8266所分配到的内网IP也不会改变。
在路由器的防火墙中设置外网到内网IP的端口转发,端口号11853
在路由器中查看通信公司给路由器分配的外部互联网IP,重启路由器会改变外网IP。
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
AT+CIPMUX=1 必须设置为多路链接
AT+CIPSERVER=1,11853 设置8266端口号为11853,1表示远程连接
以上两个设置,断电后8266不能保存。重新上电需要重新设置8266后,客户端才能连接上。
\\\\\\\\\\\\\\\\\客户端通过外网连接到ESP8266服务站\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
将手机关闭WLAN,开启移动数据4G模式进入外部互联网。
打开手机APP,我用的APP名叫 TCP连接,点连接,输入 路由器外网IP和端口号11853,开始连接
\\\\\\\\\\\\\\\\\客户端通过外网发送数据到ESP8266服务站\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
连接成功后,用手机APP发数据给8266。
8266收到后,会显示:
+IPD,0,36:这是手机通过外网发送给8266的数据!!
0,表示是0路客户端(手机)发来的数据。
36:表示共有36个字节的数据
这是手机通过外网发送给8266的数据!!--- 是收到的数据
\\\\\\\\\\\\\\\\\\\\ESP8266服务站发送数据到外部客户端(手机)\\\\\\\\\\\\\\\\\\\\
AT+CIPSEND=0,20 发送给客户端(手机)0号,发送的字节数20
A123456789B123456789 发送20个数据
\\\\\\\\\\\\\\\\\\\\\\\\内网PC通过局域网发送数据给ESP8266\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
需要将PC设成客户端模式。
服务器地址为8266的IP地址。
服务端口号为:11853
局域网PC发送数据给8266.
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ESP8266通过局域网发送数据给内网PC\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
AT+CIPSEND=1,32
1代表客户端(PC)
32所发的数据数量
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
AT+CIFSR 查询IP命令
AT+RST 重启模块
AT+RESTORE 恢复出厂设置
最后啰嗦一下,每个命令都要加回车换行,再发送。否则有时候命令会执行不成功。