STM32高级 物联网之Wi-Fi通讯

Wi-Fi基础知识

Wi-Fi由来

Wi-Fi,又称“无线网路”,是Wi-Fi联盟的商标,一个基于IEEE 802.11标准的无线局域网技术。“Wi-Fi”常写作“WiFi”或“Wifi”,但是这些写法并没有被Wi-Fi联盟认可。

Wi-Fi这个术语经常被误以为是指无线保真(Wireless Fidelity),类似历史悠久的音频设备分类:长期高保真(1930年开始采用)或Hi-Fi(1950年开始采用)。即便是Wi-Fi联盟本身也经常在新闻稿和文件中使用“Wireless Fidelity”这个词,Wi-Fi还出现在ITAA的一个论文中。事实上,Wi-Fi一词是没有任何意义,也没有全写的。

1999年,几家富有远见的公司联合起来组成了一个全球性非营利性协会——无线以太网兼容性联盟(Wireless Ethernet Compatibility Alliance, WECA),其目标是使用一种新的无线网络技术,无论品牌如何,都能带来最佳 0的用户体验。在2000年,该小组采用术语“Wi-Fi”作为其技术工作的专有名称,并宣布了正式名称:Wi-Fi Alliance。

Wi-Fi和WLAN

Wi-Fi和WLAN经常混淆,其实他们并不能完全等价。

WLAN:Wireless Local Area Network,无线局域网络的全称,它利用射频技术Radio Frequency;RF,使用电磁波构成局域网络,在空中实现通信。该技术的出现绝不是用来取代有线局域网络,而是用来弥补有线局域网络之不足。

其实很多时候,人们将二者混用,其实实现WLAN的方式有很多,Wi-Fi只是实现方式之一。

Wi-Fi的发展

第一代,以IEEE 802.11原始标准为准,工作频段为2.4GHz,最高速率半双工2 Mbit/s。

第二代,以IEEE 802.11b为准,工作频段为2.4GHz,最高速率半双工11 Mbit/s。

第三代,以IEEE 802.11a为准,工作频段为5GHz,最高速率54 Mbit/s,

第四代,以IEEE 802.11n为准,称为“Wi-Fi 4”,信道宽度20MHz、40MHz,工作频段为2.4GHz和5GHz,最高4条空间流,最大副载波调制64-QAM,最高速率半双工600 Mbit/s。

第五代,以IEEE 802.11ac为准,世代名称为“Wi-Fi 5”,信道宽度20MHz、40MHz、80MHz、80+ 80MHz、160MHz,工作频段为5GHz,最高8条空间流(路由器的天线),最大副载波调制256-QAM,最高速率半双工6.9 Gbit/s。

第六代以IEEE 802.11ax为准,世代名称为“Wi-Fi 6”,信道宽度20MHz、40MHz、80MHz、80+ 80MHz、160MHz,工作频段为2.4GHz和5GHz,最高8条空间流,最大副载波调制1024-QAM,最高速率半双工9.6 Gbit/s。-----工作频段:电磁波的频率(300GHz以下,300M~300G是射频,C(光速3*10的8次方m/s)= λ(波长) * f(频率)频率越低,波长也就越长,波长越长传输也就越远,绕过障碍物的能力越强。)

IEEE 802.11

Wi-Fi可以看成是IEEE 802.11的一种具体实现

IEEE 802.11是IEEE 802标准委员会(IEEE 802 LAN/MAN Standards Committee)下属的无线局域网工作组,也指代由该组织制定的无线局域网标准。

该协议一般与IEEE 802.2结合使用,设计目的是为了与以太网路无缝互通,经常用于承载IP流量。

IEEE 802.11标准定义一个媒体访问控制(MAC)和几个物理层(PHY)规范,为局域内的固定,便携式和可移动终端(STA)提供无线连接,标准还为监管机构提供了一种标准化方法,对局域网通信的一个或多个频带进行管理。

AP

无线AP(Wireless Access Point)是“无线接入点”的缩写。单纯性无线AP就是一个无线的交换机,仅仅是提供无线信号发射的功能。其工作原理是将网络信号通过双绞线传送过来,经过AP产品的编译,将电信号转换成为无线电讯号发送出来,形成无线网的覆盖。

家用无线路由器可以看成是一个带路由功能的无线AP。

Wi-Fi的频段5G和2.4G

2.4G Wi-Fi与5G Wi-Fi最本质的区别即工作频段(无线电波的频率)不一样,如下表所示,5G Wi-Fi频段有更高的频率和频宽,可以提供更高的速率和更小的信道干扰。

