STM32应用开发教程进阶--Wi-Fi通信(ESP8266模块:STA、AP、STA+AP)

2024-04-29 01:12

本文主要是介绍STM32应用开发教程进阶--Wi-Fi通信(ESP8266模块:STA、AP、STA+AP),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

实现目标

1、熟悉Wi-F、ESP8266模块

2、掌握ESP8266模块共3种工作模式:STA、AP、STA+AP的配置

3、具体实现目标:(1)AT固件烧录;(2)ESP8266模块STA、AP、STA+AP的配置


一、Wi-Fi概述

1、Wi-Fi定义

        Wi-Fi是无线保真的缩写,英文全称为Wireless Fidelity,在无线局域网才对范畴是指“无线兼容性认证”,实质上是一种商业认证,同时也是一种无线联网技术,与蓝牙技术一样,同属于在办公室和家庭中使用的短距离无线技术。同蓝牙技术相比,它具备更高的传输速率,更远的传播距离,已经广泛应用于笔记本、手机、汽车等广大领域中。

    Wi-Fi是无线局域网(WLAN)的一个标准,最早的无线局域网可以追溯到上个世纪70年代,基于ALOHA协议的UHF无线网络连接了夏威夷岛,是现在无线局域网的一个最初版本。发展历程如下:

2、Wi-Fi的组网结构

Wi-Fi有两种组网结构:一对多(Infrastructure模式)和点对点(Ad-hoc模式,也叫IBSS模式)。最常用的Wi-Fi是一对多结构的。一个AP(接入点),多个接入设备,无线路由器是其实就是路由器+AP。Wi-Fi还可以点对点结构,比如两个笔记本可以用Wi-Fi直接连接起来不经过无线路由器。

3、Wi-Fi的频道

        2.4G的Wi-Fi划为14个频道,每个频道带宽20-22Mhz,不同的调制方式带宽稍微不同。每个频道的间隔为5M,很明显,相邻的多个频道是有干扰的,相互没有干扰的只有1,6,11,14或者1,5,9,13,如下图所示。这也是为什么在有多个Wi-Fi热点的地方会上不了网,或者非常慢。现在无线路由器都有手动设置频道的功能,如果在家使用无线路由器最好设置到一个和附近的其他Wi-Fi信号不同的最好是间隔比较远的频道。

4、Wi-Fi的安全性

        常用的Wi-Fi加密有WEP,WPA,WPA2。WEP安全性太差基本上被淘汰了。目前WPA2是被业界认为最安全的加密方式。WPA加密是WEP加密的改进版,包含两种方式:预共享密钥(PSK)和Radius密钥。其中预共享密钥(PSK)有两种密码方式:TKIP和AES,相比TKIP,AES具有更好的安全系数。WPA2加密是WPA加密的升级版,建议优先选用WPA2-PSK AES模式。WPA/WPA2加Radius密钥是一种最安全的加密类型,不过由于此加密类型需要安装Radius服务器,一般用户不容易用到。

二、无线通信技术对比

1、Wi-Fi与其他无线通信技术的覆盖范围数据率对比

2、Wi-Fi与ZigBee、蓝牙对比

三、Wi-Fi模组

1、模组介绍

 ESP8266是一款低成本、高性能的Wi-Fi模块,由Espressif Systems开发。它集成了Wi-Fi功能和TCP/IP协议栈,并可通过串口与主控制器进行通信。ESP8266广泛应用于物联网设备和DIY项目中。下图为深圳安信可 ESP-12F模块。

ESP-12F模块:

  • 内置 1 路 10 bit 高精度 ADC
  • 集成 Wi-Fi MAC/ BB/RF/PA/LNA
  • 串口速率最高可达 4Mbps
  • 支持 STA/AP/STA+AP 工作模式
  • 通用 AT 指令可快速上手
  • 内置 Tensilica L106 超低功耗 32 位微型 MCU,主频支持80 MHz 和160 MHz,支持 RTOS

2、工作模式

ESP8266模块共支持3种工作模式:STA、AP、STA+AP

(1)STA模式
       在此模式下,模块可连接其他设备提供的无线网络,例如通过 WIFI 连接至路由器,从而可以访问互联网,进而实现手机或电脑通过互联网实现对设备的远程控制。   
      简单来说,此模式下,该模块相当于一个用户,需要链接外部的WIFI(或自己的热点),通过链接的WIFI进行与其他设备的通信;
