VsCode搭建ESP8266开发环境

tl;dr
哼哼啊啊啊啊,又要回去折腾嵌入式了。。。大一暑假决定淦彻底转反恐精英CS的我几乎没碰过嵌入式的东西了,但是出于学校的自动化专业选题原因,而且不会Arduino编程也说不过去,这次毕设决定使用esp8266去做。
写这篇文章,纯粹是为了记录一下环境的搭建过程,方便以后环境炸了重新安装。
安装Arduino IDE
正准备安装IDE,打开Arduino官网,发现官方在推荐我们尝试2.0的IDE。抱着试一试的心态,我下载了个compressed version。
一解压,照着1.0版的操作,创建portable文件夹试图绿色版运行。结果不行!它还是往我电脑里写东西了….这可怎么办?上Arduino论坛上查看,翻到这么一个帖子: Arduino IDE 2.0 Portable,提到了GitHub上的这个issue#122。
The IDE installation and dependencies are stored in multiple separate places on the user’s computer:
- Application folder (e.g.,
C:\Program Files\Arduino IDE\)- Configuration folder (e.g.,
C:\Users\<username>\.arduinoIDE\)- Data folder (e.g.,
C:\Users\<username>\AppData\Local\Arduino15\)- Sketchbook folder (e.g.,
C:\Users\<username>\Documents\Arduino\)
我去验证了一下,这些文件确实存在,这证明了Arduino的2.0 IDE确实是个非绿色版的。
怎么办呢?那当然是换1.x的最后一个版本1.8.19啦!草(一种植物
回到官网,下载1.8.19的compressed version,解压到我的软件安装目录,根据官方的这篇教程,创建portable文件夹,完成!
搭建ESP8266开发环境
在进行一切工作之前,请先安装你的开发板串口芯片的驱动!我的是
CH340。
*第一步,添加附加开发板管理器网址
打开Arduino IDE - 左上角文件 - 首选项 - 附加开发板管理网址,这里填入http://arduino.esp8266.com/stable/package_esp8266com_index.json,然后确定,回到主界面。
第二步:添加到开发板管理器
打开Arduino IDE - 顶上的工具 - 开发板:"xxxx" - 开发板管理器 - 等待开发板定义下载完成 - 搜索8266,找到esp8266 by ESP8266 Community的选项,点击安装。
第三步:添加库
打开Arduino IDE - 顶上的工具 - 管理库 - 等待更新已安装库列表完成 - 搜索8266,找到Arduino Uno WiFi Dev Ed Library by Arduino的选项,点击安装。
第四步:选择开发板
打开Arduino IDE - 顶上的工具 - 开发板:"xxx" - NodeMCU 1.0 (ESP-12E Module)
此时,我们就可以使用巨丑无比的Arduino IDE进行ESP8266开发啦!
编写Hello World程序测试环境搭建结果
新建工程,保存到你的工程文件夹,输入以下C艹 C++代码,插♂入你的ESP8266,并编译上传:
1 | |
上传完成后,打开工具 - 串口监视器,看看是否达到了预期效果?
原版Arduino IDE排错
终端这样报错A fatal esptool.py error occurred: Cannot configure port, something went wrong. Original message: PermissionError(13, '����ϵͳ�ϵ��豸û�з������á�', None, 31)Serial port COM5怎么办?
这是没有成功打开串口。
进入Windows设备管理器,展开端口 (COM 和 LPT)并查看是否出现了USB-SERIAL CH340 (COM114514)。
这里
114514端口号,即使是同一台电脑在不同时刻插上开发板,数字也会不一样。
如果没有出现,则是驱动没打上,重新安装CH340驱动即可。
如果出现了,那么回到Arduino IDE,找到工具 - 端口,选择你在设备管理器里看到的端口,比如我是COM114514,然后重试。
如果出现了,端口也选对了,还是失败,那么检查一下有没有别的软件占用了串口调试的端口。
如果上面的问题都排查了,还是失败,那么恭喜你和我遇到了一样的问题。下面是我的解决方法:
打开Dism ++,启用专家模式,进入控制面板 - 驱动管理,把端口(COM和LPT)和通用串行总线设备下所有的驱动都展开,找到带有Arduino字样的,勾选,然后点击底下的删除驱动,等完成后重新安装CH340驱动 (具体取决于你的开发板串口芯片型号,我的是CH340) 即可解决。
VScode环境搭建(Arduino插件)
下载arduino插件。
添加附加开发板管理网址
打开的设置,搜索Arduino。找到 Arduino: Path 设置项,填入你的Arduino IDE安装目录;找到Arduino: Board Manager URLs设置项,在其中添加 ESP8266 开发工具的 URL:
1 | |
添加开发板
按下F1打开命令面板,输入Arduino: Board Manager,搜索ESP8266,安装esp8266 by ESP8266 Community。
添加库
按下F1打开命令面板,输入Arduino: Library Manager,搜索8266,安装Arduino Uno WiFi Dev Ed Library by Arduino。
选择开发板型号
按下F1打开命令面板,输入Arduino: Board Config,在Select Board处选择NodeMCU 1.0 (ESP-12E Module)。
编写和上传代码
创建一个新的Arduino文件(.ino),编写你的ESP8266代码。点击上传按钮或使用快捷键(Ctrl+Alt+U)将代码上传到ESP8266开发板上。
点击屏幕下面的COM,找到你的8266所在的端口,然后就可以打开串口了。
VSCode环境搭建(PlatformIO IDE插件)⭐推荐
环境搭建
先安装PlatformIO IDE插件。
点击vscode最底下的一栏中的房子图标,鼠标放上去会提示是PlatformIO: Home,点开它,进入PIO Home。
点击左边的Platforms - Embedded - 搜索ESP - 安装Espressif 8266
创建工程
进入PIO Home,在Quick Access下面点击New Project,Board选择Espressif 8266分类下的NodeMCU 1.0 (ESP-12E Module),Framework选择Arduino,Location不要勾选Use default location这样一会儿可以选择保存路径。
在src/main.cpp中会自动创建模板代码,这里我们需要包含esp8266的头文件才能进行开发。举个例子,该代码会创建一个叫test的热点,密码88888888,并在创建好后往串口里打印ssid和网关IP地址:
1 | |
如何快速格式化代码
在vscode菜单栏中点击View - Command Palette,输入Format Document看看它对应的快捷键是哪个,按它的提示去按就行。我的电脑上是Shift Alt F
如何快速展开/收起Problems栏Ctrl Shift M