博哥零基础教你玩转ESP8266(二) 认识一下Arduino core for ESP8266

   

单片机菜鸟 <https://www.arduino.cn/space-uid-93655.html>



帖子导航:
博哥零基础教你玩转ESP8266(一) 重识ESP8266 <https://www.arduino.cn/thread-81478-1-1.html>
博哥零基础教你玩转ESP8266(二) 认识一下Arduino core for ESP8266
<https://www.arduino.cn/thread-81479-1-1.html>
博哥零基础教你玩转ESP8266(三) 详解ESP8266 工作模式
<https://www.arduino.cn/thread-81480-1-1.html>
博哥零基础教你玩转ESP8266(四) 认识一下ESP8266WiFi库
<https://www.arduino.cn/thread-81481-1-1.html>
博哥零基础教你玩转ESP8266(五) ESP8266开发硬件搭建
<https://www.arduino.cn/thread-81482-1-1.html>
博哥零基础教你玩转ESP8266(六) STA连接 —— 我想连上你
<https://www.arduino.cn/thread-81555-1-1.html>
博哥零基础教你玩转ESP8266(七) Soft AP —— 谁想连上我
<https://www.arduino.cn/thread-81556-1-1.html>
博哥零基础教你玩转ESP8266(八) Scan —— 扫描周边网络
<https://www.arduino.cn/thread-81557-1-1.html>
博哥零基础教你玩转ESP8266(九) STA + Soft-AP联合出品
<https://www.arduino.cn/thread-81558-1-1.html>
博哥零基础教你玩转ESP8266(十) SmartConfig —配置网路
<https://www.arduino.cn/thread-81559-1-1.html>
博哥零基础教你玩转ESP8266(十一) Tcp client <https://www.arduino.cn/thread-81560-1-1.html>
博哥零基础教你玩转ESP8266(十二) Tcp Server <https://www.arduino.cn/thread-81561-1-1.html>
博哥零基础教你玩转ESP8266(十三) ESP8266WiFiGeneric库
<https://www.arduino.cn/thread-81562-1-1.html>
博哥零基础教你玩转ESP8266(十四) ESP8266HTTPClient 连接世界
<https://www.arduino.cn/%E5%8D%9A%E5%93%A5%E9%9B%B6%E5%9F%BA%E7%A1%80%E6%95%99%E4%BD%A0%E7%8E%A9%E8%BD%ACESP8266%EF%BC%88%E5%8D%81%E5%9B%9B%EF%BC%89%20ESP8266HTTPClient%20%E8%BF%9E%E6%8E%A5%E4%B8%96%E7%95%8C>
博哥零基础教你玩转ESP8266(十五) ESP8266WebServer 服务端
<https://www.arduino.cn/thread-81637-1-1.html>


一、前言      

    在前一篇 博哥零基础教你玩转ESP8266(一) 重识ESP8266
<https://www.arduino.cn/thread-81478-1-1.html>  帖子中,楼主最后教大家怎么在Arduino
IDE上安装ESP8266的开发环境。
    我估计很多人肯定一脸懵逼 Arduino core for ESP8266 到底是什么鬼?
         
     楼主之前也是一脸懵逼.........
    但是对于开发人员来说,要想提高开发能力,必须知其然,并知其所以然。
    来来来,万能的gayhub能告诉你为什么?麻烦请点击  ESP8266 github
<https://github.com/esp8266/Arduino>
    同时,大家也可以参考以下网址  arduino-esp8266说明文档
<https://arduino-esp8266.readthedocs.io/en/latest/index.html>
     参考文档大多是E文,大家就将就看看。
二、Arduino core for ESP8266是什么?   

   
该项目为ARPUNO环境下的ESP8266芯片提供了支持。它允许您使用熟悉的Arduino函数和库编写代码,并直接在ESP8266上运行它们,不需要外部微控制器。 
       ESP8266
Arduino内核提供了使用TCP和UDP通过WiFi进行通信的库,设置HTTP、mDNS、SSDP和DNS服务器,进行OTA更新,在闪存中使用文件系统,使用SD卡、伺服器、SPI和I2C外围设备。
三、Arduino core for ESP8266库结构

    如果大家把上面的github地址的代码clone下来或者直接download下来,然后进入到libraries目录下,应该会发现包含以下库:
   
@WC~[0_HAX7@LRQCA0~XMNI.png (27.96 KB, 下载次数: 7)

下载附件
<https://www.arduino.cn/forum.php?mod=attachment&aid=NDU3NTR8ZTAzNTc3MjZ8MTU0MDQ2NDEyNHwwfDgxNDc5¬humb=yes>

2018-8-30 11:10 上传

    这些库就是我们后面编写代码的基础库,其实你也可以类比arduino目录下的库,原理是一样的。
    楼主根据这些库,大概整理了一下百度脑图,后期根据学习的进度不间断更新,敬请关注。
   
ESP8266 core for Arduino核心内容.png (92.9 KB, 下载次数: 10)

下载附件
<https://www.arduino.cn/forum.php?mod=attachment&aid=NDU3NTV8YzY3YWM3MDB8MTU0MDQ2NDEyNHwwfDgxNDc5¬humb=yes>

2018-8-30 11:10 上传

    从脑图可以看出来,根据功能区分,可以分成:
    1.arduino功能,把ESP8266当做arduino来使用
      使用SD卡、伺服器、SPI和I2C外围设备。
    2.wifi功能,其中又可以分为网络服务功能以及无线更新ESP8266功能
      ESP8266
Arduino内核提供了使用TCP和UDP通过WiFi进行通信的库,设置HTTP、mDNS、SSDP和DNS服务器,进行OTA更新,在闪存中使用文件系统。

    大家重点关注脑图中的引入二字,后面你会看到楼主编写的代码会引入各种头文件,到时你就应该知道这个头文件主要有什么功能。


四、总结
   本篇主要带大家大概认识一下Arduino core for ESP8266的整体库结构,让大家有个初步认识,干货不多,敬请原谅。