最全配置ArduinoIDE的esp8266开发环境教程
最全配置Arduino IDE的esp8266开发环境教程
前⾔
Arduino IDE除了可以编写在Arduino上运⾏的程序,还可以配置成esp8266的开发环境,这样就可以直接在Arduino IDE上开发
esp8266的固件程序。但是正常流程安装⾮常慢,还会频繁报错或者不能使⽤。所以下⾯我不仅会展⽰正常流程如何安装,也会讲解正常流程安装的原理,从⽽出⼀些⾮正常安装的⽅法。
正常安装流程
1. 打开Arduino IDE(这⾥安装IDE就不讲了,可以到官⽹下载安装包,不过要记住安装位置),在菜单"⽂件->⾸选项"弹出的对话框
的"附加开发板管理⽹址"框中填⼊arduino.esp8266/stable/package_esp8266com_index.json
如图:
2. 重启IDE,然后在菜单"⼯具->开发板->开发板管理器"弹出的对话框最上⽅的搜索栏中输⼊"esp",搜索。如图:
可以搜到esp8266 by Conmmunity,我因为已经安装过了,下⾯显⽰是更新和删除,第⼀次安装显⽰是⼀个安装按钮。点击安装,就开始爬进度条了。
3. 安装完成后,就会在"⼯具->开发板"菜单中显⽰esp8266开发板,如图:
正常流程的安装原理
我知道,如果你们能通过上述⽅法能安装成功,也就不会搜索到我的博客了(成功了记得点个赞)。所遇到的问题⽆⾮有两种:下载太慢,频繁出错;下载完成后,刷程序时出错。我这⾥先告诉⼤家正常流程的安装原理,这样就可以取巧⼿动安装环境了。后⾯我还会讲,如何验证是否环境配置成功。
其实流程不是很⿇烦O. o。⾸先是Arduino IDE会根据你选择的版本到github的⽹址去把项⽬整个拉下来,然后会在配置⽂件设置的⽬录下新建⼀个⽂件夹存储这个项⽬。可以在⾸选项菜单弹出的对话框的最下⽅看到配置⽂件的路径。我的esp8266项⽬的⽬录就是在这个⽬录下的package⽂件夹⾥,具体是C:\Users\Administrator\AppData\Local\Arduino15\packages\esp8266。
内部路径如下:
其中2.4.2代表我下载的esp8266项⽬的版本号,⽬录下⾯就是整个项⽬的解压后的内容,注意有⼀个很重要的python脚本get.py。⽽下⾯esp8266/tools⽬录下的⼯具就是由get.py下载安装的。
阅读了get.py可知,get.py是根据我们之前在⾸选项⾥配置的那个链接下的json⽂件来下载依赖配置的。这个json⽂件也是在⾸选项的配置⽬录下,⽐如我的就是在C:\Users\Administrator\AppData\Local\Arduino15\,下⾯有⼀个
package_esp8266com_index.json⽂件,可以看到和我们按正常流程配置的附加开发板管理⽹址的那个最后⽂件名是⼀样的。get.py会从这个配置⽂件中读取tools⽬录下那三个⼯具的下载⽹址、版本号等配置,然后判断在dist⽬录下是否已经下载了这三个⼯具的压缩⽂件,如果已经有,则解压,然后按照我上⾯的esp8266/tools⽬录存放(⼯具名\版本号\解压内容)。如果dist⽬录没有,则下载下来,再按上述步骤解压存放。
⼿动安装原理
根据上述流程,我们⾸先需要在配置⽂件⽬录下将esp8266项⽬⽬录配置好,然后在git⽹址上下载项⽬解压,如果还想试试被墙住之后⽹速情况,在配置了python环境的情况下,可以直接执⾏get.py脚本。但是如果你之前esp8266 Arduino项⽬都⽆法下载,这⾥基本可以放弃,可以采⽤下⾯⽅式继续。
打开package_esp8266com_index.json(应该gradle的依赖配置,我⼀直⽤maven,这个没有深⼊了解)⽂件,⾥⾯列出了各个版本esp8266 arduino项⽬的相关配置,包括依赖⼯具的版本。
//我安装的2.4.2,所以⼯具依赖也选这个的版本
"toolsDependencies": [
{
"packager": "esp8266",
"version": "0.4.13",
"name": "esptool"
},
{
"packager": "esp8266",
"version": "1.20.0-26-gb404fb9-2",
"name": "xtensa-lx106-elf-gcc"
},
{
"packager": "esp8266",
"version": "0.2.0",
"name": "mkspiffs"
}
]
在这个json⽂件中也能分别搜索到这三个⼯具对应版本的下载⽹址,随便贴⼀个给⼤家参考:
{
"version": "2.5.0-4-b40a506",
"name": "xtensa-lx106-elf-gcc",
"systems": [
{
"host": "aarch64-linux-gnu",
"url": "github/earlephilhower/esp-quick-toolchain/releases/download/2.5.sa-lx106-elf-b40a506.1563313032.tar.g z",
"archiveFileName": "sa-lx106-elf-b40a506.",
"checksum": "SHA-256:88c5e9a813bd01c97fe2a07a7280e0685cf18a937ad3ea756d33f8bfbbcbfec3",
"size": "40983153"
}
.....
然后我们就能根据给出的url⼿动把这三个⼯具对应的压缩⽂件也下载下来了。
接下来还有两种选择。你可以新建⼀个dist⽬录,把这三个压缩⽂件放进去,然后执⾏get.py。get.py检测到⽬录下有对应版本的⼯具压缩包后,会⾃动帮你解压,部署到⽂件夹esp8266/tools。但是这⾥有个问题需要注意⼀下,get.py⾥会进⾏SHA安全验证,如果因此⽽失败,你需要注释掉安全验证这个语句。与其这么⿇烦,不如直接按照我给出的⽬录结构⾃⾏解压,部署。
判断安装成功
⾸先你需要⼀个USB2TTL⼯具和⼀块esp8266板,如何验证这两个是能⼯作的,可以参考我的另⼀篇。当然接线图我也直接转到这⾥。
1. 接线图如上。如果插上usb不能识别,需要安装驱动,也参考上⾯的⽂章。
2. 打开Arduino IDE,开发板选中"Generic ESP8266 module"。
我标记的配置需要改成和下图⼀致。注意端⼝是要选取你插⼊的USB端⼝。
3. 编译上传。测试程序如下(你可以直接在⽂件->⽰例->esp8266中到很多demo,⽐如blink之类,这⾥选输出配置),这个程序会在unity 教程
串⼝输出端不停输出板的配置信息。
// ESP8266 CheckFlashConfig by Markus Sattler
// This sketch tests if the EEPROM settings of the IDE match to the Hardware
void setup(void) {
Serial.begin(115200);
}
void loop() {
uint32_t realSize = FlashChipRealSize();
uint32_t ideSize = FlashChipSize();
FlashMode_t ideMode = FlashChipMode();
Serial.printf("Flash real id: %08X\n", FlashChipId());
Serial.printf("Flash real size: %u bytes\n\n", realSize);
Serial.printf("Flash ide size: %u bytes\n", ideSize);
Serial.printf("Flash ide speed: %u Hz\n", FlashChipSpeed());
Serial.printf("Flash ide mode: %s\n", (ideMode == FM_QIO ? "QIO" : ideMode == FM_QOUT ? "QOUT" : ideMode == FM_DIO ? "DIO" : ideMode == F M_DOUT ? "DOUT" : "UNKNOWN"));
if (ideSize != realSize) {
Serial.println("Flash Chip configuration wrong!\n");
} else {
Serial.println("Flash Chip configuration ok.\n");
}
delay(5000);
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论