博主的 ESP8266开发之旅 专栏主要分为三个部分:

  • 基础篇
  • 网络篇
  • 应用篇

    从这一篇开始,博主将会带领各位读者在基础篇的基础上进入网络的世界。在此,博主认为各位读者已经具备以下前提:

  • 读者具有C语言以及Arduino的开发知识;
  • 读者已经可以自行烧写成功 Arduino Core For ESP8266的固件;

1. Arduino Core For ESP8266是什么?

    一开始刚接触Arduino Core For ESP8266的时候,博主和很多初学者一样,表示一脸懵逼,这到底是个什么鬼?

    对于开发人员来说,要想提高个人开发能力,必须知其然,并知其所以然。所以,万能的github能告诉我们这个到底是什么?请点击传送门 Arduino Core For ESP8266 github。说到底,它就是一个在Arduino平台上开发ESP8266的插件,特别适合有Arduino开发经验的入门者。
    同时,Arduino Core For ESP8266也有专门的官方文档说明,请点击传送门 ESP8266 Arduino Core。这个链接地址上的文档说明,建议初学者多次认真阅读,包含较多api方法说明。
    Arduino core for ESP8266为ARPUNO环境下的ESP8266芯片提供了支持。它允许您使用熟悉的Arduino函数和库编写代码,并直接在ESP8266上运行它们,不需要外部微控制器。
    ESP8266 Arduino内核提供了使用TCP和UDP通过WiFi进行通信的库,设置HTTP、mDNS、SSDP和DNS服务器,进行OTA更新,在闪存中使用文件系统,使用SD卡、伺服器、SPI和I2C外围设备。

2. Arduino core for ESP8266库

    为了向大家更好地讲解Arduino Core For ESP8266,麻烦大家 Arduino Core For ESP8266 github 代码clone或者download下来,然后用查看代码的IDE工具打开,博主这里使用了webstorm,可以看到以下的代码结构:

    目前,我们需要重点关注libraries目录,该目录下的库就是我们编写代码的基础库。博主根据库的作用,给读者整理了一个百度脑图,后期根据学习进度适量更新:

    仔细分析上图,根据功能区分,可以分为:

  1. Arduino功能,把ESP8266 当做 Arduino来使用
  • SD —— SD卡库
  • Servo —— 伺服电机库
  • Wire —— I2C库
  • SPI —— spi库
  • EEPROM —— eeprom库
  1. WiFi功能,其中又可以分为网络服务功能以及无线更新ESP8266功能。提供了使用TCP和UDP通过WiFi进行通信的库等等。
  • ESP8266WiFi —— wifi基础功能
  • ESP8266HTTPClient —— http客户端功能
  • ESP8266WiFiMulti —— ESP8266WiFi多连接功能
  • ESP8266WebServer —— 局域网web服务器功能
  • WiFiUdp —— UDP服务
  • ESP8266mDNS —— 局域网本地发现功能
  • DNSServer —— 真正的DNS域名服务
  • ArduinoOTA —— OTA无线更新

    读者重点关注脑图中的引入二字,后续的代码编写中会引入各种头文件,到时读者就应该知道具体的头文件拥有什么样的功能。

3. 总结

    本篇主要带读者从源码结构上初略理解Arduino core for ESP8266的整体库结构,让大家有个初步认识,干货不多,敬请原谅。

ESP8266开发之旅 网络篇① 认识一下Arduino Core For ESP8266的更多相关文章

  1. ESP8266开发之旅 网络篇⑯ 无线更新——OTA固件更新

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  2. ESP8266开发之旅 网络篇⑦ TCP Server & TCP Client

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  3. ESP8266开发之旅 网络篇⑧ SmartConfig——一键配网

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  4. ESP8266开发之旅 网络篇⑨ HttpClient——ESP8266HTTPClient库的使用

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  5. ESP8266开发之旅 网络篇⑩ UDP服务

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  6. ESP8266开发之旅 网络篇⑪ WebServer——ESP8266WebServer库的使用

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  7. ESP8266开发之旅 网络篇⑬ SPIFFS——ESP8266 SPIFFS文件系统

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  8. ESP8266开发之旅 网络篇③ Soft-AP——ESP8266WiFiAP库的使用

    1. 前言     在前面的篇章中,博主给大家讲解了ESP8266的软硬件配置以及基本功能使用,目的就是想让大家有个初步认识.并且,博主一直重点强调 ESP8266 WiFi模块有三种工作模式: St ...

  9. ESP8266开发之旅 网络篇④ Station——ESP8266WiFiSTA库的使用

    1. 前言     在前面的篇章中,博主给大家讲解了ESP8266的软硬件配置以及基本功能使用,目的就是想让大家有个初步认识.并且,博主一直重点强调 ESP8266 WiFi模块有三种工作模式: St ...

随机推荐

  1. 使用Spring中的PropertyPlaceholderConfigurer读取文件

    目录 一. 简介 二. XML 方式 三. Java 编码方式 一. 简介 大型项目中,我们往往会对我们的系统的配置信息进行统一管理,一般做法是将配置信息配置与一个cfg.properties 的文件 ...

  2. SpringBoot之简单入门

    一,spring boot 是什么? spring boot的官网是这样说的: Spring Boot makes it easy to create stand-alone, production- ...

  3. IT修养-基础篇

    1.科学基础 成为开发人员的过程不尽相同,有的是科班出身,有的是兴趣爱好,还有的是专业机构的培训,在这个过程中,可能全面或者零散甚至没有学习过计算机基础学科,但无论是哪一种,想要成为更高层次的开发人员 ...

  4. 如何快速转载CSDN中的博客

    看到一篇<如何快速转载CSDN中的博客>,介绍通过检查元素→复制html来实现快速转载博客的方法.不过,不知道是我没有领会其精神还是其他原因,测试结果为失败.

  5. 环境搭建-CentOS集群搭建

    环境搭建-CentOS集群搭建 写在前面 最近有许多小伙伴问我,大数据的hadoop分布式集群该如何去搭建.所以,想着,就写一篇博客,帮助到更多刚入门大数据的人.本博客会一步一步带你实现一个Hadoo ...

  6. CreateFolder

    import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import org.apac ...

  7. 【ASP.NET基础--MVC】MVC视图基础语法学习

    初步接触.net MVC的视图语法,很多东西都不太熟悉,感觉跟之前的aspx以及html都有一些区别,最近看别人的代码,一边看一边研究,现把学到的东西在这里记录一下,以便日后翻阅. 第一部分:基础知识 ...

  8. 【ADO.NET基础知识】SqlConnection、command、DataSet 、DataTable、dataAdapter

    1.使用Connection连接数据库的步骤: (1).添加命名空间 System.Data.SqlClient(注意:初学者经常会忘记) (2)定义连接字符串.连接SQL Server 数据库时: ...

  9. 事件--JavaScript

    事件概述 JavaScript 使我们有能力创建动态页面,而事件是可以被 JavaScript 侦测到的行为. 简单理解: 触发--- 响应机制. 网页中的每个元素都可以产生某些可以触发 JavaSc ...

  10. Android的各大框架整理

    OpenDanmaku  :一个Android的弹幕控件 地址:https://github.com/linsea/OpenDanmaku AndroidViewAnimations:Andorid视 ...