发 帖  
原厂入驻New
LiteOS通信模组教程01-AT指令玩转WIFI通信
2020-2-25 10:03:11  424 单片机 物联网 小熊派BearPi Liteos 嵌入式
分享
本帖最后由 小熊派开源社区 于 2020-2-25 10:11 编辑

1. 环境准备

硬件准备



软件准备
  • QCOM串口助手

  • 网络调试助手

文档准备

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

切换开关

小熊派开发板右上角的开关拨到AT-PC一端,则模组直接与PC相连,方便调试。
所有工具和文档均在『小熊派开源社区』公众号回复“通信模组”获取!

2.基础AT指令

AT
指令:AT  
功能:测试AT指令功能是否正常
示例:
  1. AT

  2. OK
复制代码

AT+GMR
指令:AT+GMR
功能:查询模组固件版本信息
示例:
  1. AT+GMR

  2. AT version:1.3.0.0(Jul 14 2016 18:54:01)
  3. SDK version:2.0.0(5a875ba)
  4. v1.0.0.3
  5. Mar 13 2018 09:37:06
  6. OK
复制代码
AT+RST
指令:AT+RST
功能:软复位模组
示例:
  1. AT+RST

  2. OK

  3. ets Jan  8 2013,rst cause:2, boot mode:(3,6)

  4. load 0x40100000, len 2408, room 16
  5. tail 8
  6. chksum 0xe5
  7. load 0x3ffe8000, len 776, room 0
  8. tail 8
  9. chksum 0x84
  10. load 0x3ffe8310, len 632, room 0
  11. tail 8
  12. chksum 0xd8
  13. csum 0xd8

  14. 2nd boot version : 1.6
  15.   SPI Speed      : 40MHz
  16.   SPI Mode       : QIO
  17.   SPI Flash Size & Map: 32Mbit(512KB+512KB)
  18. jump to run user1 @ 1000

  19. WIFI DISCONNECT
复制代码


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


3.1. 配置WIFI模式

使用下面的命令设置模组的工作模式为 softAP 与 Station 模式共存
  1. AT+CWMODE=3
复制代码

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

示例:
  1. AT+CWJAP="FAST_88A6","12345678"

  2. WIFI CONNECTED
  3. WIFI GOT IP

  4. OK
复制代码


3.3. 查询设备的ip地址

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

  1. AT+CIFSR
复制代码

示例:
  1. AT+CIFSR

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

  6. OK
复制代码


3.4. 连接远程TCP服务器

首先我们需要搭建一个TCP服务器,有两种方式:
  • 在服务器上使用Python、Java、C#等语言自行编写服务器程序;
  • 在本地PC上使用网络调试助手开启TCP服务器;

这里我们使用第二种方式,使用网络调试助手工具开启一个TCP服务器,具体步骤如下:
首先保证PC与模组连接到的是同一台路由器,在cmd命令行中使用Ping命令测试网络是否是通的:
  1. ping <第3.3步获取到的模组ip地址>
复制代码

示例:
  

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

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

创建成功之后,如图:

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

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

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

示例:
  1. AT+CIPSTART="TCP","192.168.0.102",9999

  2. CONNECT

  3. OK
复制代码

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


3.5. 模组主动发送消息

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

  2. >hello
复制代码

示例:
  1. AT+CIPSEND=5


  2. OK
  3. >
  4. Recv 5 bytes

  5. SEND OK
复制代码

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

3.6. 模组接收消息

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

在串口助手中模组会输出收到的信息:
  1. +IPD,13:hello,esp8266
复制代码


3.7. 关闭TCP连接

通信完毕之后,可以使用下面的命令关闭TCP连接:
  1. AT+CIPCLOSE
复制代码

示例:
  1. CLOSED

  2. OK
复制代码



关注“小熊派开源社区”微信公众号,回复“LiteOS内核实战”获取实战源代码。


-------------------------------------END--------------------------------------



1
分享淘帖 显示全部楼层

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发资料
关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表