极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 154359|回复: 28

Arduino IDE for ESP8266教程

  [复制链接]
发表于 2016-2-23 17:07:49 | 显示全部楼层 |阅读模式
本帖最后由 当风过时 于 2017-5-24 20:56 编辑

转自我的博客:http://www.windworkshop.cn/?p=758

ESP8266是现在性价比不错的Wifi模块,用了一块ESP8266-01之后感觉还行,用在数据采集器上表现还是不错的,后来看到官方出了SDK,可以用SDK修改模块的相关功能,还可以控制IO脚,在尝试了官方SDK后感觉上手略困难,没有文字教学(只有视频教学,习惯看文字教学的很苦恼,毕竟文字教学可以先大致浏览一下有什么API,相关测试代码,自己选择喜欢的功能把玩一遍之后再决定要不要入坑等等),源码没注释,烧写程序设置指示不清楚(一直没完全搞清楚那些hex文件对应的地址该怎么选择),没法让我快速入门。

之后找到了NodeMcu,不得不说这个比官方SDK好很多了,官网上有在线API手册以及示例源码,固件的烧写也很傻瓜,而且烧写完成之后,后续的编程完全不需要再进行烧写,全部都是在线将脚本写入并运行。在尝试了一些例程之后打算入坑,接着找了个DHT22的例程放进去,之后就傻眼了,读取数据基本就是得头几个是正确的,之后就直接错乱了,在测试了几个github上的程序都无解之后就放弃了……

