经过前面的无数次采坑,对于ESP8266的官方SDK我是无能为力了,反正总是遇到问题,然后Arduino,真香!
Arduino的集成封装也挺多的,这真的是极大的减小了萌新对底层操作的要求。
emmm似乎没有那么多需要下载的东西,就一个Arduino本体。
中文社区提供的下载帖子:https://www.arduino.cn/thread-5838-1-1.html。
在左上角的:文件-首选项-附加开发板管理网址中添加以下网址:
https://github.com/esp8266/Arduino/releases/download/2.5.0/package_esp8266com_index.json
在“”工具——开发板——开发板管理器“”中搜索ESP8266,然后选中esp8266 by ESP8266 Community,借用官方社区一张图,因为我安装了后搜出来有些问题,然后就是这样,版本我选的是最新的版本。
根据型号选择吧。但是如果你知道具体的烧录参数和板子信息,你可以这样选择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就可以运行了!
打开串口助手,我们就可以显示当前的时间了!!!