0


使用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名称和密码

需要手动添加如下代码:

#defineEXAMPLE_ESP_WIFI_SSID"esp32_wifi"#defineEXAMPLE_ESP_WIFI_PASS"12345678"#defineEXAMPLE_ESP_WIFI_CHANNEL1#defineEXAMPLE_MAX_STA_CONN4staticconstchar*TAG ="example";staticvoidwifi_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);}elseif(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);}}voidwifi_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 网络 linux

本文转载自: https://blog.csdn.net/chengbaojin/article/details/127106190
版权归原作者 黑刀夜 所有, 如有侵权,请联系我们删除。

“使用vscode开发esp32”的评论:

还没有评论