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\r
模块返回 +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\r
OK
5、PC起TCP服务器并自动连接(设置端口号为8080)
与模块的tcp client自动连接成功。 +CIPEVENT:1,SERVER,CONNECTED
6、AT指令模式下,模块通过串口向TCP服务端发数据 AT+CIPSEND=1,10\r12325hjdgd
TCP客户端接收区收到:12325hjdgd
7、TCP服务端工具发送区发送:1234567890
发送成功
8、透传模式下,模块通过串口向TCP客户端发数据 进入透传模式 AT+CIPSENDRAW\r
串口输入:abcdefghijklmn
PC端TCP服务端接收到 abcdefghijklmn
9、透传模式下,TCP客户端发送数据至模块串口 TCP服务端发送区输入数据:1234567890
模块串口接收到:+CIPEVENT:SOCKET,1,10,1234567890
AP模式下模块作为TCP服务端
1、设置并开启Soft_AP模式 AT+WSAP=jerry,12345678\r 等5S时间
回应 OK
2、查询模块的IP地址 AT+WSAPIP?\r
回应 +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\r
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\r12345
回应 TCP客户端接收区收到:12345
7、AT指令模式下,TCP客户端向模块串口发数据 1. TCP工具发送区发送:1234567890
回应 发送成功
三、关于无线通讯模块开发流程总结
常用于物联网方向的无线通讯模块主要包括GPRS、4G、WIFI、zigbee、蓝牙等。使用这些模块都是单片机通过AT指令与模块进行通讯,在开发的过程中,只需要按照模块官网提供的指令以及发送指令的工具进行通讯,官方一般还会提供基础指令使用用例,根据这些资料开发。