ESP8266开发之旅 基础篇② 如何安装ESP8266的Arduino开发环境 (2)

    如果你下载的是windows安装版(exe后缀),那么直接安装即可,其他则直接解压即可使用,注意路径不要存在中文目录。笔者写本书的时候所用的Arduino IDE版本是1.8.5,启动Arduino,会出现如下图所示界面:

image

2.2.2 安装ESP8266开发环境

    安装好Arduino IDE环境后,就得在它基础上配置Arduino Core For ESP8266。以window版本为例,读者可以安装以下顺序安装:

打开Arduino IDE->菜单项文件->首选项,然后会看到附加开发版管理器网址,填入,重启IDE;

重启IDE之后->菜单项工具->开发板->点击开发板管理器->滚动找到ESP8266平台;

从下拉选项中选择你想下载的版本,点击安装,需要等待一段时间安装完毕。笔者建议下载最新的版本,笔者写本书的时候最新版本是2.4.2,后续章节都是基于这个版本来讲解。

安装成功的话,会可以看到下图所示。

image

    到此,整个软件开发环境搭建完毕。

温馨提示

如果安装失败,一般都是因为网络问题,可以尝试多次重新安装;多次安装失败之后,可能需要FQ;

Arduino Core For ESP8266库版本之间是有区别,有些版本可能没有某些方法,比如笔者刚开始的时候安装了2.0.0版本,但是编译代码不通过,提示client.peekBytes方法不存在,安装最新版本完美无bug。

Arduino IDE界面相对比较简单,笔者觉得代码提示功能、自动补全不够友好,推荐使用Visual Studio、Eclipse等更为专业的开发环境进行开发。这些第三方的开发环境都需要下载对应的Arduino插件进行配置,笔者这里就不具体讲解,有兴趣的可以自行查阅资料解决。

2.3 烧录ESP8266

    实验是检验真理的唯一标准,配置好硬件和软件环境之后,笔者就给读者提供一个实例代码,并且告诉读者如何配置烧录以及提及一些烧录配置注意点。

2.3.1实例代码

    首先,请读者不用在意代码细节问题,请先拷贝如下代码到Arduino IDE,然后点击编译:

/** * Demo: * 测试ESP8266 demo * 打印ESP8266模块信息 * 1.打印Arduino Core For ESP8266 版本,笔者是2.4.2版本 * 2.打印Flash的唯一性芯片id(读者可以思考一下是否可以用来做点什么唯一性参考) * 3.打印Flash实际大小 * 4.打印IDE配置的使用Flash大小 * 5.打印IDE配置的Flash连接通信的频率 * 6.打印Flash连接模式:QIO QOUT DIO DOUT,可以理解为Flash传输速率 * @author 单片机菜鸟 * @date 2018/10/22 */ void setup() { // put your setup code here, to run once: Serial.begin(115200); //使能软件看门狗的触发间隔 ESP.wdtEnable(5000); } void loop() { //喂狗 ESP.wdtFeed(); FlashMode_t ideMode = ESP.getFlashChipMode(); String coreVersion = ESP.getCoreVersion(); Serial.print(F("Arduino Core For ESP8266 Version: ")); Serial.println(coreVersion); Serial.printf("Flash real id(唯一标识符): %08X\n", ESP.getFlashChipId()); Serial.printf("Flash 实际大小: %u KBytes\n", ESP.getFlashChipRealSize()/1024); Serial.printf("IDE配置Flash大小: %u KBytes,往往小于实际大小\n", ESP.getFlashChipSize()/1024); Serial.printf("IDE配置Flash频率 : %u MHz\n", ESP.getFlashChipSpeed()/1000000); Serial.printf("Flash ide mode: %s\n\n", (ideMode == FM_QIO ? "QIO" : ideMode == FM_QOUT ? "QOUT" : ideMode == FM_DIO ? "DIO" : ideMode == FM_DOUT ? "DOUT" : "UNKNOWN")); delay(1000); } 代码讲解

    1.setup函数里面,主要设置了串口通信波特率115200(串口调试器的波特率需要设置成一致),同时设置了软件看门狗WatchDog的触发间隔5s(看门狗的作用就是如果不喂狗就会在触发时间到达的时候自动复位,很多);
    2.在loop函数中,会不断循环执行,所以需要喂狗,然后就打印ESP8266 Arduino Core的当前版本、芯片id、flash实际大小、Arduino IDE配置Flash大小、通信频率以及flash的连接模式(这些信息都可以称为ESP8266模块的物理信息)。

温馨提示

    如果以上代码编译不通过,原因一般是以下两个之一:
    1.烧录配置没改成ESP8266(请看下小节讲解),当前可能是Arduino Uno、Mega等平台;
    2.Arduino Core For ESP8266软件环境没有配置成功,请重新检查一遍;
    3.上面例子的看门狗属于软件看门狗,作用是:如果在规定时间内不进行喂狗操作,那么系统就会在看门狗的作用下复位。默认情况下,软件看门狗是开启的,很多读者的代码运行之所以不稳定或者抛出各种异常,其中一大原因就是没有喂狗。关于这一个,笔者后面的章节会有具体讲解。

2.3.2 烧录配置

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwjsyp.html