Wi-Fi的信道

目前用的频段有2个5G和2.4G频段,每个频段又分为若干频道,又称为信道。如果把频段理解为高速公路的话,那么信道可以理解高速公路上的车道。

2.4G的信道

在标准协议里将2.4GHz频段划分出13个相互交叠的信道,每个信道的频宽是20MHz(802.11g、802.11n每个信道占用20MHz,802.11b每个信道占用22MHz),每个信道都有自己的中心频率。

这13个信道可以找出3个独立信道,即没有相互交叠的信道。独立信道由于没有频率的交叠区,相邻AP使用这3个独立信道不会彼此产生干扰。如下图中的1、6、11就是三个互不交叠的独立信道。

5G Wi-Fi信道

标准协议将5GHz频段分为24个20MHz宽的信道,且每个信道都为独立信道。这为WLAN提供了丰富的信道资源,更多的独立信道也使得信道绑定更有价值。信道绑定是指将两个信道绑定成一个信道使用,能提供更大的带宽。如两个20MHz的独立信道绑定在一起可以获得40MHz的吞吐量,这好比将两条道路合并成一条使用,自然就提高了道路的通过能力。

下图中,黑色的半圆表示独立信道,红色的半圆表示标准协议推荐的信道绑定。

信道的穿墙能力

5G Wi-Fi相比2.4G Wi-Fi穿墙能力较弱,这是由电磁波的物理特性决定的:波长越长衰减越少,也更容易绕过障碍物继续传播。

5G信号频率高、波长短,而2.4G信号频率低、波长长,所以5G信号穿过障碍物时衰减更大,穿墙能力比2.4G信号弱。

一些其他术语

STA(Station)

STA 即站点,也称为无线客户端,指的是配备有无线网络接口的设备,如笔记本电脑、智能手机、平板电脑、无线打印机等。

SSID(Service Set Identifier)

SSID 即服务集标识符,是无线网络的名称。SSID 用于标识一个特定的无线网络。当多个接入点(AP)组成一个无线网络时,它们可以使用相同的 SSID,以便无线客户端能够识别并连接到这个网络。例如,在家庭或办公室中,无线路由器设置的网络名称就是 SSID。

BSSID(Basic Service Set Identifier)基本服务集标识符

BSSID 即基本服务集标识符,是接入点(AP)的媒体访问控制(MAC)地址。

每一个网络设备都有其用于识别的物理地址,称作MAC地址,一般情况下出厂会有一个默认值,可更改,也有其固定的命名格式,也是设备识别的标识符。

BSSID 是针对设备说的,对于 STA 的设备来说,拿到 AP 接入点的 MAC 地址就是这个 BSSID。

ESSID(Extended Service Set Identifier)

ESSID 即扩展服务集标识符,实际上 ESSID 与 SSID 是相同的概念,只是在不同的语境下使用。如果有好几个无线路由器都叫这个名字,那么我们就相当于把这个 SSID 扩大了,所以这几个无线路由器共同的这个名字就叫ESSID。

BSSID 就是具体的某个连锁店编号(001)或地址。SSID 就是连锁店的名字或者照片ESSID 就是连锁店的总公司或者招牌or品牌。一般SSID和ESSID都是相同的。

WiFi模块

STM32F10x系统的MCU如果想通过Wi-Fi联网,必须配备Wi-Fi模块。(互联型MCU内置了Wi-Fi外设,不用额外配置Wi-Fi模块)。

目前市场上主流的Wi-Fi模块有TI公司的CC3200、乐鑫的ESP8266、联发科的MT7681。不同型号的模块在价格、性能和开发难度上都有所不同,下面是对三种型号的Wi-Fi模块的对比:

乐鑫ESP8266TICC3200MT7681
频段2.4G2.4G2.4G
CPUTensilica L106(80M)Arm-Contex-M4(80M)32-bit RISC MCU

SDK是否开源:

SDK 是 Software

Development Kit 的缩写,即软件开发工具包。

内存50KB64KB64KB
工作电压范围3.0-3.6V2.1-3.6V2.97-3.63V
工作温度-40-125℃-40-85℃-10-70℃
功耗TX:140mA RX:56mATX:229mA RX:59mATX:210mA RX:59mA
参考价格8元28元16元

ESP32-C3模块介绍

我们的开发板选择的是乐鑫的芯片:ESP32-C3,相比乐鑫ESP8266功能更丰富。

