一般而言,当我们用USB转TTL模块与Esp8266连接之后,波特率默认为115200
当我们用这个模块箱Esp8266发送数据的时候,串口助手记得勾选”发送新行”
当我们上电之后Esp8266 我们串口助手一直接受到乱码,可能是电压过低,可以考虑将3.3V换成5V
如有什么不明白的,可以关注我,看一下我发的那个无线WIFI模块的实际应用,用来手机读取温湿度的。电脑端可以记录保存。还有其他很多有趣的应用等着你。
我们直接利用AT指令与Esp8266模块通信,下面介绍几种模式,通过测试可以用!
上电之后,我们通过串口助手发送AT RST,返回的数据最后一行是不是OK,是的话就可以可以正常使用
一、TCP传输 Esp8266和你的设备通信(我这里用电脑测试),必须连接在同一WiFi下,同时,要指明Esp8266模块是Client(客户端)还是Service(服务器)
1.Esp8266 做TCP Client
这里的效果:在电脑和Esp8266模块在连接到同一个WiFi下,电脑通过网络的调试助手发送数据,然后我们的串口发送数据,电脑的调试助手接受数据
①设置WiFi模式
AT CWMODE=3 反应:OK 1 2
②连接到一个WiFi
AT CWJAP="SSID","password" //这里的SSID就是WiFi名称,password就是WiFi密码 反应:OK 1 2
③这里查询Esp8266的IP地址和MAC地址
AT CIFSR 反应:对应的IP,和MAC地址 1 2
在电脑上同样连接到这个WiFi,打开网络助手,注意这里记得先查询直接电脑的IP地址
协议类型:TCP Server
本机IP地址:(自己查询自己的IP)
端口号:理论上0~65535都可以设置,这里用默认的8080就可以
④Esp8266连接这个TCP Service
AT CIPSTART="TCP","(对应的TCP Service地址)",(对应端口) 示例:我这里是 AT CIPSTART="TCP","192.168.43.113",8080 反应:OK 1 2 3
现在电脑通过网络调试助手就可以直接发送数据,然后电脑上的串口助手就可以接收到相应的数据
⑤Esp8266发送数据:
AT CIPSEND=(要发送的字节长度) 示例:AT CIPSEND=4 响应:SEND OK 1 2 3
2.Esp8266做可多连接的TCP Service
①AT CWMODE=3
反应:OK
②使能可以被多连接
AT CIPMUX=1 反应:OK 1 2
③连接到一个WiFi
AT CWJAP="SSID","password" 1
④建立TCP Service
AT CIPSERVER=1 //默认的端口333 1
反应:OK
我们可以将电脑的网络调试助手换成TCP Client模式,IP地址就是Esp8266的IP地址
端口号我么没有设置,默认333
然后我们可以直接利用网络调试助手发送数据,串口可以接收到
⑤Esp8266发送数据
AT CIPSEND=0,4 //每个连接进来的TCPClient都会有一个ID,默认从0开始增加 //第一个参数指明第几个Client(客户端),第二个参数指明发送几个字节,这个用的4 //然后就可以发送数据了 反应:SEND OK 1 2 3 4
二、UDP传输,此时Esp8266不分Server和Client
①.设置WiFi模式
AT CWMODE=3 反应:OK 1 2
②.连接到一个WiFi
AT CWJAP="SSID","password" 1
③.使能多连接
AT CIPMUX=1 反应:OK 1 2
//由于没有客户端和服务器,我们可以设置是否通信的一端可变,就是设置远端是否可变,在不可变的情况下我们分配给连接的另一端一个ID,可变的情况下当有多个连接时就会发送到最近一个连接的设备
//**远端固定,”AT CIPSTART”最后参数为0
实例:
④远端固定
AT CIPSTART=4,"UDP","192.168.43.113",333,8080,0 这里的4表示给对方的ID,192.168.43.113对方IP 333表示对方的端口 8080设置自己的端口(随意设置0~65535) 0表示远端固定 1 2 3 4 5
⑤发送数据
AT SEND=4,5 //给定4表示对方的ID,5表示自己的长度 1
//**远端可变,”AT CIPSTART”最后参数为2
⑥远端可变
AT CIPSTART="UDP","192.168.43.113",333,8080,0,然后就可以发送数据了 1
⑦需要发送给指定的UDP地址时
AT CIPSEND=6,"192.168.43.111",333 字节长度,对方IP,对方端口