ESP32-C3实现热点并把热点设置指定的IP(热点静态IP)

源码

#include <WiFi.h>
#include <WebServer.h>

// 热点名称和密码
const char* ssid = "ESP32-C3-AP";
const char* password = "12345678";

// 热点IP地址
IPAddress local_IP(192, 168,4 , 1);
// 网关通常与热点IP地址相同
IPAddress gateway(192, 168, 4, 1);
// 子网掩码
IPAddress subnet(255, 255, 255, 0);

WebServer server(80);

void setup() {
  Serial.begin(115200);
  
  // 设置热点
  WiFi.softAP(ssid, password);
  WiFi.softAPConfig(local_IP, gateway, subnet);

  // 打印热点的IP地址
  Serial.println();
  Serial.print("IP address: ");
  Serial.println(WiFi.softAPIP());

  // 启动服务器
  server.begin();
}

void loop() {
  // 处理客户端请求
  server.handleClient();
}

 

思路解释:

  1. 引入库文件

    • #include <WiFi.h>:引入WiFi库,用于处理与WiFi相关的功能。
    • #include <WebServer.h>:引入Web服务器库,用于创建和运行Web服务器。
  2. 定义热点信息

    • const char* ssid:定义热点名称。
    • const char* password:定义热点密码。
    • IPAddress local_IP:定义热点的IP地址。
    • IPAddress gateway:定义网关地址,通常与热点IP地址相同。
    • IPAddress subnet:定义子网掩码。
  3. 创建Web服务器实例

    • WebServer server(80);:创建一个Web服务器实例,端口号为80(HTTP默认端口号)。
  4. 设置函数(setup)

    • Serial.begin(115200);:初始化串口通信,波特率为115200。
    • WiFi.softAP(ssid, password);:配置并启动热点。
    • WiFi.softAPConfig(local_IP, gateway, subnet);:设置热点的IP地址、网关和子网掩码。
    • Serial.println(WiFi.softAPIP());:通过串口打印热点的IP地址。
    • server.begin();:启动Web服务器。
  5. 主循环函数(loop)

    • server.handleClient();:持续监听并处理客户端请求。这是Web服务器运行的关键部分,用于响应客户端发送的HTTP请求。

### ESP32-C3 开发入门指南 #### 准备工作 为了顺利开展ESP32-C3的开发项目,前期准备工作至关重要。这包括但不限于获取合适的硬件设备以及设置必要的软件环境。 对于硬件部分,推荐选用带有ESP32-C3FN4芯片的开发板,如YD-ESP32-C3开发板[^3]。该款开发板不仅具备丰富的外设接口,还提供了详细的原理图文档供开发者参考,有助于深入了解硬件结构解决可能遇到的问题。 至于软件方面,则需完成开发环境的搭建过程。具体而言,首先要安装ESP-IDF框架,这是由Espressif官方提供的集成开发平台,支持多种IDE工具链的选择,能够满足不同用户的编程习惯需求[^4]。 #### 学习路径建议 针对初学者来说,可以从以下几个方向逐步深入: 1. **基础知识积累** 掌握微控制器基本概念及其工作机制;熟悉Arduino IDE或PlatformIO等常用IDE操作方法;理解C/C++语言特性及语法要点。 2. **外围电路连接实践** 参考基础篇系列文章中的实例进行实验练习,例如通过ADC采集模拟信号、配置GPIO实现输入输出控制等功能模块的学习[^2]。这些案例可以帮助建立直观印象,增强动手能力的同时也巩固理论知识的理解。 3. **网络功能探索** 当掌握了上述技能之后可以尝试更复杂的课题研究,比如利用Wi-Fi协议栈构建物联网应用场景或是借助ESP-NOW技术达成低功耗局域网内节点间的数据交换任务[^1]。 ```cpp // 示例代码:初始化WiFi模式为STA(Station) #include "esp_wifi.h" void setup_wifi() { tcpip_adapter_init(); wifi_event_group = xEventGroupCreate(); esp_netif_create_default_wifi_sta(); wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); ESP_ERROR_CHECK( esp_wifi_init(&cfg) ); // 设置静态IP参数 (可选) /* static ip4_addr_t sta_ip; IP4_ADDR(&sta_ip, 192, 168, 1, 10); static ip4_addr_t gateway; IP4_ADDR(&gateway, 192, 168, 1, 1); static ip4_addr_t netmask; IP4_ADDR(&netmask, 255, 255, 255, 0); struct station_config config; strcpy(config.ssid, "your_ssid"); strcpy(config.password, "your_password"); esp_wifi_set_config(WIFI_IF_STA, &config); */ } void app_main(void){ setup_wifi(); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值