使用vscode开发esp8266,platformio开发esp8266(代码片段)

qlexcel qlexcel     2023-02-14     754

关键词:

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);


点击左下角按钮编译

编译成功

然后点击下载

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

esp8266esp8266与littlefs文件系统(代码片段)

目的:在ESP8266使用LittleFS文件系统,而不是弃用的SPIFFS文件系统。环境:vscode+platformio+ESP8266的NodeMCU开发板文章目录1、更改默认的文件系统2、新建data文件夹3、上传文件4、测试5、总结1、更改默认的文件系统在p... 查看详情

esp8266与esp8285开发时有什么区别

  ESP8266模块在WiFi联网领域已经被广泛使用,但是ESP8266芯片是需要外挂Flash芯片的,这样就使模块不能做的更小。之后乐鑫公司又推出了ESP8285芯片,直接集成了1MByte的Flash于芯片内,各厂家继而推出了体积更小ESP8285模块,相对... 查看详情

esp8266littlefs文件系统基于vscodeandplatformio使用(代码片段)

ESP8266LittleFS文件系统基于VSCodeandPlatformIO使用学习如何上传文件到ESP8266NodeMCU板文件系统(LittleFS)使用VSCode与PlatformIOIDE扩展(快速和简单)。使用ESP8266的文件系统可以保存HTML、CSS和JavaScript文件来构建web服务器,而不必在ArduinoIDE中编... 查看详情

安信可esp-12f(esp8266)介绍与使用(代码片段)

...引脚RST内部有12K电阻的上拉。软件开发esp8266的开发可以使用arduino的IDE进行开发,或者使用SDK开发使用arduino的IDE开发是最简单的。使用arduino的IDE开发,又可以分为直接在模块上开发或者通过arduino软连接开发以使用mqtt传... 查看详情

esp8266开发之旅基础篇①走进esp8266的世界

...有不对之处,请留言,本人及时更改。一、基础篇ESP8266开发之旅基础篇①走进ESP8266的世界ESP8266开发之旅基础篇②如何安装ESP8266的Arduino开发环境ESP8266开发之旅基础篇③ESP8266与Arduino的开发说明ESP8266开发之旅基础篇④ESP8266与EEPRO... 查看详情

arduino开发esp8266——安装与配置esp8266开发板

...击下一步直至安装完成。如下图所示:二、下载ESP8266开发板库:在这面填写ESP8266开发板地址:http://arduino.esp8266.com/stable/package_esp8266com_index.json,保存。三、设置开发板&# 查看详情

esp8266-12f基本使用(代码片段)

文章目录前言一、ESP8266是什么?二、使用步骤1.硬件准备2.软件准备3.程序准备前言没什么事干就买了个ESP-12F玩,正好研究学习一下。一、ESP8266是什么?ESP8266系列模组是深圳市安信可科技有限公司开发的一系列基于... 查看详情

esp8266webserver使用spiffs(spiflashfilesystem)

ESP8266WebServer使用SPIFFS(SPIFlashFileSystem)通过SPIFFS,将WebServer的内容存放在闪存文件系统中,从而省去了,网页代码的转义处理,实现网页页面开发内容和程序代码分离。方便维护和升级以及移植工作。采用的开发板:Nodemcu1.0固件... 查看详情

esp32/esp8266在vscodeandplatformio上传文件系统(spiffs)

...文件系统(SPIFFS)学习如何上传文件到ESP32板文件系统(SPIFFS)使用VSCode与PlatformIOIDE扩展(快速和简单)。使用ESP32的文件系统可以保存HTML、CSS和JavaScript文件来构建web服务器,而不必在Arduino草图中编写所有内容。引入SPIFFSESP32包含spiff(Se... 查看详情

arduino开发esp8266——安装与配置esp8266开发板

...击下一步直至安装完成。如下图所示:二、下载ESP8266开发板库:在这面填写ESP8266开发板地址:http://arduino.esp8266.com/stable/package_esp8266com_index.json,保存。三、设置开发板&# 查看详情

arduino开发esp8266——安装与配置esp8266开发板

...击下一步直至安装完成。如下图所示:二、下载ESP8266开发板库:在这面填写ESP8266开发板地址:http://arduino.esp8266.com/stable/package_esp8266com_index.json,保存。三、设置开发板&# 查看详情

esp8266引脚参考详解(代码片段)

...的gpio在所有的ESP8266开发板中都是公开的,有些gpio不推荐使用,有些gpio有非常具体的功能。通过本指南,您将学习如何正确使用ESP8266gpio,并通过为您的项目使用最合适的引脚来避免几个小时的挫折。ESP8266ESP12-E芯片引脚示意图... 查看详情

arduinoesp8266esp8266wifimulti配网库实例(代码片段)

ArduinoESP8266ESP8266WiFiMulti配网库实例当我们需要使用ESP8266开发板存储多个WiFi网络连接信息时,可以使用ESP8266WiFiMulti库来实现。该库属于ESP8266支持包里自带的头文件,所以在使用该头文件的时候,不需要另外去管理库那里扩展下... 查看详情

使用usb-ttl调试esp8266wifi模块

一、ESP8266介绍??ESP8266系列模组是深圳市安信可科技有限公司开发的一系列基于乐鑫ESP8266的超低功耗的UART-WiFi模块的模组,可以方便地进行二次开发,接入云端服务,实现手机3/4G全球随时随地的控制,加速产品原型设计。 ??... 查看详情

esp32-ardunio库理解(代码片段)

前言  由于采用的是在VScode平台的PlatformIO来开发ESP32,所以在文件的头文件中,我们需要添加Arduino.h文件来配置环境。PlatformIO基本集成了目前市面上的常见单片机与物联网模块的开发插件,由于作者的原生ardunio平台安装了ESP8... 查看详情

esp8266sdk开发:物联网篇-esp8266连接阿里云物联网平台,使用阿里云提供的自定义topic通信控制

     搜索物联网平台(如果没有开通自行开通)  创建产品                      &nb 查看详情

esp8266引脚

...用于连接开发板的闪存(FlashMemory)。如果在实验电路中使用GPIO6~GPIO11,NodeMCU开发板将无法正常工作。因此建议您不要使用GPIO6~GPIO11。GPIO2引脚在NodeMCU开发板启动时是不能连接低电平的。GPIO15引脚在开发板运行中一直保持低... 查看详情

使用esp8266连接到azure

很多同学在问我,ESP8266如何连接到Azure,因为官方只有SparkFun之类的DevKit(开发套件)出了教程(我只找到了套件的文档)。 先上视频:http://v.youku.com/v_show/id_XMzE3MTg0NDU1Mg==.html 其实SparkFunEsp8266与普通的ESP8266是一样的,文... 查看详情