* 本系列博客学习由非官方人员 半颗心脏 <http://blog.csdn.net/xh870189248>
潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。
1、 Esp8266之 搭建开发环境,开始一个“hellow world”串口打印。
<http://blog.csdn.net/xh870189248/article/details/77985541>
2、 Esp8266之 利用GPIO开始使用按钮点亮你的“第一盏灯”。
<http://blog.csdn.net/xh870189248/article/details/78126689>
3、 Esp8266之 利用 "软件定时器 " 定时0.5秒闪烁点亮一盏LED。
<http://blog.csdn.net/xh870189248/article/details/78155357>
4 、Esp8266之 了解PWM,更为深入地用PWM控制一盏LED的亮度变化。
<http://blog.csdn.net/xh870189248/article/details/78202224>
5 、Esp8266之 原生乐鑫SDK高级使用之封装Post与Get请求云端,拿到“天气预报信息”。
<http://blog.csdn.net/xh870189248/article/details/78656563>
6 、Esp8266之 了解 SmartConfig与Airkiss一键配网,给8266配网上云端。无需把wifi名字密码写在固件里。
<http://blog.csdn.net/xh870189248/article/details/78677952>
7 、Esp8266之 了解 softAP热点配网模式原理,仿“机智云”定义自己的热点配网模式协议。
<http://blog.csdn.net/xh870189248/article/details/78703905>
8、 Esp8266之 你要找的8266作为UDP、TCP客户端或服务端的角色通讯,都在这了。
<http://blog.csdn.net/xh870189248/article/details/78739311>
9、 Esp8266进阶之路第1篇: [小实战上篇]Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。
<http://blog.csdn.net/xh870189248/article/details/78761948>
10、 Esp8266进阶之路第2篇: [小实战下篇]Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。
<http://blog.csdn.net/xh870189248/article/details/78777371>
11、 Esp8266进阶之路第3篇: 8266接入阿里智能,点亮一盏LED灯,期待天猫精灵语音控制的不约而至!
<http://blog.csdn.net/xh870189248/article/details/78807018>
12、 Esp8266进阶之路第4篇: 图文并茂学习阿里云主机搭建8266MQTT服务器,实现移动网络远程控制一盏LED。
<http://blog.csdn.net/xh870189248/article/details/78867173>
13、 Esp8266进阶之路第5篇: 动手做个8266毕设小案例,smartConfig + MQTT协议轻松实现远程控制一盏LED。
<http://blog.csdn.net/xh870189248/article/details/79052347>
14、 Esp8266进阶之路第6篇: esp8266的 FreeRtos系统学习的正确姿势 ------ 环境搭建、烧录。
<http://blog.csdn.net/xh870189248/article/details/79103373>
15、 Esp8266进阶之路第7篇: esp8266的 物联网又一股清流,8266接入阿里云平台非阿里智能的SDS服务,点亮一盏LED灯。
<http://blog.csdn.net/xh870189248/article/details/79197459>
16、 Esp8266进阶之路第8篇: esp8266的 基于Nonos移植红外线H1838,实现红外遥控器配网,远程控制一盏灯。
<http://blog.csdn.net/xh870189248/article/details/79486075>
17、 Esp8266进阶之路第9篇: esp8266自研的快速上电开关五次 (开-关为一次) ,无需按键触发则8266进去一键配网模式。
<https://blog.csdn.net/xh870189248/article/details/80027961>
18、 Esp8266进阶之路第10篇: esp8266 基于NONOS 实现 OTA 远程升级,实现无线“ 热修复 ”升级固件程序。
<https://blog.csdn.net/xh870189248/article/details/80095139>
19、 Esp8266进阶之路第11篇: esp8266驱动 ds18b20、dht11 温湿度传感器,采集温湿度传感器到服务器。
<https://blog.csdn.net/xh870189248/article/details/80284827>
20、 Esp8266进阶之路第12篇: 深入学习esp8266的esp now模式,仿机智云做一个小网关,实现无需网络下轻松彼此连接通讯交互数据。
<https://blog.csdn.net/xh870189248/article/details/80631739>
21、 Esp8266进阶之路第13篇: 浅谈 esp8266 如何在本地局域网网络情况下实现最大效率地和前端实现数据交互。
<https://blog.csdn.net/xh870189248/article/details/80859347>
22、 Esp8266进阶之路第14篇: esp8266的工程如何添加第三方静态库文件以及如何自定义文件夹,聊聊那些makeFile的事。。
<https://blog.csdn.net/xh870189248/article/details/80909216>
23、 Esp8266进阶之路第15篇: 再来一波 esp8266 基于 freeRtos系统连接自己私有的服务器实现OTA远程升级,接触下
lwip的基本知识。。 <https://blog.csdn.net/xh870189248/article/details/80924538>
24、 Esp8266进阶之路第16篇: 渗透学习回顾下esp8266的外置spi芯片25q系列,熟悉8266代码块在其的分布,得心应手放置图片或其他资料。
<https://blog.csdn.net/xh870189248/article/details/81017735>
25、 Esp8266进阶之路第17篇: 深聊下esp8266的串口 Uart 通讯中断编程,为您准备好了 NONOS 版本 和 RTOS
系统的串口驱动文件。 <https://blog.csdn.net/xh870189248/article/details/81146532>
26、 Esp8266进阶之路第18篇: RTOS分析 MQTT 实现过程,实现移植 MQTT协议在 esp8266 rtos实时系统,可断线重连。
<https://blog.csdn.net/xh870189248/article/details/81181707>
27、 Esp8266进阶之路第19篇: 跟紧脚步,用VisualStudio Code开发 esp8266 rtos SDK v3.0版本,全新的 idf
框架,节省内存模块化开发。 <https://blog.csdn.net/xh870189248/article/details/81382279>
28、 Esp8266进阶之路第20篇: 教你轻松自如使用cJson在乐鑫 esp8266 如何解析一段json数据以及如何生成一段json数据。
<https://blog.csdn.net/xh870189248/article/details/83149619>
29、 Esp8266进阶之路第21篇:
百万条消息免费之乐鑫esp8266使用TCP直连模式MQTT协议接入阿里云物联网平台,支持私家服务器对接,支持阿里云规则引擎。
<https://blog.csdn.net/xh870189248/article/details/83149619>
30、 Esp8266进阶之路第22篇: 乐鑫esp8266 SDK编程使用 IIC总线驱动 0.96寸的OLED显示屏,显示天气预报信息。
<https://blog.csdn.net/xh870189248/article/details/83443614>
31、 Esp8266进阶之路第23篇: 当esp8266遇到
Html,该怎么内置网页控制设备,理清内置网页的实现过程,实现无需路由器手机也可以控制esp8266。
<https://blog.csdn.net/xh870189248/article/details/83543997>