(2)AP 
        AP 模式为默认的模式,在此模式下,模块将作为热点供其他设备连接, 从而让手机或电脑直接与模块进行通讯,实现局域网的无线控制。
        简单来说,此模式下,该模块相当于提供一个热点,创建一个小范围的局域网,凡是连接上的设备就能与其进行通信;
(3)STA+AP
       该模式为 STA 模式与 AP 模式共存的一种模式,模块既能连接至其他 设备提供的无线网络,又能作为热点,供其他设备连接,以实现广域网与局域网的无缝切换, 方便操作使用。

3、AT指令简介 

        AT 指令是以 AT 开头、回车(<CR>)结尾的特定字符串,AT 后面紧跟的字母和数字表明AT 指令的具体功能。几乎所有的 AT 指令(除了“A/”及“+++”两个指令外)都以一个特定的命令前缀开始,以一个命令结束标志符结束。命令前缀一般由 AT 两个字符组成,命令结束符通常为回车( <CR>)。模块的响应通常紧随其后,格式为: <回车><换行><响应内容><回车><换行>。

     ESP8266模块使用AT 指令配置使用:通过串口将AT指令传输到ESP8266,ESP8266便依指令工作;也可以通过单片机串口发送AT指令到模块,模块依照AT指令工作。

四、硬件连接

1、开发板ESP8266模块原理图

说明:P7为USART1、USART2和WIFI功能短接端子。本实验中,用两个短接帽分别接上P7(3与5)、P7(4与6)。我们通过PC串口助手、USB转串口(CH340)给WIFI模块烧写固件。

五、AT固件烧录

         打开 PC 端的flash_download_tool软件,选择ESP8266 DownloadTool,选择待烧录固件 Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a_20171130.bin 文件,并设置好 bin 文件烧录至芯片的地址信息和其他的一些信息。

烧写步骤:

1、先按住开发板上KIO0和WRST两个按键,再点击软件左下方的“START”按钮,再依次松开WRST、KIO0两个按键。

2、验证

打开串口助手,串口参数:115200,1,8,无发送AT+回车 

六、AP模式实验

AP模式相当于提供一个热点,创建一个小范围的局域网,凡是连接上的设备就能与其进行通信;

指令集:

AT+CWMODE=2//设置AP模式

AT+RST//重启生效

AT+CWSAP="ATK-MW8266D", "12345678",1,4//设置 AP 参数。SSID 为 ATK-MW8266D(WIFI名称)、密码为 12345678、 通道为 1、加密方式为 WPA_WPA2_PSK

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

AT+CIPSERVER=1,8086//开启 SERVER 模式,端口号为 8086

注:AT 指令必须大写,且每条指令都需以回车换行符结尾     

七、STA模式

STA模式为:该模块相当于一个用户,需要连接外部的WIFI,通过连接的WIFI进行与其他设备的通信;

指令集:

AT+CWMODE=1//设置为 STA 模式

AT+RST//重启生效

AT+CWLJP//查看周围AP(WIFI热点)

AT+CWJAP=”ATK-MW8266D”, ”12345678”//加入 WiFi 热点。SSID:ATK-MW8266D、密码:12345678

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

AT+CIPSERVER=1,8086//开启 SERVER 模式,端口号为 8086

AT+CIPSEND=0,5//向 ID0 发送 5 字节数据包


总结

这篇关于STM32应用开发教程进阶--Wi-Fi通信(ESP8266模块:STA、AP、STA+AP)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/944746

相关文章

从零到App Store发布应用

在网上找到的教程都比较旧了,所以想在此写一个重复的记录,好让自己想发开个人应用的开发者。 什么是开发者账号?   顾名思义,开发者账号当然是ios开发者用到的了,将写的程序部署到真机上,打包发布到app store上,都需要用到开发者证书。同时,衍生的功能就是可以优先体验测试版系统,可以在非越狱的ios设备上安装破解程序。   可以让开发者提前适用产品,上传软件等等,

C#开发B/S方式ActiveX控件

