本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。
- 1、 Esp8266之 搭建开发环境,开始一个“hellow world”串口打印。
- 2、 Esp8266之 利用GPIO开始使用按钮点亮你的“第一盏灯”。
- 3、 Esp8266之 利用 “软件定时器 ” 定时0.5秒闪烁点亮一盏LED。
- 4 、Esp8266之 了解PWM,更为深入地用PWM控制一盏LED的亮度变化。
- 5 、Esp8266之 原生乐鑫SDK高级使用之封装Post与Get请求云端,拿到“天气预报信息”。
- 6 、Esp8266之 了解 SmartConfig与Airkiss一键配网,给8266配网上云端。无需把wifi名字密码写在固件里。
- 7 、Esp8266之 了解 softAP热点配网模式原理,仿“机智云”定义自己的热点配网模式协议。
- 8、 Esp8266之 你要找的8266作为UDP、TCP客户端或服务端的角色通讯,都在这了。
- 9、 Esp8266进阶之路第一篇: [小实战上篇]Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。
- 10、 Esp8266进阶之路第二篇: [小实战下篇]Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。
- 11、 Esp8266进阶之路第三篇: 8266接入阿里智能,点亮一盏LED灯,期待天猫精灵语音控制的不约而至!
- 12、 Esp8266进阶之路第四篇: 图文并茂学习阿里云主机搭建8266MQTT服务器,实现移动网络远程控制一盏LED。
- 13、 Esp8266进阶之路第五篇: 动手做个8266毕设小案例,smartConfig + MQTT协议轻松实现远程控制一盏LED。
- 14、 Esp8266进阶之路第六篇: esp8266的 FreeRtos系统学习的正确姿势 —— 环境搭建、烧录。
- 15、 Esp8266进阶之路第七篇: esp8266的 物联网又一股清流,8266接入阿里云平台非阿里智能的SDS服务,点亮一盏LED灯。
- 16、 Esp8266进阶之路第八篇: esp8266的 基于Nonos移植红外线H1838,实现红外遥控器配网,远程控制一盏灯。
- 17、 Esp8266进阶之路第九篇: esp8266自研的快速上电开关五次 (开-关为一次) ,无需按键触发则8266进去一键配网模式。
- 18、 Esp8266进阶之路第十篇: esp8266 基于NONOS 实现 OTA 远程升级,实现无线“ 热修复 ”升级固件程序。
- 19、 Esp8266进阶之路第十一篇【外设篇】: esp8266驱动 ds18b20、dht11 温湿度传感器,采集温湿度传感器到服务器。
- 20、 Esp8266进阶之路第十一篇【高级篇】: 深入学习esp8266的esp now模式,仿机智云做一个小网关,实现无需网络下轻松彼此连接通讯交互数据。
- 21、 Esp8266进阶之路第十二篇【高级篇】: 浅谈 esp8266 如何在本地局域网网络情况下实现最大效率地和前端实现数据交互。
- 22、 Esp8266进阶之路第十三篇【混杂篇】: esp8266的工程如何添加第三方静态库文件以及如何自定义文件夹,聊聊那些makeFile的事。。
- 23、 Esp8266进阶之路第十四篇【高级篇】: 再来一波 esp8266 基于 freeRtos系统连接自己私有的服务器实现OTA远程升级,接触下 lwip的基本知识。。
- 24、 Esp8266进阶之路第十五篇【高级篇】: 渗透学习回顾下esp8266的外置spi芯片25q系列,熟悉8266代码块在其的分布,得心应手放置图片或其他资料。
- 25、 Esp8266进阶之路第十六篇【高级篇】: 深聊下esp8266的串口 Uart 通讯中断编程,为您准备好了 NONOS 版本 和 RTOS 系统的串口驱动文件。
- 26、 Esp8266进阶之路第十七篇【高级篇】: 源码分析 MQTT 实现过程,实现移植 MQTT协议在 esp8266 rtos实时系统,可断线重连。
目录:
-
- 目录:
- 一、认识其本质与搭建开发环境。
- 二、开始我们的第一个“Hello World”。
-
- 第一步:打开我们最新的NONOS的SDK下载地址:https://github.com/espressif/ESP8266_NONOS_SDK ,解压后请注意以下操作:
- 第二步:导入项目 选择 File→Import ,下面步骤:
- 第三步:点开C/C++分支,并选中Existing Code as Makefile Project:
- 第四步:去除C++支持,选中 Cygwin GCC,点击Browser,选中我们解压后所在的目录。点击finish。
- 第五步:此刻,成功进入到我们的主界面。
- 第六步:开始编译工程前,我们装装逼,在其的 app ->user –> user_main.c 下的init_done_cb()方法下面的修改如下,让输出为 hellow world。
- 第七步:开始编译前,按照官方的说法,我们看控制台时候,直接把 Problems 栏目关掉,解释说,这个Problems 栏目报的错误不准确,只有Console 栏目下的输出为准,所以建议大家把 Problems 栏目关闭。
- 第八步:我们编译之后,看看控制台下的信息打印,说明已经成功做好固件啦。:
-
- 三、让我们烧固件走起。
- 目录:
一、认识其本质与搭建开发环境。
1.1 、 市面上无线模块有哪些。
大家可知道目前的无线通信模块有哪几种? 主要有Wifi无线通讯、BlueTooth蓝牙和ZigBee,目前大多都是前二者,ZigBee现在用的很少了。据我所推断的,未来是属于物联网世界、智能家居领域,而蓝牙和zigbe局限于范围,蓝牙4.0仅仅最大支持100米,zigbee就不说了。
1.2 、wifi模块Esp8266发展。
2015年物联网处于爆发的一年,乐鑫的ESP8266WIFI 芯片成为强烈的催化剂。成功的将2014年前的40以上的WIFI成本压缩到现在的10元左右。内置WIFI前端和高性能的32位MCU,基本引爆物联网市场,几乎牵扯到电子的行业,都可以用上,比如WIFI开关 灯具 WIFI定位 电饭锅 空气净化器 等消费类小家电与大家电,都面临这一场技术革新,与新的用户体验!比如你仅仅增加10元的成本就可以把自己的产品被手机控制了。
1.3 、Esp8266特点。
要知道,在物联网世界里面的牛人,没有谁不认识 8266 。既然如此出色,那肯定有他存在的必然理由:
低功耗、高集成度的 Wi-Fi 芯片。
最小系统仅需 7 个元器件
超宽工作温度范围:-40°C 至 +125°C
ESP8285 : ESP8266 内封 8 Mbit Flash。
ESP8266EX 有三种运行模式:激活模式、睡眠模式和深度睡眠模式,能够延长电池寿命。
1.4 、搭建开发环境。
- 在乐鑫官方里面有一个稍微复杂的开发环境搭建,需要搭建虚拟环境。这里的话,我在安信可官方网站找到一个更为方便轻捷的集成环境开发,原地址: http://wiki.ai-thinker.com/ai_ide_install
- 这里的话,我概括简单的教大家怎么搭建环境步骤:
- 第一步:打开链接,下载以下的文件夹(考虑到还有用xp系统的小伙伴):
- 第二步:分别点击文件下的 Eclipse 和 cygwin 安装程序, 选择记住好安装文件夹。之后点击 ESP_IDE 出现一个弹窗(如果打不开 ESP_IDE ,请安装 dotNetFx40_Full_x86_x64.exe),分别选择刚刚安装的路径,之后点击 OK ,就会启动eclipse啦!
- 第三步:如果出现下面情况,恭喜!搭建成功!
二、开始我们的第一个“Hello World”。
第一步:打开我们最新的NONOS的SDK下载地址:https://github.com/espressif/ESP8266_NONOS_SDK ,解压后请注意以下操作:
- ①、
driver_lib
文件夹下面的Makefile
文件删除! - ②、整个
third_party
去掉,这是第三方的demo,我们很少用! - ③、把
example
文件夹下面的smart_config
复制到主目录,可重命名为app
,或者不修改! ④、以上做好了之后,可以导入IDE了!
这里一个串口实验,打印 hellow world字符到我们通讯串口助手。下载后解压,注意解压后的路径千万别带中文字符,解压请直接复制到一个没有中文字符的路径的文件夹下面。否则会影响到后面的编译结果!
第二步:导入项目 选择 File→Import ,下面步骤:
第三步:点开C/C++分支,并选中Existing Code as Makefile Project:
第四步:去除C++支持,选中 Cygwin GCC,点击Browser,选中我们解压后所在的目录。点击finish。
第五步:此刻,成功进入到我们的主界面。
第六步:开始编译工程前,我们装装逼,在其的 app ->user –> user_main.c 下的init_done_cb()方法下面的修改如下,让输出为 hellow world。
第七步:开始编译前,按照官方的说法,我们看控制台时候,直接把 Problems 栏目关掉,解释说,这个Problems 栏目报的错误不准确,只有Console 栏目下的输出为准,所以建议大家把 Problems 栏目关闭。
之后建议大家每次编译项目前先进行 clear project,再 build project ,这样就保证了正确的代码可以完全被编译,如果正确的代码没有clear project就直接build project ,可能会报错。
Build Project :编译项目 ; Clean Project:清理项目,可以清理下缓存。
第八步:我们编译之后,看看控制台下的信息打印,说明已经成功做好固件啦。:
三、让我们烧固件走起。
- 如果您的8266是没有最小系统的话(如下),那么需要自己搭建最小系统来烧固件进去。
看我们的最小系统搭建(强调:烧录时候,一定要让GPIO0处于低电平,即接GND):
让我们开始烧录:根据上面第八步的生成的bin文件,我们看见了其烧录信息:
- eagle.flash.bin——–>0x00000
- eagle.irom0text.bin—->0x40000
- 于是,我们就打开烧录软件,配置刚刚的路径,选择烧录地址(选择之后就是绿色的),各个参数如下:
- 点击 START ,8266重新上电或者是点击一下复位按键,就可以看到下面的进度条在下载啦。
- 下载完毕之后,我们给设备重新上电,打开串口助手,设置波特率115200:
上面的图是不是看见很清晰的 hellow world 呀 。
后记:所有自己编译出来的工程,都是有四个文件要烧录的,其中2个是必须烧录的(防止初始化失败),这2个文件分别是 esp_init_data_default.bin 和blank.bin,烧录地址根据您的8266型号区别,我们最平常用的是安信可8266-12系列的,这个是32Mbit,也就是4M flash ,所以他们的地址分别是 0x3FC000 和 0x3FE000 , 最后2个的烧录文件地址看编译之后结果而决定!也即是不一定是0x10000,有可能是0x2000 , 这个根据SDK的版本有关系。所以大家还是留心点!
有啥疑问,欢迎上车qq群:434878850