zoukankan      html  css  js  c++  java
  • LiteOS通信模组教程01-AT指令玩转WIFI通信

    1. 环境准备

    硬件准备

    • 小熊派开发板

    BearPi-IoT

    • ESP8266通信模组

    ESP8266通信模组

    软件准备

    • QCOM串口助手

    QCOM串口助手

    • 网络调试助手

    网络调试助手

    文档准备

    此文档来自于乐鑫官方!阅读本教程时,关于AT指令的详细说明请参考该文档!

    切换开关

    小熊派开发板右上角的开关拨到AT-PC一端,则模组直接与PC相连,方便调试。

    所有工具和文档均在『小熊派开源社区』公众号回复“通信模组”获取!

    2. 基础AT指令

    AT

    指令:AT

    功能:测试AT指令功能是否正常

    示例:

    AT
    
    OK
    

    AT+GMR

    指令:AT+GMR

    功能:查询模组固件版本信息

    示例:

    AT+GMR
    
    AT version:1.3.0.0(Jul 14 2016 18:54:01)
    SDK version:2.0.0(5a875ba)
    v1.0.0.3
    Mar 13 2018 09:37:06
    OK
    

    AT+RST

    指令:AT+RST

    功能:软复位模组

    示例:

    AT+RST
    
    OK
    
     ets Jan  8 2013,rst cause:2, boot mode:(3,6)
    
    load 0x40100000, len 2408, room 16 
    tail 8
    chksum 0xe5
    load 0x3ffe8000, len 776, room 0 
    tail 8
    chksum 0x84
    load 0x3ffe8310, len 632, room 0 
    tail 8
    chksum 0xd8
    csum 0xd8
    
    2nd boot version : 1.6
      SPI Speed      : 40MHz
      SPI Mode       : QIO
      SPI Flash Size & Map: 32Mbit(512KB+512KB)
    jump to run user1 @ 1000
    
    WIFI DISCONNECT
    

    3. 基于 TCP 协议连接远程服务器通信实例

    3.1. 配置WIFI模式

    使用下面的命令设置模组的工作模式为 softAP 与 Station 模式共存:

    AT+CWMODE=3
    

    示例:

    AT+CWMODE=3
    
    OK
    

    softAP模式下,ESP8266模组自身作为一个WIFI热点,允许其他设备连接此热点;Station模式下,ESP8266模组作为一个设备去连接其他的WIFI热点。

    3.2. 连接可以上网的路由器

    使用下面的命令将模组连接到一个可以上网的无线路由器上,或者可以正常上网的手机热点也可以,其中SSID是热点名称,password是热点密码:

    AT+CWJAP="SSID","password"
    

    示例:

    AT+CWJAP="FAST_88A6","12345678"
    
    WIFI CONNECTED
    WIFI GOT IP
    
    OK
    

    3.3. 查询设备的ip地址

    连接路由器成功之后,使用下面的命令查询模组获取的ip地址,查询出的ip有两种,APIP是模组自身作为热点提供的网关ip,另一个STAIP就是模组连接路由器自动获取到的ip地址:

    AT+CIFSR
    

    示例:

    AT+CIFSR
    
    +CIFSR:APIP,"192.168.4.1"
    +CIFSR:APMAC,"de:4f:22:5e:90:b7"
    +CIFSR:STAIP,"192.168.0.101"
    +CIFSR:STAMAC,"dc:4f:22:5e:90:b7"
    
    OK
    

    3.4. 连接远程TCP服务器

    首先我们需要搭建一个TCP服务器,有两种方式:

    • 在服务器上使用Python、Java、C#等语言自行编写服务器程序;
    • 在本地PC上使用网络调试助手开启TCP服务器;

    这里我们使用第二种方式,使用网络调试助手工具开启一个TCP服务器,具体步骤如下:

    首先保证PC与模组连接到的是同一台路由器,在cmd命令行中使用Ping命令测试网络是否是通的:

    ping <第3.3步获取到的模组ip地址>
    

    示例:

    测试PC和模组之间网络是否通畅

    确保模组与PC之间可以ping通之后,开启TCP服务器:

    创建服务器

    接下来填写TCP服务器的监听端口,范围0-65535,注意避开21(FTP)、22(SSH)、80(HTTP)、431(HTTPS)端口即可,这里我使用9999作为测试:

    填写TCP服务器监听端口

    创建成功之后,如图:

    创建成功界面

    接下来还需要关闭Windows Defender 的网络防火墙,否则模组不能访问到PC。在桌面左下角搜索“防火墙”,选择“防火墙和网络保护”,关闭三种网络的防火墙:

    关闭防火墙

    接下来还有最后一步,查询PC的ip地址,可以在网络设置中查看:

    查询本机ip

    最后,使用AT命令连接TCP服务器,其中第一个参数是协议类型,“TCP”则表示使用TCP协议,第二个参数是TCP服务器ip地址,也可以使用域名,最一个参数是TCP服务器开启监听的端口(注意:没有引号):

    AT+CIPSTART="TCP","192.168.0.102",9999
    

    示例:

    AT+CIPSTART="TCP","192.168.0.102",9999
    
    CONNECT
    
    OK
    

    连接之后,在网络调试助手中也可以看到:

    连接成功界面

    3.5. 模组主动发送消息

    使用如下的命令即可向TCP服务器发送消息,首先设置要发送数据的字节数,等待模组返回>后,输入要发送的数据即可,如果发送的数据超过了设置的n个字节,则只发送前n个字节,后面的数据被认为是无效数据,不会发送:

    AT+CIPSEND=5
    
    >hello
    

    示例:

    AT+CIPSEND=5
    
    
    OK
    > 
    Recv 5 bytes
    
    SEND OK
    

    发送成功看PC端的网络调试助手是否收到:

    收到模组发送数据

    3.6. 模组接收消息

    当网络调试助手作为TCP服务器向模组发送数据时,模组会打印出收到的信息:

    发送数据

    在串口助手中模组会输出收到的信息:

    +IPD,13:hello,esp8266
    

    3.7. 关闭TCP连接

    通信完毕之后,可以使用下面的命令关闭TCP连接:

    AT+CIPCLOSE
    

    示例:

    CLOSED
    
    OK
    
  • 相关阅读:
    Intent 传递Map数据
    android 读取.properties文件
    android 复制到剪切板
    SVN Update Error: Please execute the 'Cleanup' command
    Win8安装程序出现2502、2503错误解决方法
    启动系统自带的应用程序
    解决底部Button遮挡ListView最后一项内容的bug
    Intent传递list集合时异常解决
    Tomcate 启动异常,java.net.BindException: Address already in use: JVM_Bind:80的解决办法
    【Web】阿里icon图标gulp插件(gulp-qc-iconfont)
  • 原文地址:https://www.cnblogs.com/bearpi/p/12383054.html
Copyright © 2011-2022 走看看