前言
经过前面的无数次采坑,对于ESP8266的官方SDK我是无能为力了,反正总是遇到问题,然后Arduino,真香!
Arduino的集成封装也挺多的,这真的是极大的减小了萌新对底层操作的要求。
一.需要下载的东西
1.Arduino本体
emmm似乎没有那么多需要下载的东西,就一个Arduino本体。
中文社区提供的下载帖子:https://www.arduino.cn/thread-5838-1-1.html。
二.载入ESP8266
1.添加网址
在左上角的:文件-首选项-附加开发板管理网址中添加以下网址:
https://github.com/esp8266/Arduino/releases/download/2.5.0/package_esp8266com_index.json
2.载入ESP8266开发板
在“”工具——开发板——开发板管理器“”中搜索ESP8266,然后选中esp8266 by ESP8266 Community,借用官方社区一张图,因为我安装了后搜出来有些问题,然后就是这样,版本我选的是最新的版本。
3.选择开发板且修改选项
根据型号选择吧。但是如果你知道具体的烧录参数和板子信息,你可以这样选择Generic ESP8266 Module。我是ESP8266-12F,然后按如下选择烧录信息,串口只有在CH340或者有电的状态下才能选择,而且必须手动选择。
三.烧录
当我们编辑好了一切。写上我们的测试代码:
/*
文件名称:blink.ino
功能:NTP 获取网络时间示例
作者:www.doit.am
日期:2017-2
版本:1.0
*/
#include <ESP8266WiFi.h> //这是支持Wifi基本功能的头文件
#include <time.h> //时间处理功能的头文件
const char* ssid = "Doit"; //所接入的无线网络名称
const char* password = "doit3305";
//访问密码,这两个信息在后面章节会频繁用到
int timezone = 3;
int dst = 0;
//ESPDUINO开发版的初始函数
void setup() {
Serial.begin(115200); //设定串口速率为115200B/s
Serial.setDebugOutput(true); //将串口设为调试输出模式
WiFi.disconnect();//断开之前的连接
WiFi.mode(WIFI_STA); //将此Wifi芯片设为STA模式
WiFi.begin(ssid, password); //接入到无线环境热点
Serial.println("\nConnecting to WiFi");
//如果Wifi状态不是WL_CONNECTED,则表示连接失败
while (WiFi.status() != WL_CONNECTED) {
Serial.print("."); //在串口窗口输出.,表示连接进度信息
delay(1000); //延时1秒
}
//设置时间格式以及时间服务器的url网址
configTime(3 * 3600, 0, "pool.ntp.org", "time.nist.gov");
//串口信息输出,此处不建议用中文,因为寻址方式的原因,会出乱码
Serial.println("\nWaiting for time");
while (!time(nullptr)) {
Serial.print(".");
delay(1000);
}
Serial.println("");
}
//进入事件主循环
void loop() {
time_t now = time(nullptr); //获取当前时间
Serial.println(ctime(&now));//打印并换行
delay(1000); //延迟一秒(间隔)
}
然后把我们的0口拉低,15口拉高进入下载模式后,直接项目-上传即可等待他编译,烧录,然后我们再拉低IO2重启ESP8266就可以运行了!
打开串口助手,我们就可以显示当前的时间了!!!