ESP8266简介
ESP8266是一款超低功耗的UART-WiFi 透传模块,拥有业内极富竞争力的封装尺寸和超低能耗技术,专为移动设备和物联网应用设计,可将用户的物理设备连接到Wi-Fi 无线网络上,进行互联网或局域网通信,实现联网功能。
ESP8266是上海乐鑫信息科技设计的低功耗WiFi芯片,集成完整的TCP/IP协议栈和MCU。而ESP8266模块是深圳安信可公司基于ESP8266芯片研发(增加必要外围电路、串口flash、板载天线等)的串口WiFi模块,成本低、使用简便、功能强大。
模块上电
电脑安装好USB-TTL模块的驱动后,USB口插上模块,在设备管理器查看串口号后,打开串口调试工具sscom,串口号选择模块对应的,默认波特率115200,数据-停止-校验-流控:8-1-None-None,勾选“发送新行”(一定一定要记得勾选“发送新行”,否则WiFi无法识别AT指令),点击“打开串口”按钮,然后将CH_PD引脚的3.3V电源断了重接进行复位,若串口打印乱码后看到“ready”,说明模块上电初始化正常。
sta模式连接WiFi
- 发送
AT+CWMODE=1
指令配置模块为sta模式(参数1,2,3分别对应模式sta,AP和sta/AP)。 - 发送
AT+CWLAP
指令扫描当前附近WiFi,模块会返回可用AP列表。 - 使用
AT+CWJAP="WiFi名称","WiFi密码"
连接到指定的路由器,比如我在图书馆的WiFi是 “lib-free-wlan01”,密码是“zhku-lib”,实际连接WiFi发送的指令就是AT+CWJAP="lib-free-wlan01","zhku-lib"
。 - 返回的“WIFI CONNECTED”说明连接成功,“WIFI GOT IP”代表模块分配到了IP。
- 最后可使用
AT+CWQAP
断开当前连接的WiFi。
AP模式参数设置
连完WiFi那接下来就“开WiFi”吧!AP模式和手机开热点一样,只需设置WiFi名称和密码即可。同样的先使用 AT+CWMODE=2 指令配置模块为AP模式,然后发送 AT+CWSAP="ESP8266","12345678",3,4 设置AP的ssid为“ESP8266”,密码12345678,最后两个参数3和4分别表示信道和加密方式。手机连上模块的WiFi,使用 AT+CWLIF 可查看当前连接到AP的客户端列表。
透传模式下WiFi模块与服务器TCP网络通讯演示
讲的再多,还不如亲手体验一下如何用WiFi模块连接TCP服务器,体会TCP/IP相关AT指令的具体使用。首先我们需要一个TCP服务器,利用调试工具“网络调试助手”(软件在资料包中)即可创建一个TCP服务器,实现服务端对指定端口监听TCP连接请求,当然也可以自己写程序实现,为了简便这里用现成的就好。
打开“网络调试助手”,左侧选择“TCP服务器”,输入自定的端口号(1024-65535),点击“连接”按钮开始监听本机TCP连接请求。在进行下一步之前,请确保电脑和WiFi模块连接到同一个路由器。
把WiFi模块和电脑连接,在sscom确定AT指令能正常使用后,就可以开始配置TCP连接了,具体步骤如下:
- 根据上面“sta模式连接WiFi演示”一节把模块连上WiFi
- 输入指令
AT+CIPMUX=0
设置单连接 - 从“网络调试助手”得知本机IP和端口,输入指令
AT+CIPSTART="TCP","192.168.43.140",1234
(指令参数分别为连接类型、目标IP地址和端口号)向服务器发起TCP连接请求,握手成功并建立连接后,服务器端的“网络调试助手”就会显示客户端IP和端口信息,此时双方已做好收发数据的准备 - 输入指令
AT+CIPMODE=1
开启透传模式 - 输入命令
AT+CIPSEND
进入透传模式,此时模块会把所有串口收到的数据都从TCP端口发送至服务器,同样的,从服务器收到的数据也会从模块串口发送出去打印到sscom上。这样WiFi模块就真正成为了连接硬件与网络的桥梁,实现了串口到TCP的协议转换 - 若要退出透传模式返回AT指令模式,需发送不带回车换行的
+++
(取消勾选sscom的“发送新行”再发送指令即可)
见识了TCP透传的强大,只要再稍微学习一下socket网络编程,那么对于通过单片机串口收发数据实现的功能,现在都可以通过自己编写服务器上的TCP程序来实现。
标签:ESP8266,WiFi,TCP,指令,模块,串口,连接 From: https://blog.51cto.com/u_15887619/6317624