透传 esp8266,使用python分别建立客户端连接并实现数据互传

我没有使用网络调试助手直接连接,因为我的网络调试助手在连接的时候出现了错误,上网查还是什么虚拟机的事儿,还需要更改电脑的相关网络配置,太麻烦,本来学历一点儿,正好使用建立和的连接!
通过串口连接到电脑上,打开串口调试助手的这个界面:
……………………………………………………………………………………………………
1、把作为服务器端
需要向发送如下这些指令:
AT+CWMODE_CUR=1
设置模块为sta模式,即作为设备去连接别人的WiFi热点;
AT+CWJAP_DEF="vivo Y66","11111111"
连接我自己的手机WiFi,第一个是WiFi名字,第二个是WiFi密码;
AT+CIPMUX=1
设置成服务器可以多连模式;
AT+CIPSERVER=1,8266

透传  esp8266,使用python分别建立客户端连接并实现数据互传

文章插图
设置端口的端口号,可以自己定义;
AT+CIPSTA_CUR?
查询当前8266的IP地址,得到第一个数据ip后面的就是TCP服务器的IP地址;
把命令全都输入到多条发送的栏框内,如图所示:
现在从头到尾一条条发送吧,下面是我得到的结果:
设置成功 。
接下来就是写的客户端,源代码如下:
#!/usr/bin/python3.7# coding=utf-8#客户端与上一个没有任何改变from socket import *import threadingaddress="192.168.43.10"#8266的服务器的ip地址port=8266#8266的服务器的端口号buffsize=1024#接收数据的缓存大小s=socket(AF_INET, SOCK_STREAM)s.connect((address,port))def fun():while True:recvdata=http://www.kingceram.com/post/s.recv(buffsize).decode('utf-8')print("\n接收的数据是:"+recvdata)t = threading.Thread(target=fun)# t为新创建的线程,专门用来接收从服务器发送过来的数据t.start()while True:senddata=http://www.kingceram.com/post/input('/n想要发送的数据:')if senddata=='exit':breaks.send(senddata.encode())#recvdata=s.recv(buffsize).decode('utf-8')#print(recvdata)s.close()
运行后在串口调试助手里出现:0, 这句话就是连接成功了,0代表了设备的序号,表示0号设备已经连接 。
接收成功!
在发送的时候需要设置数据透传:
在串口助手里先输入:
AT+CIPSEND=0,6
表示要发送数据,等于号后面第一个值(这里是0)是客户端的序号,第二个值是你要发送的字母或者数字的个数,比如这里我想发送“”,所以就是6;
hahaha
当出现 ok 和 > , 就可以发送了 。
输入完成结果:
发送成功!
【透传esp8266,使用python分别建立客户端连接并实现数据互传】………………………………………………………………………………………………