STM32物联网通信WIFI

一、WiFi通讯简介

   Wi-Fi模块又名串口Wi-Fi模块,属于物联网传输层,功能是将串口或TTL电平转为符合Wi-Fi无线网络通讯标准的嵌入式模块,内置无线网络协议IEEE802.11b.g.n协议栈以及TCP/IP协议栈。传统的硬件设备嵌入Wi-Fi模块可以直接利用Wi-Fi连入互联网,是实现无线智能家居、M2M等物联网应用的重要组成部分。

   1、庆科EMW3060应用模式,EWM3060支撑单AP模式、单STA模式和混合模式:

     AP模式:无线接入点,是一个无线网络的创建者,是网络的中心节点。比如一个无线路由器就是一个AP。

     STA模式:每一个连接到无线网络的终端称为一个STA站点可以连接上当前环境下的WIFI热点。

  2、什么是透传模式?

    透传就是指不需要关心wifi协议是如何实现的。所需要做的就是A通过串口发送数据,B通过串口接收数据,整个过程中A串口和B串口就像是用导线直接连接在一起,这样对开发人员来说就是完全透明的。

二、Wifi通讯流程分析

STATION模式下的TCP客户端

  1、进入AT指令模式 +++
  2、设置并开启STATION模式,等待连接成功 AT+WJAP=Xiaomi_BB0C,www.induscn.cn53307985
    模块返回 +WEVENT:STATION_UP
  3、PC机连接到 Xiaomi_BB0C;PC端打开cmd.exe,输入指令:ipconfig
    成功连接 Xiaomi_BB0C,PC机的IP地址:192.168.0.153
  4、设置模块做tcp client的参数 AT+CIPSTART=1,tcp_client,192.168.0.153,8080
    OK
  5、PC起TCP服务器并自动连接(设置端口号为8080)
    与模块的tcp client自动连接成功。 +CIPEVENT:1,SERVER,CONNECTED
  6、AT指令模式下,模块通过串口向TCP服务端发数据 AT+CIPSEND=1,10 12325hjdgd
    TCP客户端接收区收到:12325hjdgd
  7、TCP服务端工具发送区发送:1234567890
    发送成功
  8、透传模式下,模块通过串口向TCP客户端发数据 进入透传模式 AT+CIPSENDRAW
    串口输入:abcdefghijklmn
    PC端TCP服务端接收到 abcdefghijklmn
  9、透传模式下,TCP客户端发送数据至模块串口 TCP服务端发送区输入数据:1234567890
    模块串口接收到:+CIPEVENT:SOCKET,1,10,1234567890

AP模式下模块作为TCP服务端

  1、设置并开启Soft_AP模式 AT+WSAP=jerry,12345678 等5S时间
    回应 OK
  2、查询模块的IP地址 AT+WSAPIP?
    回应 +WSAPIP:10.10.10.1,255.255.255.0,10.10.10.1

  3、PC连接到模块启动的AP PC端 Wlan 列表找到AP:jenny,并连接
    成功连接
  4、设置模块做TCP Server AT+CIPSTART=0,tcp_server,8080

  5、PC起TCP客户端并连接 目标IP:10.10.10.1,目标端口:8080,不指定本地端口
    连接成功 连接成功.+CIPEVENT=CLIENT,CONNECTED,10.10.10.2,54849连接成功.+CIPEVENT=CLIENT,CONNECTED,10.10.10.2,54849
  6、AT指令模式下,模块通过串口向TCP客户端发数据 AT+CIPSEND=0,54849,5 12345
    回应 TCP客户端接收区收到:12345

  7、AT指令模式下,TCP客户端向模块串口发数据 1. TCP工具发送区发送:1234567890
    回应 发送成功

 

三、关于无线通讯模块开发流程总结

  常用于物联网方向的无线通讯模块主要包括GPRS、4G、WIFI、zigbee、蓝牙等。使用这些模块都是单片机通过AT指令与模块进行通讯,在开发的过程中,只需要按照模块官网提供的指令以及发送指令的工具进行通讯,官方一般还会提供基础指令使用用例,根据这些资料开发。

 

 

基础指令用例

 

原文地址:https://www.cnblogs.com/gzqblogs/p/10598892.html