一 环境搭建

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       4static 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相关推荐

  1. 使用VScode开发ESP32,PlatformIO开发ESP32

    arduino IDE安装开发板库 安装arduino IDE 首先下载arduino IDE并安装.在官网下载即可.如果官网下载慢,可以找第三方资源下载. 下载开发板库 安装后进入"文件& ...

  2. linux下VScode开发ESP32,VsCode设置ESP32工具链+刨根问底点灯

    unplash 今天教大家ESP32在vscode上面的配置,以及点灯时的具体引脚定义. 已下软件都是要提前准备的,还有Python环境,不低于3.6 https://cmake.org/ 首先下载c ...

  3. ESP32开发 0.windows Vscode开发环境搭建,基于esp-idf-V4.2 | Cmake | Vscode插件

    一 前言 入坑嵌入式以来,一直都在寻找一款通用MCU控制器:他应有优秀的计算处理能力.丰富的外设扩展能力.支持有线/无线联网.小巧的封装.自从ESP8266爆火以来,熟悉过它的使用,但窘于硬件限制,只 ...

  4. 第一讲:ESP32-IDF+VSCode开发环境配置

    第一讲:ESP32-IDF+VSCode开发环境配置 文章目录 第一讲:ESP32-IDF+VSCode开发环境配置 1.1写进ESP32芯片的二进制程序的生成方式 1.2ESP32-IDF+VSCo ...

  5. Arduino方式开发ESP32笔记:使用Preferences保存数据

    本文大部分参考使用Arduino开发ESP32(18):使用Preferences保存数据 引出 在其他单片机上我们可以使用单片机自带Flash来保存一些数据,在ESP32上也可以这样,在ESP32的 ...

  6. 使用VScode开发ESP8266,PlatformIO开发ESP8266

    arduino IDE安装开发板库 安装arduino IDE 首先下载arduino IDE并安装.在官网下载即可.如果官网下载慢,可以找第三方资源下载. 下载开发板库 安装后进入"文件& ...

  7. 【开发环境】Ubuntu 中使用 VSCode 开发 C/C++ ⑤ ( tasks.json 中的 args 数组配置分析 | 编译并执行 C++ 程序 )

    文章目录 一.tasks.json 中的 args 数组配置分析 二.编译并执行 C++ 程序 可以参考官方提供的文档 : https://code.visualstudio.com/docs/cpp ...

  8. 【开发环境】Ubuntu 中使用 VSCode 开发 C/C++ ④ ( 创建 tasks.json 编译器构建配置文件 | tasks.json 编译器构建配置文件分析 )

    文章目录 一.创建 tasks.json 编译器构建配置文件 二.tasks.json 编译器构建配置文件分析 可以参考官方提供的文档 : https://code.visualstudio.com/ ...

  9. 【开发环境】Ubuntu 中使用 VSCode 开发 C/C++ ③ ( 创建工程目录 | 添加 C++ 源代码 | 代码自动提示 )

    文章目录 一.创建工程目录 二.添加 C++ 源代码 三.代码自动提示 可以参考官方提供的文档 : https://code.visualstudio.com/docs/cpp/config-linu ...

最新文章

  1. php gd 缩略图,[PHP GD库]①0--缩略图封装
  2. C++一天一个程序(五)
  3. net能和python结合吗_如何不用安装python就能在.NET里调用Python库
  4. 论文浅尝 - ICML2020 | 拆解元学习:理解 Few-Shots 任务中的特征表示
  5. 获取 Windows 窗体 DataGridView 控件中选定的单元格、行和列
  6. 启航篇——四旋翼飞行器之入坑两年心路历程和毕设总结
  7. pcjome新闻图片替换效果
  8. INDEX建立方式对SQL的影响
  9. 使用HbuilerX运行微信小程序到微信小程序模拟器
  10. 【光纤传输特性】图文并茂,你该了解这些
  11. 天牛须和贪心算法_利用天牛须搜索算法(BAS)优化PID控制器参数的代码
  12. 什么是云主机,云主机是什么样的?
  13. Java程序监控工具
  14. 科学计算机复利现值怎么计算公式,怎么用科学计算器算年金现值和复利现值是那个......
  15. register at least one qt version using“qt vs tools“->“qt options“
  16. numeric_limits 解析
  17. KeyPress 和KeyDown 、KeyPress的区别
  18. Leecode-SQL 1407. 排名靠前的旅行者
  19. 【电源专题】线性稳压器(LDO)简介
  20. html使div内部元素水平排列,如何使三个div水平排列

热门文章

  1. Android书籍代码资源
  2. paddle 图标注_服装设计 | 上色款式图!(40款成衣vs款式图绘制)
  3. 今日前端小知识—— width:auto 与 width:100% 的区别
  4. win10系统可以做云盘服务器吗,教你win10系统icloud云盘怎么用
  5. 2011年10月最新电脑城GhostXPSP3流金岁月装机版V11.10 舞
  6. 268条PCB Layout设计规范
  7. 第四届江西省高校网络安全技能大赛 决赛 MISC
  8. UE4 打包dll到项目Binaries路径下
  9. 百度钱包的一分钱专享活动
  10. 足球游戏源码《沙滩足球》beach soccer源码H5+安卓+IOS三端源码