最新案例教程点击下方链接跳转,CSDN已停止更新
点
击
跳
转
点击跳转HaaS506官方最新案例
PC端调试wifi模块
esp8266-01s
1.接线(与电脑通信)
与电脑通信时引脚连接,wifi模块需要稳定3.3v供电,可以使用开发板进行供电。
VCC接3.3V
CH_PD接3.3V,否则wifi不工作
TX接串口TX
RX接串口的RX
GND接地,WiFi模块,CH340模块,开发板共地
2.各模式AT指令
wifi模块默认有内置SDK,通过发送AT指令可以配置WiFi模块。
参考文件文档工具
1、单连接TCP client模式指令
AT+CWMODE=3 //设置为 softAP+station 共存模式
AT+CWJAP="ssid","password" // 传入路由的ssid 和 password
AT+CIFSR //查询设备IP。响应:192.168.3.106 //返回设备的 IP 地址
AT+CIPSTART="TCP","192.168.3.116",8080 //传入协议、服务器 IP、端口号
AT+CIPSEND=4 // 发送四个字节,字节数可按需任定
test // 输入要发送的四个字节内容,无需回车。
2、TCP client单连接透传模式指令
AT+CWMODE=3 //设置为 softAP+station 共存模式
AT+CWJAP="ssid","password" // 传入路由的ssid 和 password
AT+CIFSR //查询设备IP。响应:192.168.3.106 //返回设备的 IP 地址
AT+CIPSTART="TCP","192.168.3.116",8080 //传入协议、服务器 IP、端口号
AT+CIPMODE=1 //开启透传模式
AT+CIPSEND //开始透传
+++ //退出发送数据
AT+CIPMODE=0 //退出透传模式
AT+CIPCLOSE //断开TCP连接
AT+CWQAP //断开热点
3、多连接 TCP server模式指令(AP模式)
AT+CWMODE=2 //设置成AP模式,相当于路由器
AT+CWSAP_DEF="ESP8266","12345678",5, 4 //WIFI名称,密码 , 通道号 ,加密方式(0~4)
AT+CIFSR //查询ESP8266的IP地址(很重要)
AT+CIPMUX=1 //开启多连接(可以被多个手机连接)(很重要,要不然,下一个指令会报错)
AT+CIPSERVER=1,8080 //开启服务器
4、固定远端的UDP通信
AT+CWMODE=3 // 配置 WiFi 模式
AT+CWJAP="SSID","password" // 连接路由器
AT+CIFSR //查询 ESP8266 设备的 IP 地址
AT+CIPMUX=1//使能多连接
AT+CIPSTART=4,"UDP","192.168.101.110",8080,1112,0//创建 UDP 传输。分配连接号为 4
AT+CIPSEND=4,7 // Send 7 bytes to transmission NO.4
>UDPtest // enter the data, no CR
AT+CIPCLOSE=4//断开 UDP 传输
5、远端可变的UDP通信
AT+CWMODE=3 // 配置 WiFi 模式
AT+CWJAP="SSID","password" // 连接路由器
AT+CIFSR //查询 ESP8266 设备的 IP 地址
AT+CIPMUX=1//使能多连接
AT+CIPSTART="UDP","192.168.101.110",8080,1112,2//创建 UDP 传输。
AT+CIPSEND=7 // Send 7 bytes
>UDPtest // enter the data, no CR
AT+CIPSEND=7,"192.168.101.111",1000 //发送数据到其他指定远端。例如,发数据到 192.168.101.111, 端⼝ 1000。
>UDPtest // enter the data, no CR
AT+CIPCLOSE//断开 UDP 传输
6、UDP透传
AT+CWMODE=3 //配置 WiFi 模式
AT+CIPSTART="UDP","192.168.4.2",1001,2233,0//ESP8266 与 PC 对应端⼝建⽴固定对端的 UDP 传输
AT+CIPMODE=1//使能透传模式
AT+CIPSEND //ESP8266 设备向服务器发送数据
+++ //退出发送数据
AT+CIPMODE=0//退出透传模式
AT+CIPCLOSE//断开 TCP 连接
3.TCP透传指令演示
以下以透传模式指令为例
需要的工具点击链接下载
1、打开模块串口,设置波特率115200,发送 AT+CWMODE=3 设置为 softAP+station 共存模式,返回ok。
2、AT+RST 重启
3、AT+CWJAP=“szyyw”,“szyywdz501” 传入路由的ssid 和 password,连接WIFI
4、AT+CIFSR 查询设备IP。响应:192.168.3.106 返回设备的 IP 地址
5、在 PC 上使用网络调试助手,创建一个服务器。
6、AT+CIPSTART=“TCP”,“192.168.3.41”,8080 传入协议、服务器 IP、端口号,连接TCP服务器
7、AT+CIPMODE=1 开启透传模式
8、AT+CIPSEND 开始透传
串口工具与TCP服务器数据可以互传
开发板与wifi模块通信
1.接线(TTL串口通信)
与开发板通信正常连接4根线就行
haas506 | esp826601s |
---|---|
3.3V | VCC |
GND | GND |
TTL_TX | RX |
TTL_RX | TX |
2.代码
完整代码
案例中haas506通过TTL口向WiFi模块发送指令,配置WiFi模块为透传模式,实现网络TCP服务器与开发板相互通信。
main.py
station.py
import utime
from driver import UART
import _thread
#串口实例化
uart=UART()
uart.open("serial1")
#创建一个readBuf字节数组,用于存放串口读取到的数据
readBuf=bytearray(255)
def Station_init():
#设置为 softAP+station 共存模式
wrirtBuf = bytearray("AT+CWMODE=3\r\n")
uart.write(wrirtBuf)
utime.sleep(4)
ret = uart.read(readBuf)
print(readBuf[:ret])
def connect_wifi(account,password):
wrirtBuf = bytearray("AT+CWJAP=\"{}\",\"{}\"\r\n".format(account,password))
uart.write(wrirtBuf)
utime.sleep(4)
ret = uart.read(readBuf)
print(readBuf[:ret])
wrirtBuf = bytearray("AT+CIFSR\r\n")
uart.write(wrirtBuf)
utime.sleep(4)
ret = uart.read(readBuf)
print(readBuf[:ret])
def TcpConnect(host,port):
#开启透传模式
wrirtBuf = bytearray("AT+CIPMODE=1\r\n")
uart.write(wrirtBuf)
utime.sleep(4)
ret = uart.read(readBuf)
print(readBuf[:ret])
#tcp连接
wrirtBuf = bytearray("AT+CIPSTART=\"TCP\",\"{}\",{}\r\n".format(host,port))
uart.write(wrirtBuf)
utime.sleep(4)
ret = uart.read(readBuf)
print(readBuf[:ret])
#开始透传
wrirtBuf = bytearray("AT+CIPSEND\r\n")
uart.write(wrirtBuf)
utime.sleep(4)
ret = uart.read(readBuf)
print(readBuf[:ret])
def tcprecv():
print('Running thread tcprecv...')
try:
ret = uart.read(readBuf)
except OSError:
print('TCP OSError')
if ret>0:
print(readBuf[:ret],'------------')
return readBuf[:ret]
else :
return None
def update(value):
wrirtBuf = bytearray("{}\r\n".format(value))
uart.write(wrirtBuf)
board.json文章来源:https://www.toymoban.com/news/detail-501752.html
{
"name": "haas506",
"version": "2.0.0",
"io": {
"serial1":{
"type":"UART",
"port":0,
"dataWidth":8,
"baudRate":115200,
"stopBits":1,
"flowControl":"disable",
"parity":"none"
}
},
"debugLevel": "ERROR",
"repl":"enable"
}
测试
打开网络调试助手
TTL串口每隔4s发送一条指令
开启透传后,开发板每秒向TCP服务器发送一个数据
TCP下发数据时,开发板会打印接收到的数据
文章来源地址https://www.toymoban.com/news/detail-501752.html
到了这里,关于3.41 - haas506与esp8266-01s的串口通信(TCP透传)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!