ESP8266Wi-Fi数据通讯

概述:

1.主要介绍传感网开发中的短距离通讯领域中Wi-Fi通讯

2.通过本次学习可以掌握ESP8266 Wi-Fi工作模式;

3.掌握ESP8266 Wi-Fi通信模块AT指令;

4.TCP连接方法和数据传输;

Wi-Fi技术简介

        Wi-Fi这个术语被人们普遍误以为是指无线保真(Wireless Fidelity)在无线局域网中指“无线兼容性认证”,实质上是一种商业认证,同时也是一种无线联网技术,与蓝牙技术一样,同属于在办公室和家庭中使用的短距离无线技术。同蓝牙技术相比,他具备更高的传输速率,更远的传输距离,广泛应用与手机、笔记本、汽车等产品中。

ESP8266Wi-Fi通信模块简介

       ESP8266芯片最大特点就是性价比高,ESP8266芯片方案是一个完整自成体系的Wi-Fi解决方案,能够搭载软件应用或通过另一个应用处理器卸载所有Wi-Fi网络功能。

       ESP8266可通过GPIO口集成传感器以及其他特定设备,实现了前期开发和运行中占用最小资源。ESP8266高度片内集成,包括无线开关balun、电源管理转换器、因此仅需极少的外部电路,设计时PCB资源降至最低。

        ESP8266配套有一套软件开发包(SDK)该SDK为用户提供了一套数据接收函数接口,用户不必关心底层网络,专注物联网上层开发,利用相应接口完成相应网络数据收发即可。

ESP8266Wi-Fi通讯工作模式

ESP8266有三种工作模式分别为:station、soft-AP、station+soft-AP模式。

station模式:模块相当于路由器连接互联网,手机通过互联网进行控制。

soft-AP:ESP8266作为热点,实现手机电脑与模块通讯,无线局域网控制

station+soft-AP模式:两种模式共存,既可以互联网控制,又可以局域网控制,一般应用在网络通讯在主从关系的主机,实现通讯。

配置Wi-Fi AP工作模式

(一)使用FLASH_DOWNLOAD_TOOLS_v2.4_150924(建议使用)工具烧写Wi-Fi模块固件

 (二)打开串口助手,选择正确的COM口,设置波特率115200,数据位8,校验位None,停止位1,流控无,输入"AT"点击发送返回OK说明模块正常

 (三)AT+CWMODE=2,设置AP工作模式   1:station  2:softAP 3:station+ softAP

        (该模块以及连接网络需要断开才能配置)

 (三)AT+CWDHCP=0,1;设置模块打开AP模式下DHCP功能

(四)重启模块 AT+RST

 (五)AT+CWSAP_CUR=”无线名称”, ”密码”,”热点信道”,”加密方式”。加密方式对应关系如下0:OPEN 1: WEP 2: WPA_PSK 3: WPA2_PSK,4: WPA_WPA2_PSK.

 (六)AT+CIPAP=”IP”设置ESP8266IP地址,本设置不会保存FLASH,AT+CIPAP?查询IP

 (七)AT+CIPMUX=1 启动AP多连接支持客户端ID号0-4

 (八)AT+CIPSERVER=1,8080 启动服务器模式

(九)AT+CIFSR 查看IP地址和MAC地址

 配置Wi-FiStation模式

(一)发送AT+CWMODE=2;设置station模式

(二)AT+CWDHCP=1,1;station模式,获取DHCP

 (三)重启模块 AT+RST

(四)AT+CWLAP  扫描AP列表

 (五)AT+CWJAP? 查询已经连接的热点指令  AT+CWQAP 断开热点连接命令

 (六)AT+CWJAP="China mobile","12345678" 连接AP

 配置Wi-Fi station+soft-AP模式

(一)发送AT+CWMODE=3;设置station+soft-AP模式

 (二)AT+CWDHCP=2,1;station+soft-AP模式,获取DHCP

 (三)重启模块 AT+RST

(四)AT+CWJAP="China mobile","12345678" 连接AP

(五)AT+CWSAP_CUR=”无线名称”, ”密码”,”热点信道”,”加密方式”。配置ESP8266热点信息

            AT+CWSAP?查看热点信息

         手机可以搜索到热点信息进行连接

 (六)AT+CIPAP=”IP”设置ESP8266IP地址,本设置不会保存FLASH    读取信息AT+CIPAP?

(七)AT+CIPMUX=1 启动AP多连接支持客户端ID号0-4

(八)AT+CIPSERVER=1,8080 启动服务器模式,支持ID号0-1 0单链路 1多链路。

(九)AT+CIFSR 查看IP地址和MAC地址

 使用手机连接模块即可,至此Wi-Fi三种基础配置完成,下篇文章讲解Wi-Fi数据通信上报云平台。

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
两个ESP8266之间可以通过串口通信或者Wi-Fi通信进行互相通讯。下面是两种通信方式的介绍: 1. 通过串口通信 a. 硬件连接:将两个ESP8266的TX引脚分别连接到对方的RX引脚,将两个ESP8266的RX引脚分别连接到对方的TX引脚。 b. 程序设计:在每个ESP8266上编写程序,通过串口发送和接收数据。例如,一个ESP8266发送数据的代码如下: ```python import machine import time uart = machine.UART(0, 115200) # 初始化串口 uart.write('Hello, ESP8266!') # 发送数据 time.sleep(1) # 等待1秒钟 ``` 另一个ESP8266接收数据的代码如下: ```python import machine import time uart = machine.UART(0, 115200) # 初始化串口 while True: if uart.any(): data = uart.read() # 读取数据 print(data) # 输出数据 time.sleep(0.1) # 等待0.1秒钟 ``` 2. 通过Wi-Fi通信 a. 硬件连接:将两个ESP8266分别连接到同一个Wi-Fi网络中。 b. 程序设计:在每个ESP8266上编写程序,通过Wi-Fi发送和接收数据。例如,一个ESP8266发送数据的代码如下: ```python import socket import time addr = ('192.168.1.100', 8080) # 接收方的IP地址和端口号 s = socket.socket() # 创建socket对象 s.connect(addr) # 连接到接收方 s.send('Hello, ESP8266!') # 发送数据 s.close() # 关闭socket time.sleep(1) # 等待1秒钟 ``` 另一个ESP8266接收数据的代码如下: ```python import socket import time addr = ('', 8080) # 本地IP地址和端口号 s = socket.socket() # 创建socket对象 s.bind(addr) # 绑定到本地IP地址和端口号 s.listen(1) # 监听连接 conn, addr = s.accept() # 接受连接 while True: data = conn.recv(1024) # 接收数据 if not data: break print(data) # 输出数据 conn.close() # 关闭连接 s.close() # 关闭socket ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李今天摸鱼了嘛?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值