使用vscode开发esp32

一 环境搭建

1 安装vscode

vscode下载地址: https://code.visualstudio.com/download

2 安装esp32插件

在这里插入图片描述
安装espressif IDF插件

3 下载sdk以及开发工具

进入Espressif IDF界面,点击ADVANCED
在这里插入图片描述
在这里插入图片描述
设置好下载目录,等待下载完成,下载sdk时默认是从github上拉取,网络不好可能比较耗时。

这里会列出来详细的命令
在这里插入图片描述

二 创建工程

  1. 点击查看,命令面板或者使用快捷键ctrl + shift + p

  2. 输入Show Examples Projects
    在这里插入图片描述
    这里会列出来当前sdk支持的全部demo
    在这里插入图片描述

  3. 这里选择一个blink的demo
    在这里插入图片描述

在这里插入图片描述

三 tcp协议

在这里插入图片描述

1 tcp server

在这里插入图片描述
服务端有两种连接方式

  1. 本身作为STA连接上一个AP,从这个AP处获取ip地址,然后作为tcp server等待tcp client来连接
    此时需要指定AP的ssid(wifi的名称)和password(密码)
    在这里插入图片描述
    这种方式是sdk提供的demo默认的方法。代码几乎不需要修改

  2. 本身作为AP,这种方式有一个默认的ip地址: 192.168.4.1 这是乐鑫出厂固化的。因为本身就是热点,因此需要配置本身wifi名称和密码

需要手动添加如下代码:


#define EXAMPLE_ESP_WIFI_SSID      "esp32_wifi"
#define EXAMPLE_ESP_WIFI_PASS      "12345678"
#define EXAMPLE_ESP_WIFI_CHANNEL   1
#define EXAMPLE_MAX_STA_CONN       4

static const char *TAG = "example";

static void wifi_event_handler(void* arg, esp_event_base_t event_base,
                                    int32_t event_id, void* event_data)
{
    if (event_id == WIFI_EVENT_AP_STACONNECTED) {
        wifi_event_ap_staconnected_t* event = (wifi_event_ap_staconnected_t*) event_data;
        ESP_LOGI(TAG, "station "MACSTR" join, AID=%d",
                 MAC2STR(event->mac), event->aid);
    } else if (event_id == WIFI_EVENT_AP_STADISCONNECTED) {
        wifi_event_ap_stadisconnected_t* event = (wifi_event_ap_stadisconnected_t*) event_data;
        ESP_LOGI(TAG, "station "MACSTR" leave, AID=%d",
                 MAC2STR(event->mac), event->aid);
    }
}

void wifi_init_softap(void)
{
    ESP_ERROR_CHECK(esp_netif_init());
    ESP_ERROR_CHECK(esp_event_loop_create_default());
    esp_netif_create_default_wifi_ap();

    wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
    ESP_ERROR_CHECK(esp_wifi_init(&cfg));

    ESP_ERROR_CHECK(esp_event_handler_instance_register(WIFI_EVENT,
                                                        ESP_EVENT_ANY_ID,
                                                        &wifi_event_handler,
                                                        NULL,
                                                        NULL));

    wifi_config_t wifi_config = {
        .ap = {
            .ssid = EXAMPLE_ESP_WIFI_SSID,
            .ssid_len = strlen(EXAMPLE_ESP_WIFI_SSID),
            .channel = EXAMPLE_ESP_WIFI_CHANNEL,
            .password = EXAMPLE_ESP_WIFI_PASS,
            .max_connection = EXAMPLE_MAX_STA_CONN,
            .authmode = WIFI_AUTH_WPA_WPA2_PSK
        },
    };
    if (strlen(EXAMPLE_ESP_WIFI_PASS) == 0) {
        wifi_config.ap.authmode = WIFI_AUTH_OPEN;
    }

    ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_AP));
    ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_AP, &wifi_config));
    ESP_ERROR_CHECK(esp_wifi_start());

    ESP_LOGI(TAG, "wifi_init_softap finished. SSID:%s password:%s channel:%d",
             EXAMPLE_ESP_WIFI_SSID, EXAMPLE_ESP_WIFI_PASS, EXAMPLE_ESP_WIFI_CHANNEL);
}

2 tcp client

客户端可以是另外一块板子,也可以是pc或者手机。
注意:以下内容是基于server本身作为AP。

以手机为例
这里用到一个网络调试助手

  1. 手机连接上esp32_wifi
    在这里插入图片描述
  2. 使用网络调试助手创建tcp连接
    在这里插入图片描述
    使用另外一块板子做为client

注意要把wifi的IP地址、端口号、ssid和password配置成和server一样

在这里插入图片描述

在这里插入图片描述

在client端不停的发送
在这里插入图片描述

服务端收到的数据如下:
在这里插入图片描述

### 如何在VSCode中设置ESP32开发环境 #### 安装前的准备 为了确保顺利安装,建议先确认计算机上已安装Python。对于未曾安装Python的情况,在安装ESP-IDF工具包时可以选择在线自动安装选项[^5]。 #### 安装ESP-IDF工具集 启动ESP-IDF工具离线安装程序`esp-idf-tools-setup-offline-2.10.exe`来完成必要软件包的部署。此步骤会自动处理大部分依赖关系,并为后续操作打下基础[^4]。 #### 配置ESP-IDF插件 前往Visual Studio Code市场,搜索并安装官方提供的ESP-IDF扩展。该扩展提供了针对ESP32项目的强大支持功能,如构建、烧录固件等。 #### 设置目标设备 一旦进入了具体的工程项目文件夹内,通过命令行执行`idf.py set-target esp32`指定当前项目的目标硬件平台为ESP32模块[^2]。 #### 打开现有工程或新建工程 利用VSCode内置的功能,可以通过【文件】->【打开文件夹】的方式加载现有的ESP32源代码仓库;如果是要创建新的应用程序,则可以在选定的工作区里按照模板生成初始结构[^3]。 #### 编译与上传代码示例 编写简单的测试案例(比如让LED灯闪烁),保存后右键点击左侧资源管理器中的任意空白处选择“Build”,这将触发编译过程。完成后再次单击相同位置选取“Upload”可将生成好的二进制映像发送至连接着电脑的ESP32板子上运行。 ```bash # 进入工作目录 cd your_project_folder # 设定目标型号 idf.py set-target esp32 # 构建项目 idf.py build # 将程序刷入ESP32 idf.py flash # 启动监视器观察输出日志 idf.py monitor ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值