ESP32-C3 是一款安全稳定、低功耗、低成本的物联网芯片,搭载 RISC-V 32位单核处理器,支持2.4 GHz Wi-FiBluetooth 5(LE),为物联网产品提供行业领先的射频性能、完善的安全机制和丰富的内存资源。

ESP32-C3对Wi-Fi和Bluetooth 5(LE)的双重支持降低了设备配网难度,适用于广泛的物联网应用场景。

ESP32-C3模块的特点

高性能处理器

ESP32-C3 搭载 RISC-V 32位单核处理器,时钟频率高达160 MHz。

丰富的内存资源

内置 400KB SRAM 和 384KB ROM,支持 SOC 模式开发,为程序运行和数据存储提供了充足的空间,能够满足不同应用场景下的需求

多种外设接口

具有22个可编程 GPIO管脚、内置 400 KB SRAM,支持通过 SPI、Dual SPI、Quad SPI 和 QPI 接口外接多个 flash,满足各类物联网产品功能需求。

行业领先的射频性能

ESP32-C3 集成 2.4 GHz Wi-Fi 和支持长距离的 Bluetooth 5(LE),有助于构建覆盖范围更广、射频性能更强的物联网设备。它还支持蓝牙 Mesh(Bluetooth Mesh)协议和乐鑫 Wi-Fi Mesh,在较高的工作温度下仍能保持卓越的射频性能。此外,ESP32-C3 的耐高温特性也使其成为照明和工控领域的理想选择。

完善的安全机制

ESP32-C3 支持基于 RSA-3072 算法的安全启动和基于 AES-128/256-XTS 算法的 flash 加密功能,确保设备安全连接;创新的数字签名模块和 HMAC 模块确保设备身份安全;支持加密算法的硬件加速器确保设备在本地网络和云上安全传输数据。

成熟的软件支持

ESP32-C3 沿用乐鑫成熟的物联网开发框架 ESP-IDF。ESP-IDF 已成功赋能了数以亿计的物联网设备,并历经了严格的测试和发布周期。开发人员基于其成熟的软件架构,凭借对 API 和工具的熟悉,将更容易构建 ESP32-C3 应用程序或进行程序迁移。ESP32-C3 也支持在从机模式下工作,可通过 ESP-ATESP-Hosted SDK 为外部主机 MCU 提供 Wi-Fi 与 Bluetooth LE 连接功能。

ESP32-C3的使用

STM32与ESP32-C3连接

ESP32-C3本身就可以作为一个单片机使用,但是我们这里只是把ESP32-C3作为一个Wi-Fi/蓝牙模块使用。

STM32与ESP32-C3使用串口进行通讯。STM32可以给ESP32-C3发送命令,这种命令叫ESP-AT指令。

ESP-AT是什么

ESP-AT 是乐鑫开发的可直接用于量产的物联网应用固件,旨在降低客户开发成本,快速形成产品。通过 ESP-AT 指令,您可以快速加入无线网络、连接云平台、实现数据通信以及远程控制等功能,真正的通过无线通讯实现万物互联。

ESP-AT 是基于 ESP-IDF 实现的软件工程。它使 ESP32-C3 模组作为从机,MCU 作为主机。MCU 发送 AT 命令给 ESP32-C3 模组,控制 ESP32-C3 模组执行不同的操作,并接收 ESP32-C3 模组返回的 AT 响应。

ESP-AT 提供了大量功能不同的 AT 命令,如 Wi-Fi 命令、TCP/IP 命令、Bluetooth LE 命令、Bluetooth 命令、MQTT 命令、HTTP 命令、Ethernet 命令等。

AT 命令以 “AT” 开始,代表 Attention,以新的一行(CR LF)为结尾。输入的每条命令都会返回 OK 或 ERROR 的响应,表示当前命令的最终执行结果。注意,所有 AT 命令均为串行执行,每次只能执行一条命令。因此,在使用 AT 命令时,应等待上一条命令执行完毕后,再发送下一条命令。如果上一条命令未执行完毕,又发送了新的命令,则会返回 busy p...

默认配置下,MCU 通过 UART 连接至 ESP32-C3 模组、发送 AT 命令以及接收 AT 响应。但是,用户也可以根据实际使用情况修改程序,使用其他的通信接口,例如 SDIO。

同样,用户也可以基于 ESP-AT 工程,自行开发更多的 AT 命令,以实现更多的功能。

ESP32-C3固件烧录

固件烧录工具下载

下载地址:

工具 | 乐鑫科技

固件下载

下载地址:

无法找到该网页 - ESP32-C3 - — ESP-AT 用户指南 latest 文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雁过留声花欲落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值