esp8266开发环境配置
前言
在此之前,我已经出过了关于esp8266的相关示例教程,为什么今天我又要回过头来分享esp8266的开发环境呢?因为最近踩坑了,而且这个坑真的是太坑了,当然最主要的原因还是之前没有好好看esp8266的官方资料,同时也没有彻底理解开发板的概念,也和第一次配置环境太顺利也有关系。
事情是这样的,因为前段时间电脑出现了一些小问题,访问https资源的时候经常白屏,然后浏览器控制台提示:net::ERR_SSL_PROTOCOL_ERROR,我甚至把网上所有的解决方案都试了,问题依然没有解决,最后没办法重装了操作系统,然后所有软件都又重新安装了一遍,但是由于最近没有把玩arduino,所以环境也没有去搞,直到最近整理东西,找到了之前买的一个DHT11的温湿度传感器,我打算把他集成到esp8266上,让它发挥一点点价值,于是我便开始了自己的踩坑之旅。
开始踩坑
离谱的编译错误
在我的理解中,arduino IDE就是一个开发环境,而开发板除了芯片和不同的厂商之外,没有任何区别,于是我在此理解之下,开始了esp8266相关代码的编译,但是诡异的情况出现了,明明库都有,为啥编译的时候一直报编译错误:

我一直觉得,这个是因为Arduino环境配置有问题,因为同样的代码,上次是编译通过的,而且目前一直运行的很好,然后各种百度,参考各种解决方法:

但是没有一个能解决我问题的,然后我换了一种方式搜索:

疯狂安装配置环境
之后重新安装了arduino IDE工具,2.0.2、1.8.57都试了,问题依然没有解决,这时候我铁了心觉得是esp8266开发板环境的问题。
接着又开始折腾8266开发板环境,但是国内访问github超级慢,动不动超时,而且你根本不知道它啥时候会超时,小小的文件愣是折腾了我快两天,问题是两天都没有彻底下载成功,我已经就记不清楚自己重启过多少次软件了……
一直在超时
哎,感觉好像在熬鹰,不知道鹰还能不能抗住,我是快扛不住了,我心态都快崩了,真的裂开😵💫:


离线安装ing
今天一早我又试了离线安装的方式,坑爹的是,arduino 1.8.57这个版本离线安装之后开发板还是不显示,所以我还是继续在线安装,我甚至都不抱希望它能下载成功,当然它最终也确实没有让我失望,果然没有下载成功。

我甚至把离线安装文件直接复制到对应文件夹,依然没啥卵用:

删!删!删!
最后,实在没法了,我就想着能不能再换种简单粗暴的方式——改代码,对就是改代码,哪里报错删哪里,妈妈再也不用担心我的代码编译不通过了:

这里其实还有另一个坑,就是我直接把esp82600离线包里面的libraries库文件复制到了arduino的libraries下面,这个操作其实是不对的,至于原因我们后面再复盘。
然后删着删着,我感觉这错误越改越多,感觉这条路也走不通了,而且网上有人说建议安装旧版本的arduino,新版本会存在兼容性问题,控制台也刚好提示类似这样的库冲突提示:

柳暗花明又一村
于是,我又抱着试试看的态度,打开了之前安装过的arduino-nightly,同时在一篇博客中看到,esp8266离线安装的路径是%LOCALAPPDATA%\Arduino15\packages,然后打开这个文件夹确实发现了离线安装的esp8266开发环境,这也佐证了高版本不能识别离线安装环境的问题(也有可能是我电脑环境问题):

打开arduino-nightly(1.8.15)也看到了esp8266开发板,也终于算是看到胜利的曙光了,当然到这里我就基本确定自己路走岔了:

让我确认不应该把esp8266的libraries复制到arduino的libraries,是接下来编译提示库冲突,我顺手将复制的esp8266库删除掉,然后再编译,这时候一下子就成功了,当然同时我也意识到自己之前有多傻B:

简单复盘
接下来,我们来一次简单的复盘。从技术角度来说,这应该算是一个特别低级的错误,但是如果之前你对于arduino的相关配置并没有太多的了解和认知的时候,这个问题就是致命的,因为从一开始就错了。
这里我想引出的问题是,在学习一门新技术的时候,一定要亲历亲为,一定要多踩坑,这样你才能确保自己在关键节点上不会犯错。
我想经过本次踩坑之后,我会对arduino有一个更深刻的理解,这个理解包括它的配置、开发板管理、库管理以及一些基础的编译运行原理。
esp8266配置过程
下面我们来梳理下arduino的正确使用流程:
- 确认自己的开发板环境配置正确,包括开发板选择、库的安装
- 编写相关控制代码
- 编译验证,这里如果报错,着重确认第一步配置(我就是这里踩坑了)
- 上传代码
另外,这里我们也附上esp8266的配置过程:
-
配置开发板管理器网址地址

在其中加入如下内容:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
需要注意的是【项目文件夹位置】其实指的是库文件的路径,并非是我们的项目保存路径,关于这个目录我之前也是理解错误的。
-
安装开发板环境,这里推荐离线安装,在线安装太搞人心态了。离线安装很简单,双击
exe直接运行即可,地址我放下面:https://pan.baidu.com/s/1W-wNOTUl9K--ATvO_yFVHA?pwd=sysk安装完成后可以进入到
%LOCALAPPDATA%\Arduino15\packages目录下确认下,同时建议你arduino版本不要太高,之后就可以开始开发测试了。
总结
在没有任何基础和认知的情况下,顺顺利利的成功,只是一次侥幸,而这侥幸也将在你再次遇到问题时付出代价。
简单问题被复杂化的可能性,从你开始做这件事的路径就确定无疑了。
最后,我想说的是,当你遇到开始怀疑人生的大bug时,请一定相信这是一个低级错误导致,而且是那种到最后你会觉得自己傻X的错误

浙公网安备 33010602011771号