当前位置: 首页 > news >正文

ESP32设备连接WiFi (STA站点模式)

一、写在前面

  • 硬件板子:XIAO ESP32 S3 Sense

    • 完整的 2.4GHz Wi-Fi 子系统
    • BLE:蓝牙 5.0,蓝牙网格
  • ESP-IDF: v5.4.2

二、WiFi相关的简单知识

  • Station (STA) 站点模式: IDF_PATH/examples/wifi/getting_started/station
  • Access Point (AP) 接入点模式: IDF_PATH/examples/wifi/getting_started/softAP
  • WIFI_AP_STA 混合模式: IDF_PATH/examples/wifi/softap_sta
特性 Station (STA) Access Point (AP) WIFI_AP_STA (混合)
角色 客户端 (Client) 热点 / 服务端 (Host) 同时是客户端和服务端
连接对象 连接到路由器 等待其他设备连接 连接路由器的同时允许设备连接
互联网访问 支持 (通过路由器) 不支持 (通常仅限局域网) 支持 (自身可上网,也可做中继)
IP 地址来源 由路由器分配 自己生成并分配给客户端 拥有两个 IP (一个来自路由,一个自建)
典型用途 数据上云、远程控制 初始配网、离线直连控制 信号中继、网关、复杂配网
功耗 中等 较高 (需维持射频广播) 最高

三、ESP32 Station (STA) 站点模式例程

3.1 编译ESP-IDF例程

  • Station (STA) 站点模式:IDF_PATH/examples/wifi/getting_started/station

  • 通过idf.py menuconfig 修改WIFI账号密码:SSIDPASSWORD

  • idf.py set-target esp32s3

  • idf.py build & flash & monitor

ESP32设备:

I (2242) esp_netif_handlers: sta ip: 192.168.1.7, mask: 255.255.255.0, gw: 192.168.1.1
I (2242) wifi station: got ip:192.168.1.7
I (2242) wifi station: connected to ap SSID:MY_SSID password:MY_PASSWORD

ES32P设备分配的IP地址为:192.168.1.7,子网掩码为255.255.255.0,网关为192.168.1.1

路由器管理后台:
查看路由器连接的设备(设备名,IP地址和MAC地址)

可以看到:ESP32的设备名为:`espressif`,IP地址:`192.168.1.7`, MAC地址为:

3.2 修改ESP32设备的hostname

  • ESP32 模块的默认主机名通常是 "espressif"
  • 为了在路由器的 DHCP 客户端列表中更容易识别设备,或者为了匹配产品品牌,开发者通常需要自定义这个名称。
// create default station
esp_netif_t *sta = esp_netif_create_default_wifi_sta();
esp_netif_set_hostname(sta, "esp32-wifi-station");

四、ESP32 Acess Point(AP)模式例程

TODO

参考链接

  • ESP32 ESP-IDF Connect with WiFi - Station Mode Example
  • ESP32 Set an Access Point (AP) using ESP-IDF
  • Set ESP32 Hostname using ESP-IDF
  • ESP32 ESP-IDF Get and Set Custom MAC Address
http://www.jsqmd.com/news/359217/

相关文章:

  • 洛谷P1012
  • 线性规划的经典应用:从数学模型到企业决策实战
  • 洛谷P5435
  • 一键配置RK3588网络与SSH远程连接
  • 细胞多尺度仿真软件:PhysiCell_(2).PhysiCell软件介绍及安装
  • W11电脑无法获取到Windows服务器DHCP的IP地址,如何解决?
  • 新手入门指南:一文看懂环境搭建、模型配置与 WebUI 远程访问
  • ABC_444
  • 低代码处理物联网大数据:Node-RED进阶教程
  • 大数据领域 Hadoop 高可用方案的设计与实现
  • 细胞多尺度仿真软件:MCell_(14).并行计算与大规模仿真
  • 细胞多尺度仿真软件:MCell_(11).MCell在生物医学研究中的应用实例
  • php python+vue网上汽车销售系统的开发
  • 大数据可视化中的用户行为分析展示
  • 深入解析:【无线电控制与数据链探测系统】第2章 无线电与数据链基础
  • 细胞多尺度仿真软件:MCell_(10).仿真结果的分析与可视化
  • 从零开始用自定义 Triton 内核编写 FlashAttention-2
  • ApiScan
  • 神经网络模型基础与简单实现
  • Hadoop vs Spark:哪种大数据框架更适合物联网数据处理?
  • 线性代数资源合集(第二辑)
  • LOJ6485
  • 大数据领域数据清洗的实用工具推荐
  • 别再拍脑袋上线了:用大数据把 A/B 测试和在线实验平台这件事干“正经”
  • 口腔医学教程资源合集
  • php python+vue网上同学录系统_开题报告
  • 提示工程架构师必知:Agentic AI的3大设计模式
  • 基于springboot的运动服服装销售系统
  • javascript数组之循环
  • 例说FPGA:可直接用于工程项目的第一手经验【3.5】