ESP8266连接服务器

ESP8266连接WIFI

  1. 通过UART和电源把ESP8266模块连接到PC机

  2. 打开串口调试助手

  3. 使用AT指令连接WIFI(下面是笔者的手机开的WIFI)

    1
    AT+CWJAP_DEF="singularity","S1234567890"

    AT指令是什么?这太简单了,自行百度吧

上电后,并且连接WIFI如下图:

连接WIFI

在云端建立TCP服务器

使用python开发了一个简易的TCP监听服务,功能就是等待连接,连接后打印连接源的IP和端口,收到数据后回传,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from socket import *
from time import ctime

HOST = '' # 允许任意host接入
PORT = 3000
BUFSIZ = 1024
ADDR = (HOST, PORT)

tcpSerSock = socket(AF_INET, SOCK_STREAM)
tcpSerSock.bind(ADDR) # 绑定地址
tcpSerSock.listen(5) # 最多同时监听数量上限为5

while True:
print('waiting for connection...')
# 接受客户端请求之前保持阻塞,连接后获取客户端socket及其地址
tcpCliSock, addr = tcpSerSock.accept()
# 打印请求此次服务的客户端的地址
print('...connection from: {}'.format(addr))
while True:
# 通过客户socket获取客户端信息(bytes类型),并解码为字符串类型
data = tcpCliSock.recv(BUFSIZ).decode('utf8')
if not data:
break
# 处理字符串并重新编码为bytes类型,调用send()方法发送回客户端
tcpCliSock.send('[{}] {}'.format(ctime(), data).encode('utf8'))
# 关闭客户端
tcpCliSock.close()
# 关闭服务器
tcpCliSock.close()

同样注意打开服务器的安全组端口!笔者一开始因为忘记开放端口卡了半天…

ESP8266连接服务器

  1. 使用AT指令连接TCP服务器

    1
    AT+CIPSTART="TCP","49.235.177.188",3000
  2. 使用AT指令指定要发送的数据量

    1
    AT+CIPSEND=6
  3. 发送数据

实验结果

  • 服务器端

    服务器

  • 本地设备端

    本地

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2022-2024 RY.J
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信