最后以外的发现了Arduino IDE for ESP8266(Github:https://github.com/esp8266/Arduino),这个是基于Arduino的ESP8266的Broad库。对我来说至少能不通过太大的学习成本使用ESP8266也是件好事。在它的Github项目页上有安装教程,利用了Arduino 1.6.5的新特性进行在线安装(1.6.4也有,但感觉不如1.6.5好用,github上是使用1.6.5进行配置的)。

1、打开Arduino,选择“首选项”,在“附加开发板管理器网址”中填入http://arduino.esp8266.com/stable/package_esp8266com_index.json,然后点击确定保存这个地址。

2、打开工具->开发板->开发板管理器

3、等待开发板管理器启动完成后,移动到开发板管理器的最下方,可以看到一个esp8266 by esp8266 Community,右下角有个选择版本,选好2.0.0之后点击安装,因为是连接到github上下载(国内可能会被墙,这是下载好的文件http://pan.baidu.com/s/1sjRFe6h,覆盖掉首选项里边那个配置文件的文件夹即可,比如我的路径是C:\Users\Administrator\AppData\Local\Arduino15\preferences.txt,那需要解压出来覆盖掉C:\Users\Administrator\AppData\Local\Arduino15这个文件夹,覆盖之后可能需要重新设定arduino库的地址,因为preferences.txt里边包含有项目的地址)。(现在Arduino IDE for ESP8266已经更新到2.3.0,这是2.3.0的Arduino15包的下载地址:http://pan.baidu.com/s/1mh50myG  建议配合Arduino IDE 1.8.3使用)

安装Board支持包,安装完成后的样子,会显示2.0.0 INSTALLED

首选项设置,在开发板管理器中(Addtional Boards Manager URLs)填入ESP8266的配置地址,红线中的是Arduino15存放的地点

4、下载完成之后可以在开发板选项中看到ESP8266 Module,一般开发就是用Generic ESP8266 Module就行了其它的设置默认。有的板的Flash大小会有差别,具体可以查找板上的Flash芯片型号确定。如果找不到芯片型号可以用例程中的ESP8266->CheckFlashConfig来确定


选择Generic ESP8266 Module就行了,有的板的Flash大小会有差别,具体可以查找板上的Flash芯片型号确定。如果找不到芯片型号可以用例程中的ESP8266->CheckFlashConfig来确定,选择Flash大小小于板上Flash的大小就行,不确定可以先选择512k。

这样子就算是配置完成了,由于本身就是直接烧写8266的Flash,所以并不需要烧写bootloader。

然后就可以测试示例代码了。

可以试试ESP8266WebServer下的AdvancedWebServer,这是一个Web服务器,可以显示由MCU构建的SVG图像,需要修改ssid和password变量为自家的wifi的参数,烧写方式和ESP8266普通的烧写方式是一样的,GPIO0拉低进入烧写模式,给板子复位过后选择下载程序,等下载完毕之后就可以运行了,下载完成之后可以不用拉高GPIO0就会直接运行刚刚下载的程序了。

运行程序之后会打印8266的IP。


查看获得的IP

我们只需要用浏览器打开这个IP就可以看到8266输出的内容了。




第二篇教程:Arduino IDE for ESP8266教程(二)软AP
第三篇教程:Arduino IDE for ESP8266教程(三)HTTP客户端
第四篇教程:Arduino IDE for ESP8266教程(四)路由系统

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2016-2-24 10:30:54 | 显示全部楼层
非常好,正需要这个
回复 支持 反对

使用道具 举报

发表于 2016-2-25 00:52:08 | 显示全部楼层
我想知道楼主用的是哪种板子呢?
回复 支持 反对

使用道具 举报

发表于 2016-2-25 09:40:44 | 显示全部楼层
很好,收下了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-2-25 10:58:28 | 显示全部楼层
wing 发表于 2016-2-25 00:52
我想知道楼主用的是哪种板子呢?

教程是在自己焊的ESP8266-12E最小系统上做的,在ESP8266-01上测试也没有问题。
回复 支持 反对

使用道具 举报

发表于 2016-2-27 20:37:27 | 显示全部楼层
学习了,谢谢分享!
回复 支持 反对

使用道具 举报

发表于 2016-3-19 15:38:41 | 显示全部楼层
这个下载时,需要手动复位,我使用ESP-01,不复位,下载出错!楼主遇到这个情况吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-22 14:36:32 | 显示全部楼层
骷髅 发表于 2016-3-19 15:38
这个下载时,需要手动复位,我使用ESP-01,不复位,下载出错!楼主遇到这个情况吗?

下载是需要手动复位的
回复 支持 反对

使用道具 举报

发表于 2016-5-10 11:00:32 | 显示全部楼层
谢谢分享!
回复 支持 反对

使用道具 举报

发表于 2016-8-14 22:03:05 | 显示全部楼层
非常好,用例程做了一个NTP时钟
回复 支持 反对

使用道具 举报

发表于 2016-8-26 15:01:49 | 显示全部楼层
我按照要求进行烧写,但是不行,显示了Flush Completed,但是就是显示一直在上传而不是上传成功,楼主能说说咋个搞吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-1 16:47:25 | 显示全部楼层
colibytwo 发表于 2016-8-26 15:01
我按照要求进行烧写,但是不行,显示了Flush Completed,但是就是显示一直在上传而不是上传成功,楼主能说说 ...

检查接线是否正确,RXTX有没有交换接,编译完成准备开始烧写的时候需要进行复位,烧写的时候GPIO0有没有拉高
回复 支持 反对

使用道具 举报

发表于 2016-10-24 13:55:23 | 显示全部楼层
有了这个确实方便了很多 但配置这个平台确实太麻烦了 太笨了着实研究了好一段时间
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-25 10:40:33 | 显示全部楼层
ridxqqqq 发表于 2016-10-24 13:55
有了这个确实方便了很多 但配置这个平台确实太麻烦了 太笨了着实研究了好一段时间

如果能翻墙的话就简单很多,在包管理器里边输入地址安装就行了,可惜国内这个方法不好用了
回复 支持 反对

使用道具 举报

发表于 2016-11-1 09:17:06 | 显示全部楼层
上面还清楚 下面是什么鬼东西 不好好说 还分享那  哈哈
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-28 17:52 , Processed in 0.047894 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表