* 很多人怎么联系我一起学习进步,下面打个小小公告:
玩转esp8266带你飞、加群付费QQ群,提高门槛,不喜的朋友勿喷勿加:434878850
esp8266源代码免费学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp8266
<https://github.com/xuhongv/StudyInEsp8266>
esp32源代码免费学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp32
<https://github.com/xuhongv/StudyInEsp32>



文章目录

* 一、前言; <https://blog.csdn.net/xh870189248/article/details/80909216#_45>
* 二、`esp8266`的工程为什么要自定义目录,该怎么实现;
<https://blog.csdn.net/xh870189248/article/details/80909216#esp8266_55>
* ①:在工程的编译目录新建文件夹`include`和`driver`;
<https://blog.csdn.net/xh870189248/article/details/80909216#includedriver_69>
* ②:主目录添加上面的`makeFile`文件:
<https://blog.csdn.net/xh870189248/article/details/80909216#makeFile_95>
* 三、`esp8266`的工程怎么样添加第三方静态库文件;
<https://blog.csdn.net/xh870189248/article/details/80909216#esp8266_109>
* 四、`esp8266`的工程老是提示找不到头文件,可是我明明已经把头文件放进去了;
<https://blog.csdn.net/xh870189248/article/details/80909216#esp8266_134>


<>一、前言;

*
Esp8266这款物美价廉的芯片,让我学习到很多知识,不仅仅是嵌入式的网络知识,还有对Linux的编程,以及Makefile
文件编译的过程。这篇文章主要介绍怎么样自定义自己的文件夹,以及怎么样实现添加第三方静态库文件;

*
对于怎么自定义文件名目录的话,大家可以参考下这个点击查看
<https://blog.csdn.net/qq_15647227/article/details/52218108>
,这个还是讲解的比较清楚的;当然啦,我也会详细记下这些笔记,以及大家开发过程中最常见的问题,在这我都会详细记下来。

<>二、esp8266的工程为什么要自定义目录,该怎么实现;

