[ESP8266]--开启服务器模式和客户端模式

版权声明:本文为博主原创文章,欢迎转载,转载请注明出处。 https://blog.csdn.net/wangyijieonline/article/details/53087344

这两天突然心血来潮想搞下ESP8266,正好之前用蓝牙传输数据的方式宣告失败,直接换WIFI,那么问题来了,这玩意怎么开始呢?下面就让我们一步一步的开启Wifi数据传输之旅。


Step 1:最小系统启动

  这个应该算是比较基础的,若想从FLASH启动进入AT系统,只需中间四个脚接VCC高电平即可,其中GPIO0为高电平代表从FLASH启动,GPIO0为低电平代表进入系统升级状态,此时可以经过串口升级内部固件。

GPIO16(RST)可做外部硬件复位使用。


Step 2:开启服务器(Server)模式(可以让其他客户端连接)

AT+CWMODE=3 //将模块设置为Station+AP模式,提供路由模式,正常返回OK

指令:AT+CWMODE= mode
说明:mode:1-Station模式,2-AP模式,3-AP兼Station模式
响应:OK

AT+RST //重启模块,正常返回ready,(WIFi GOT IP)

指令:AT+RST
响应:OK

AT+CIPMUX=1 //开启多连接模式,正常返回OK

指令:AT+CIPMUX=mode
说明:mode:0-单路连接模式,1-多路连接模式
响应:OK

AT+CIPSERVER=1,8080//创建服务器

指令:AT+CIPSERVER=mode[,port]
说明:mode:0-关闭server模式,1-开启server模式
   port:端口号,缺省值为333
响应:OK
说明:(1) AT+ CIPMUX=1时才能开启服务器;关闭server模式需要重启
   (2)开启server后自动建立server监听,当有client接入会自动按顺序占用一个连接。

AT+CIFSR //查询IP地址

指令:AT+CIFSR
说明:查看本模块的IP地址
 注意:AP模式下无效!会造成死机现象!
响应:+CIFSR:APIP,”192.168.4.1”
   +CIFSR:APMAC,”62:01:94:0f:15:37”
   +CIFSR:STAIP,”192.168.1.133”
   +CIFSR:STAMAC,”60:01:94:0f:15:37”
说明:+CIFSR:APIP,AP的IP(其实我也不是太懂这个AP到底是个什么鬼)
   +CIFSR:APMAC,AP的MAC地址
   +CIFSR:STAIP: 本模块IP地址
   +CIFSR:STAMAC: 本模块MAC地址
现在可以接入设备了,比如我现在介入了两个设备:每接入一个设备就会有一个提示:

0,CONNECT
1,CONNECT

前面的数字就是设备的ID号,给设备发送信息的时候会用到,如果记不住这个ID号了,可以用下面的指令查询:

AT+CIPSTATUS //查看当前建立的连接

指令:AT+CIPSTATUS
响应:STATUS: states
   + CIPSTATUS:id,type,addr,port,type
   OK
说明:id:连接的id号0-4
   type:字符串参数,类型TCP或UDP
   addr:字符串参数,IP地址
   port:端口号
   type: 0-本模块做client的连接,1-本模块做server的连接

AT+CIPSEND=1,6 //向某个连接发送数据

指令:1)单路连接时(+CIPMUX=0),指令为:AT+CIPSEND=length
   2)多路连接时(+CIPMUX=1),指令为:AT+CIPSEND= id,length
响应:收到此命令后先换行返回”>”,然后开始接收串口数据,当数据长度满length时发送数据。
   如果未建立连接或连接被断开,返回ERROR
   如果数据发送成功,返回 SEND OK
说明:id:需要用于传输连接的id号
   length:数字参数,表明发送数据的长度,最大长度为2048
   


Step 3:开启客户端(Client)模式(连接服务器)

AT+CWMODE=3//将模块设置为Station+AP模式,提供路由模式,正常返回OK(其实是接着上边来的)

指令:AT+CWMODE= mode
说明:mode:1-Station模式,2-AP模式,3-AP兼Station模式
响应:OK

AT+RST //重启模块,正常返回ready,(WIFi GOT IP)

指令:AT+RST
响应:OK

AT+CIPSERVER=0 //关闭server服务 (如果没有开启server服务,可免除此步骤)

指令:AT+CIPSERVER=mode[,port]
说明:mode:0-关闭server模式,1-开启server模式
   port:端口号,缺省值为333
响应:OK
说明:(1) AT+ CIPMUX=1时才能开启服务器;关闭server模式需要重启
   (2)开启server后自动建立server监听,当有client接入会自动按顺序占用一个连接。

AT+CIPMUX=1//开启多连接模式

指令:AT+CIPMUX=mode
说明:mode:0-单路连接模式,1-多路连接模式
响应:OK

AT+CIPSTART=2,”TCP”,”192.168.1.122”,8080//建立TCP连接

指令:1)单路连接时(+CIPMUX=0),指令为:AT+CIPSTART= type,addr,port
   2)多路连接时(+CIPMUX=1),指令为:AT+CIPSTART=id,type,addr,port
响应:如果格式正确且连接成功,返回 OK,否则返回 ERROR
   如果连接已经存在,返回 ALREAY CONNECT
说明:id:0-4,连接的id号
   type:字符串参数,表明连接类型,”TCP”-建立tcp连接,”UDP”-建立UDP连接
   addr:字符串参数,远程服务器IP地址
   port:远程服务器端口号

此时使用网络工具在本机建立一个服务器,就可以连接上,实现收发功能

AT+CIPSEND=2,8//向服务器发送数据

指令:1)单路连接时(+CIPMUX=0),指令为:AT+CIPSEND=length
   2)多路连接时(+CIPMUX=1) ,指令为: AT+CIPSEND= id,length