1. 概念 ActiveX 是一个开放的集成平台,为开发人员、 用户和 Web生产商提供了一个快速而简便的在 Internet 和 Intranet 创建程序集成和内容的方法。使用 ActiveX, 可轻松方便的在 Web页中插入多媒体效果、 交互式对象、以及复杂程序,创建用户体验相当的高质量多媒体CD-ROM 。 2. 开发工具及使用环境 本文使用的是Microsoft Visual

OpenHamrony 实战开发——LiteOS-M内核的中断管理

在程序运行过程中,当出现需要由CPU立即处理的事务时,CPU暂时中止当前程序的执行转而处理这个事务,这个过程叫做中断。当硬件产生中断时,通过中断号查找到其对应的中断处理程序,执行中断处理程序完成中断处理。 通过中断机制,在外设不需要CPU介入时,CPU可以执行其他任务;当外设需要CPU时,CPU会中断当前任务来响应中断请求。这样可以避免CPU把大量时间耗费在等待、查询外设状态的操作上,有效提高系

半个小时搞懂STM32面经知识——DMA

1.DMA 1.1 什么是DMA? DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。 CPU无时不刻的在处理着大量的事务,但有些事情却没有那么重要,比方说数据的复制和存储数据,如果我们把这部分的CPU资源拿出来,让CPU去处理其他的复杂计算事务,是不是能够更好的利用CPU的资源呢? 比如希望外设A的数据拷贝到外设B,只要给两种外

Dev C++开发lib和dll

下面通过例子简单介绍dev c++ 是如何开发lib和dll并使用的。关于dev c++ 我使用的版本是5.11,单击下载: 一、创建项目结构(文件夹) 为了使整个项目例子看起来比较易于管理,下面我们在D盘创建文件夹d:/gcc,在gcc文件夹里我们分别创建include和lib、dll文件夹。 运行:cmd 分别执行下面命令: >d: >mkdir gcc >cd gcc

安装虚拟机教程(学习汇编语言)

下载链接:https://pan.baidu.com/s/1skLHoHv 密码:2eeu 下载后解压有一下文件:   说明: (1)VMware-workstation-full-10.0.1-1379776.exe是虚拟机管理软件。 (2)zh-hans_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74

鸿蒙开发接口Ability框架:【AbilityMonitor】

AbilityMonitor AbilityMonitor模块提供匹配满足指定条件的受监视能力对象的方法的能力,最近匹配的能力对象将保存在AbilityMonitor对象中。 说明: 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 使用说明 通过abilityDelegator中的addAbilityMonitor来设置

绘制一个单级放大电路原理图过程,保姆级教程

新手在学习pads的使用最好最快的方法就是实际上手去画原理图,画PCB图,在这个过程中,就能够更快速得掌握PADS软件的使用。 本篇就是对于实际画原理图过程的一个记录,手把手教学,如果有纰漏或者有更好的一些技巧,欢迎留言交流。 首先,按照必要的流程(具体流程可以看以前文章:)就是创建一个新的原理图项目,并给项目进行命名,这里命名为“单级放大电路”。 然后正式进入PCB原理图文件中

【教程向】从零开始创建浏览器插件(六)实战篇

【教程向】从零开始创建浏览器插件(六)实战篇 在这篇文章中,我们将详细介绍一个名为“摸鱼King”的Chrome扩展程序的开发思路。这个扩展程序的主要功能是在用户浏览网页时提供便捷的方式来摸鱼看小说。 完整的工程我放在了完整工程,可以下载下来自己试一试。 1. 主要功能和组件 我们以一个摸鱼看小说的插件为例,需要实现导入(存储)小说、选择(读取)小说、设置分页参数、渲染小说文字展示、快捷键等

将macOS系统安装到外置硬盘上教程

常常因为Mac昂贵的价格,我们会选择低容量的硬盘版本,造成很多大型游戏都安装不了的尴尬境地。今天,我们要探讨一个非常实用的话题:如何给你的Mac电脑扩容,通过将macOS系统安装到外置硬盘上。这对于希望提升存储空间但又不希望花费巨资升级内置硬盘的朋友来说,是一个非常好的方法。 为什么选择外置硬盘扩容? 苹果电脑以其优秀的设计和性能而闻名,但同时,它们的硬盘和内存升级费用也是相当昂贵。例如,如果