您的位置:首页 > 大数据 > 物联网

Esp8266学习之旅① 搭建开发环境,开始一个“hellow world”串口打印。

2017-09-14 21:33 1296 查看
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。

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,实现红外遥控器配网,远程控制一盏灯。

一、认识其本质与搭建开发环境。

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”。

第一步:打开我们的demo下载地址:http://wiki.ai-thinker.com/esp8266/examples ,这里我下载的是一个串口实验,打印 hellow world字符到我们通讯串口助手。下载后解压,[b]注意解压后的路径千万别带中文字符,解压请直接复制到一个没有中文字符的路径的文件夹下面。否则会影响到后面的编译结果![/b]

第二步:导入项目 [b]选择 File→Import ,下面步骤:[/b]



第三步:点开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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息