使用VScode开发ESP8266,PlatformIO开发ESP8266

Posted qlexcel

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用VScode开发ESP8266,PlatformIO开发ESP8266相关的知识,希望对你有一定的参考价值。

arduino IDE安装开发板库

安装arduino IDE

首先下载arduino IDE并安装。在官网下载即可。如果官网下载慢,可以找第三方资源下载。

下载开发板库

安装后进入“文件”-“首选项”,在附加开发板管理器地址后添加http://arduino.esp8266.com/stable/package_esp8266com_index.json

之后点击工具 - 开发板 - 开发板管理器,找到 esp8266 并安装:

安装的过程中要从github上下载东西,因此要保证自己PC能正常打开github,否则会失败。
安装完成后,重启 Arduino IDE 软件。在工具 - 开发板选项中即会看到 ESP8266 开发板的选项:

测试并下载程序

打开闪灯例程,“文件”-“示例”-“ESP8266”-“Blink”

把ESP-12F的GPIO0短接到地,其他保持和上面的推荐电路一致,然后上电。
把板子信息选好,我是使用裸模块测试的,我的设置如下:

点击上传,等待上传成功即可。

使用VScode开发ESP8266

安装arduino扩展并配置

然后打开VScode安装arduino扩展

“File”-“Preference”-“settings”

打开设置窗口,输入arduino搜索,往下拉找到arduino Path,把刚才arduino IDE的安装路径复制进去,注意要将 “\\” 改为 “/”

编写并下载程序

新建一个文件夹,在其中新建一个.ino文件。

然后用VScode打开这个文件夹。

PS:不能只打开ino文件,因为VScode有一些配置文件需要保存,因此它需要文件夹。

打开文件夹后,在VScode中打开.ino文件,点击右下角来配置编程器、开发板参数、COM口,和在arduino IDE中一样。


这些配置和上面arduino IDE中的一样即可

ESP8266的GPIO0短接到地上电,点击右上角下载程序。

等待下载完成即可。

安装platformIO

platformIO介绍

  PlatformIO 是一个用于物联网开发的开源生态系统。它提供跨平台的开发环境和统一的调试器,还支持远程单元测试和固件更新等。也就是基本常见的单片机都可以用它来开发,免去了你用Keil,我用IAR,他用gcc…最后还得移植才能共用的麻烦。现在已经支持:
  Platforms: Atmel AVR, Atmel SAM, Espressif 32, Espressif 8266, Freescale Kinetis, Infineon XMC, Intel ARC32, Intel MCS-51 (8051), Kendryte K210, Lattice iCE40, Maxim 32, Microchip PIC32, Nordic nRF51, Nordic nRF52, NXP LPC, RISC-V, Samsung ARTIK, Silicon Labs EFM32, ST STM32, ST STM8, Teensy, TI MSP430, TI Tiva, WIZNet W7500

  Frameworks: Arduino, ARTIK SDK, CMSIS, ESP-IDF, ESP8266 RTOS SDK, Freedom E SDK, Kendryte Standalone SDK, Kendryte FreeRTOS SDK, libOpenCM3, mbed, PULP OS, Pumbaa, Simba, SPL, STM32Cube, Tizen RT, WiringPi, Zephyr RTOS

PlatformIO 解决的问题

  嵌入式开发的世界让很多人望而却步的主要原因是针对某一个单片机或开发板开发环境复杂的配置过程:交叉编译链工具下载、安装和配置,另外还得使用厂商独有的 IDE (有时还不是免费的) ,还有有时还不得不使用 IDE 只支持的 Windows
  多个硬件平台 (单片机, 开发板) 需要不同交叉编译链工具和开发环境, 所有相应的开发人员需要花费大量精力在配置新的开发环境上
  为了学习如何使用常规的传感器或执行器件等外设,需要花时间查找合适的库和例程
  每个团队成员可能会使用不用的操作系统,这就为他们之间共享成果形成阻碍

安装

我的VScode是1.62.3版本,我记得我没装PlatformIO 扩展,它自己就有了,不知道是不是这个版本的VScode自带了。

打开PlatformIO

点击左下角PlatformIO Home启动

确保自己的电脑能正常访问,否则会报

Error: C:\\Users\\qlexcel\\.platformio\\penv\\lib\\site-packages\\platformio\\__main__.py:70: DeprecationWarning: 'resultcallback' has been renamed to 'result_callback'. The old name will be removed in Click 8.1.
  @cli.resultcallback()
ERROR:    [Errno 10048] error while attempting to bind on address ('127.0.0.1', 8010): 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。

	at c:\\Users\\qlexcel\\.vscode\\extensions\\platformio.platformio-ide-2.4.0\\node_modules\\platformio-node-helpers\\dist\\index.js:1:9851
	at ChildProcess.r (c:\\Users\\qlexcel\\.vscode\\extensions\\platformio.platformio-ide-2.4.0\\node_modules\\platformio-node-helpers\\dist\\index.js:1:5134)
	at ChildProcess.emit (events.js:315:20)
	at ChildProcess.EventEmitter.em...

报错后,可以重启VScode,再打开试试。
没啥问题,顺利打开后:

新建工程

点击“New Project”

工程名和开发板,开发板可以输入“8266”搜索,选择一个与自己开发板相近的。

点击Finish,第一次创建工程需要下载固件库,是从github上下载,所以一定要保证能正常连上github,而且固件库还不小,根据自己的网速等两三个小时都很正常。
创建完成后,可以从下面打开它。

PlatformIO 工程目录作用如下:

简单开发

打开src文件夹下的main.cpp,输入如下代码:

/**
 * Blink
 *
 * Turns on an LED on for one second,
 * then off for one second, repeatedly.
 */
#include "Arduino.h"

// Set LED_BUILTIN if it is not defined by Arduino framework
// #define LED_BUILTIN 13

void setup()

  // initialize LED digital pin as an output.
  pinMode(LED_BUILTIN, OUTPUT);


void loop()

  // turn the LED on (HIGH is the voltage level)
  digitalWrite(LED_BUILTIN, HIGH);

  // wait for a second
  delay(1000);

  // turn the LED off by making the voltage LOW
  digitalWrite(LED_BUILTIN, LOW);

   // wait for a second
  delay(1000);


点击左下角按钮编译

编译成功

然后点击下载

下载成功,重新上电程序正常运行。

以上是关于使用VScode开发ESP8266,PlatformIO开发ESP8266的主要内容,如果未能解决你的问题,请参考以下文章

ESP8266 ESP8266与LittleFS文件系统

ESP8266 ESP8266与LittleFS文件系统

ESP8266 ESP8266与LittleFS文件系统

ESP32-Ardunio库理解

ESP8266 LittleFS文件系统基于VS Code and PlatformIO使用

ESP8266开发入门