响应:收到此命令后先换行返回”>”,然后开始接收串口数据
   当数据长度满length时发送数据。
   如果未建立连接或连接被断开,返回ERROR
   如果数据发送成功,返回 SEND OK
说明:id:需要用于传输连接的id号
   length:数字参数,表明发送数据的长度,最大长度为2048


  就在我快写完了的时候我惊奇的发现貌似AP模式和STA模式都可以建立Server或者Client,当时不知道为什么这么设计。
  既然你已经看到这里了,我就要告诉你,你刚才做的其实就是socket编程,是不是觉得很神奇,我也是想了好长时间突然想明白的,还有就是TCP和UDP的区别,尤其是和上位机通信的时候一定要注意。

[ESP8266]--开启服务器模式和客户端模式相关推荐

  1. Spring Security Oauth2:授权模式、简单模式 、密码模式 和 客户端模式

    Oauth2的授权模式流程 1.先得到用户的授权grant 2.利用grant得到令牌token 3.根据token获取用户的信息 步骤1:客户端(第三方应用)向用户请求授权. 步骤2:用户单击客户端 ...

  2. 初探IdentityServer4(客户端模式)

    Oatuth2协议的客户端模式介绍 Client Credentials Grant (客户端模式)是Oauth2.0协议中,四种模式自建单的一种.它由两部分构成,客户端和认证服务器.认证服务器确认客 ...

  3. ESP8266 SoftAP模式 Station模式 SoftAP+Station模式说明

    一.ESP8266模块工作模式 ESP8266模块可以工作在多种模式下实现不同的功能. (1)SoftAP模式(软路由模式) 在此模式下,模块本身相当于一个路由器,其他设备可链接到该模块发送的信号,主 ...

  4. 路由、中继、AP、客户端模式之间的区别

    市面上接触到的无线网络设备有路由器.中继器.无线AP.无线网卡等产品.细心的会发现,这些产品虽然有做细分,但功能上很多都有AP(接入点)模式.Router(无线路由)模式.Repeater(中继)模式 ...

  5. java基础巩固-宇宙第一AiYWM:为了维持生计,Redis基础Part7(Redis常见使用(部署)方式:单机模式、主从模式、哨兵模式、集群模式)~整起

    Redis持久化:RDB.AOF是针对存储在一台服务器上的数据由于存储过程被打断而发生丢失的情况的.此时,咱们肯定要考虑到,所有鸡蛋都放在一个篮子里是会出问题的. 如果服务器发生了宕机,由于数据恢复是 ...

  6. (七)Spring Security (spring-cloud-starter-oauth2)应用详解------认证授权服务------授权码模式和密码模式

    OAuth2.0介绍 OAuth(开放授权)是一个开放标准,允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方应用或分享他们数据的所有内容.OAuth2. ...

  7. 迅捷fw150服务器无响应,Fast迅捷FW150RM无线路由器Client客户端模式怎么设置

    Fast迅捷FW150RM无线路由器配置简单,不过对于没有网络基础的用户来说,完成路由器的安装和Client客户端模式的设置,仍然有一定的困难,本文学习啦小编主要介绍Fast迅捷FW150RM无线路由 ...

  8. ESP8266的AP模式与STA模式简单测试

    系列文章: ESP8266的AP模式与STA模式简单测试 简单的Java服务器和客户端的通信 STM32 ESP8266和Java服务器透传模式下的双向通信 jsp向servlet传输数据 Servl ...

  9. 两个ESP8266一个作为服务器一个作为客户端实现互相通讯

    关于模块的信息我在这里简单的介绍一下:         在使用前要确保电压为3.3V   接线为3v3- 3.3V电源  RX和TX分别接USB转串口线的TX和RX,即要交叉着接.最后还有一个EN引脚 ...

最新文章

  1. 使用CA和CCA克隆账户
  2. Mybatis的xml文件中$ 与 #的区别
  3. 预测数值型数据:回归 源码分析(2)
  4. 计算机应用基础模块2客观题答案 文档,计算机应用基础网上形考答案模块2 Word 2010 文字处理系统客观题答案(精).doc...
  5. 修改Linux主机名
  6. 数据结构-一元多项式加减程序
  7. countif函数比较两列不同_这些Excel函数公式,职场办公天天用,赶紧掌握!
  8. [论文阅读] Learning without Memorizing
  9. 实战百度竞价恶意点击心得
  10. 给网站设置ICO图标
  11. Java 中isEmpty和null、 的区别
  12. 请求头添加token
  13. 开源自动化运维平台Spug
  14. PMP - 活动持续时间估算题
  15. 专升本——主从复合句
  16. 华工的计算机专业硕士就业前景,这所热门地区的985就业率排名第一!不想了解下吗?...
  17. 线索化二叉树的学习记录
  18. [LBS学习笔记3]redis geo地理位置查询分析
  19. 我的世界HMCL启动器以及加入服务器步骤
  20. 资源共享(好东西,要分享)

热门文章

  1. 《深入理解 Spring Cloud 与微服务构建》第十二章 服务注册和发现 Consul
  2. TeleportPoint可瞬移的目标位置
  3. Andrew NG 机器学习编程作业3 Octave
  4. js中eval 详解
  5. Linux关闭开启防火墙命令
  6. 【2017百度之星程序设计大赛 - 资格赛】 度度熊与邪恶大魔王
  7. Myeclipse中点(.)不出来方法或者属性?
  8. 1644 免费馅饼 题解(c++)(S.B.S.)
  9. [Ubuntu] bash shell soft-link error: Too many levels of symbolic links
  10. [转] C#中Dispose和Close的区别