*
作为一个程序员,代码的整洁,以及各种方法变量的命名,都要遵循一定的规则,这种设计规范在硬件领域没有很大地被推广。今年2018年
阿里巴巴推广了一个文档叫《阿里巴巴Java开发规范手册》 ,有意者可以去看看,对任何开发语言的设计规范都是有一定的参考价值的。

*

那么,很自然地就会提到我们的工程为什么要自定义目录,在于把功能模块化,把各种驱动分开,降低耦合性。这种的设计规范在小工程看来效果不怎么样,但是在大工程看来,还是很有必要的。

在自定义目录时候,我们可以把头文件的放在一个文件夹include,各种驱动源文件放在driver,我们的driver的文件夹因为要被编译,所以要在此添加
Makefile;但是我们的include是不用的,编译器会帮我们自动寻找。 因为整个工程的核心要编译的代码,都是要整到一个文件被硬件编译的。

<>①:在工程的编译目录新建文件夹include和driver;

* 注意现在的esp8266的RTOS工程已经转移到IDF框架了;也就是没有所谓的./gen_misc.sh
来编译了。那么这里我是以前的工程来讲解下,这个也是适合裸跑的NONOS工程。
* 首先我们在我们要编译的目录添加2个文件夹,比如include和driver;
* 之后我们需要在我们的driver文件夹目录新建一个Makefile文件,内容可以如下,主要提到该文件夹要生成的库文件的名字(比如下面的就是
libdriver.a,这个名字可以随便取。),以及当前要编译的目录。 ifndef PDIR #指定名字为 libdriver.a GEN_LIBS =
libdriver.a endif INCLUDES := $(INCLUDES) -I $(PDIR)include INCLUDES += -I ./
INCLUDES += -I ../../include/ets PDIR := ../$(PDIR) sinclude $(PDIR)Makefile
* 整体的效果就这样了:


<>②:主目录添加上面的makeFile文件:

*
上面已经弄好了我们的makeFile文件,还有生成了库文件,还是不行的。还需要把我们主目录,添加如下:

*
添加指定的文件夹,如下面的driver。

*
添加指定的库文件,注意先是反斜杠再加库文件名字!

*
至此,自定义目录大工完成。



<>三、esp8266的工程怎么样添加第三方静态库文件;

* 首次使用esp8266的pwm功能的时候,可能新手都想知道这个pwm
的源文件在哪?觉得奇怪只有一个头文件被我们调用,但是又看不见实现方法的源文件,觉得纳闷。其实这个源文件是以库文件.a文件存在的,不是我们平时长见的.c
文件,那么怎么样打开这库文件呢?目前这个我是没接触过的,既然人家乐鑫有意去封装成为库文件,那么就是有他的意思,防止二次修改,可能里面也有一些技术核心不想公开吧。
①: esp8266的库文件存放在哪?

* 统一放在lib文件夹里面!从下面可以看到,还有libairkiss.a,以及libmesh.a,命名规范为lib+名字!


②: esp8266的库文件该怎么调用?

*
第一步的话,那肯定是要先加载添加到我们的工程里面,下面右边所示,有个反斜杠+lpwm,意思就是把我们上图的libpwm.a文件添加进去了!同理,加个
lairkiss就是把我们的libairkiss.a添加进去了。

*
第二步的话,就是根据头文件来调用就OK啦!



<>四、esp8266的工程老是提示找不到头文件,可是我明明已经把头文件放进去了;

*
相信这个问题大家都经常遇到,这个问题我开始接触的时候也是一头雾水,之后发现了睥睨。综合上面的讲解,原因相信大家也知道了:

*
第一种可能就是没有源文件实现,也就是没有.c文件或者.a库文件;

*
第二种可能就是.c文件或者.a库文件没有实现该方法;

*
第三种可能就是该头文件没有放在正确的目录下面;

*
第四种可能就是.c文件或者.a库文件没有放在正确的目录下面;

* 最后一点告诫大家,先学好C语言和89C52再来学习esp8266,把基本的电子元器件搞懂,外设驱动各种通讯协议,这样学就得心应手了。
* esp8266学习汇总:https://github.com/xuhongv/StudyInEsp8266
<https://github.com/xuhongv/StudyInEsp8266>
* esp32学习汇总:https://github.com/xuhongv/StudyInEsp32
<https://github.com/xuhongv/StudyInEsp32>
* QQ付费交流群,众多大神带您飞: 434878850

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信