logo资料库

基于ESPDuino的智慧物联开发宝典.pdf

第1页 / 共139页
第2页 / 共139页
第3页 / 共139页
第4页 / 共139页
第5页 / 共139页
第6页 / 共139页
第7页 / 共139页
第8页 / 共139页
资料共139页,剩余部分请下载后查看
目录
第 1 章 从Arduino 谈起
1.3.2引脚图原理图
  Talk is cheap,JUST DO IT    基 于 i E S P D u n o 的 智 慧 物 联 开 发 宝 典 四博智联    
  序  据美国国家大气监测组织说 2015 年是厄尔尼诺年,主要指海洋洋面温度异常增暖,从 而造成地球大气环流异常的现象,这种现象会对地球自然生态带来消极影响。想想也是,一 只巴西亚马逊的蝴蝶扇扇翅膀,就可能给大上海带来一场大风暴,何况海洋温度升高这一等 一的全球大事?其实,人类社会未尝没有厄尔尼诺,尤其是科技、资本这类颜值很高的东东, 给社会带来的改变说销魂蚀骨也不为过。幸运的是,人类自己总要把握自己命运的,是好是 坏取决于人们努力的方向。2015 年的互联网+、大众创新、全民创业,以及物联网真正地开 始落地,给相关产业的汪洋大海增温不少,所带来的是社会的厄尔尼诺还是新世界的起点, 取决于我们的行动——那就是在这片热土中,务实而不虚夸,勤奋而非取巧,把热度变为踏 踏实实的质感,形成产业的良性循环,在这个实体企业的寒冬中点亮未来高技术制造的明灯。 因此,在我从师兄李洪刚博士那里了解到要做这样一本书时,一开始我就是赞同的。(句式 没‐有‐错!)  李博士做企业多年,其嵌入式和云计算平台的开发技术炉火纯青,更经历了中国科学院 的学习与锤炼,在技术视野、市场把握、战略机遇等方面都已达到了更高的境界。他作为四 博智联公司的联合创始人,主导了深圳四博智联公司的创立和发展。公司的硬件设计和研发 则由尚留记博士负责,他和杨平博士均毕业于中国科学院自动化所,其中尚博以对国家核电 控制事业精益求精的精神对待公司产品的设计,而杨博则主导了公司整个产品系列的固件程 序开发和嵌入式设计。易称福作为中山大学的博士,同时也是中国科学院的博士后,因此, 他需要做更重要的工作——市场拓展。四位博士的共同努力,使四博智联的产品日益壮大, 在短时期内就获得国内外业界同行的关注。在这个历程中,苦于人们对物联网落地的困惑以 及对技术门槛的畏惧,深感有必要把自身创业实践中的思想、技术、经验、教训拿出来分享, 共同培育万众创新的大好局面,同时也成为鞭策自身向着更新、更高方向发展的一股力量。 本人忝列公司的战略顾问,却往往问而不顾,甚是惭愧。在得知成书意向后,遂自告奋勇, 参与捉刀代笔,希望能为开源社区和智能硬件的发展贡献绵薄之力。  本书由李、杨二位博士草拟了大纲并提供了所用到的大部分源代码,本人对其进行了逐 一测试,进一步验证了产品的有效性,并撰写了前两篇内容;尚博提供了杠杠的硬件环境, 易博则以他专业的素养指导了很多具体写作的细节;最后又由李博撰写了第三篇内容并审阅 了全书。在此,特为本书付梓做出了辛勤努力的同伴致以真挚的感谢——同伴们的精诚团结   I 
  与无私合作是这项任务能够按时完成的充要条件,当然也离不开 Arduino 和 github 开源社区 的重要支持,在此一并谢过。    最后,也是最重要的,向在各位背后默默付出,无条件支持我们的家人致以最高的敬意!    何晨光  博士  中国科学院深圳先进技术研究院  2016 年 1 月 15 日于西丽大学城    II     
  前言  欢迎来到“JUST DO IT”的世界!——  我很喜欢这类科技应用书籍中最惯常出现的句式, 虽然落了些俗套,但言简意赅,同高级编程语言中每次必讲的首课“Hello, World !”异曲同 工。是的,本书就是本有关指导开源硬件开发和应用的“Hello, World”。在本书中你将能够 接触到当下最流行的开源硬件系统——Arduino——特别适于各种小白级大咖们学习和掌握 对硬件的编程与控制方法。基于此,本书立足于四博智联(Doit)自主开发的 ESPDuino 物 联网开发环境,将传统的 Arduino 赋予了更加便利和丰富的功能,为当下风起云涌的物联世 界又提供了一柄屠龙宝刀,感谢它给我们带来了更多的可能性。  ESPDuino 正如其名称所示,来源于两个词根 ESP 和 DUINO,前者指今年在物联网领域 大行其道的 ESP8266 系列 WiFi 芯片,后者则指 Arduino。四博智联的 Doiter 们将其二者有机 地结合起来,构造了自主的 SDK 环境,再辅以公司已有的久经考验的成熟云计算平台,在 稳定性、开发效率、可扩展性等方面都有了大大的提高;同时,以长期致力于开源社区的分 享精神初步构建的 ESPDuino 生态社区,形成了崭新的、独具特色的物联网开发环境。所以, 无论你是小白还是大咖,无论是搞硬件还是软件,甚至无论你是哪个行业,只要对物联网感 兴趣,都可以借助本书的脉络一试物联技术开发的风采,真正将传说中各种华丽丽的智能控 制和物联网应用落在实处——毕竟,踩在大地上的感觉还是踏实许多。  本书主要讲述 ESPDuino 在物联网的一些典型环境中,是如何达到的所需的技术要求的, 并一步一步实现给大家看。在这一过程中,理论不会涉及太多,但关键原理会以简明易懂的 方式进行阐述。  阅读本书也许还需要具备一些初步的 C 语言编程知识,至于对电子硬件的 了解,初中物理水平就够了(也许还可以更少)。本书重点是采用亲自实践的办法,用“HOW  TO”的方式告诉你应该怎么做。在每一章的结束,你都可以掌握一些最有用的技术,最终, 可以独立地开发一些物联网项目,这也是本书的目的。  本书的内容分为主要三个部分:基础篇、进阶篇和产品篇。每一篇下又有若干章节,会 独立讲授一些在物联开发中所遇到的问题和解决方案。所以,有一定基础的读者可以按需挑 选相关内容来阅读。初学者建议按照章目顺序学习,由简到繁,这样可以形成技术的累积, 构建自己的技术框架,以最少时间获得前人多年的技术开发经验,倘如此,真正是开卷有益。  本书内容概述如下:  一、基础篇从缘起讲述了 ESPDuino 的来龙去脉,手把手讲述了相应的开发环境,通过   III 
  一个读取服务器时钟的例子告诉我们硬件与外部世界是如何联系的。接着,会学习如何让硬 件按照你想要的方式来控制,本篇末尾的“盲连接”直接帮你搞定了物联世界的“最后 500 米”。  二、进阶篇则带你进入到你也许自以为很熟悉的 TCP/IP 网络,包括 Internet 的 Web 服 务以及 Web 浏览器,包括很多细节。但本篇会告诉你为什么以及如何在底层协议上实现 ESPDuino 硬件为物联网环境提供服务的机制,这些服务都是“超视距”的,使读者知其然 也知其所以然,因此也是最为有用的,不要错过。  三、产品篇综合前两篇的各种技术,帮助你形成项目的基本技术框架。通过物联网的设 备接入、和微信控制的有机结合、智能坦克小车的设计一直到 ESPDuino 的智能信息站、初 级的智能机器人手臂的产品级开发实践,相信会为你的物联人生开拓更广阔的视野。尤其点 赞的是,根据本篇内容,你会做出一模一样的智能产品,甚至更酷更炫——不怕你做不到, 只怕你想不到!  在学习过程中,实验所需的开发板、软件兴趣小组的信息以及开源社区的资源,包括本 书的简易电子版,都可以在四博智联公司以及本书的官方网站上获得:www.doit.am,点进 去又是一个大千世界!  光说不练嘴把式,光练不说傻把式,又说又练才是真把式。西谚有云:Talk  is  cheap, 那么大伙一起 Do 起来吧——Just Do IT!                      四博智联  Doiters  2016 年 1 月 15 日  本书抛砖引玉,欢迎吐槽  !    IV 
  目录  I  III  V  序  前言  目录  一、基础篇 ....................................................................................................................................... 1  第  1  章  从 Arduino 谈起................................................................................................................ 1  1.1  Arduino 的前世今生 ......................................................................................................... 1  1.1.1  Arduino 能做什么 .................................................................................................. 1  1.1.2  为什么选择它 ........................................................................................................ 2  1.1.3  优点?缺点? ........................................................................................................ 4  1.2  ESP8266 是什么 ................................................................................................................ 4  1.2.1  ESP8266 特点 ......................................................................................................... 5  1.2.2  为什么要用 ESP8266 ............................................................................................. 6  1.2.3  ESP8266 使用场景 ................................................................................................. 7  1.3  什么是 ESPDuino .............................................................................................................. 7  1.3.1  强强联合就开挂 .................................................................................................... 7  1.3.2  ESPDuino 庐山真面 ............................................................................................... 8  1.3.3  学或者玩,Just Do It ............................................................................................. 9  第  2  章  如何安装 ESPDuino 开发环境 ....................................................................................... 10  2.1  欲善其事必利其器 ......................................................................................................... 10  2.1.1  安装 ESPDuino 开发环境 .................................................................................... 10  2.1.2  搭建 ESPDuino 环境第二种方法 ........................................................................ 16  2.1.3  要点及注意事项 .................................................................................................. 18  2.1.4  常见问题 .............................................................................................................. 18  2.2  样例程序 ........................................................................................................................ 19  2.2.1  程序功能 .............................................................................................................. 19  2.3  源码分析 ........................................................................................................................ 22  第  3  章  键控 LED 灯,闪闪告诉你............................................................................................. 24  3.1  引言 ................................................................................................................................ 24  3.2  物料准备 ........................................................................................................................ 24  3.2.1  硬件 ...................................................................................................................... 24  3.2.2  软件 ...................................................................................................................... 25  3.3  三个不同的闪灯示例 ..................................................................................................... 25  3.3.1  自动闪烁 .............................................................................................................. 25  3.3.2  按键控制 .............................................................................................................. 25  3.3.3  中断方式 .............................................................................................................. 27  第  4  章  PWM,你也做得到 ....................................................................................................... 29  4.1  PWM 的原理 .................................................................................................................. 29  4.2  实验效果 ........................................................................................................................ 29  4.3  源码分析 ........................................................................................................................ 30  第  5  章  Soft AP—连上我就对了 ................................................................................................. 31  5.1  什么是 Soft AP 模式 ....................................................................................................... 31    V 
  5.2  实验效果 ........................................................................................................................ 32  5.3  源码分析 ........................................................................................................................ 33  第  6  章  STA 连接—我要连… ....................................................................................................... 35  6.1  什么是 STA 模式 ............................................................................................................. 35  6.2  连接过程 ........................................................................................................................ 35  6.2.1  STA 连接 WiFi 路由器 .......................................................................................... 35  6.2.2  实验效果 .............................................................................................................. 36  6.2.3  源码分析 .............................................................................................................. 37  6.3  AP+STA  共存模式 .......................................................................................................... 38  6.3.1  AP+STA 工作原理 .............................................................................................. 38  6.3.2  实验效果 .............................................................................................................. 38  6.3.3  源码分析 .............................................................................................................. 39  第  7  章  Scan WiFi—众里寻他千百度 ......................................................................................... 41  7.1  我扫故我在 .................................................................................................................... 41  7.2  试验效果 ........................................................................................................................ 41  7.3  源码分析 ........................................................................................................................ 42  第  8  章  从 SmartConfig 到 AirKiss ............................................................................................... 43  8.1  SmartConfig 的作用........................................................................................................ 43  8.1.1  为什么会有 SmartConfig ..................................................................................... 43  8.1.2  SmartConfig 工作流程: ..................................................................................... 43  8.1.3  SmartConfig 工作原理 ......................................................................................... 44  8.1.4  实现细节 .............................................................................................................. 45  8.2  SmartConfig ESPDuino .................................................................................................... 46  8.2.1  工作流程 .............................................................................................................. 46  8.2.2  源码分析 .............................................................................................................. 47  8.3  手机设置 ........................................................................................................................ 48  8.3.1  通过专用 app 设置 .............................................................................................. 48  8.3.2  通过微信设置 ...................................................................................................... 52  二、进阶篇 ..................................................................................................................................... 55  第  9  章  TCP Server/TCP Client ..................................................................................................... 55  9.1  TCP Server ....................................................................................................................... 55  9.1.1  实验步骤 .............................................................................................................. 55  9.1.2  源码分析 .............................................................................................................. 58  9.2  TCP Client ........................................................................................................................ 59  9.2.1  实验步骤 .............................................................................................................. 59  9.2.2  具体方法 .............................................................................................................. 60  9.2.3  源码分析 .............................................................................................................. 70  第  10  章 UDP 服务 ........................................................................................................................ 72  10.1 UDP Server ...................................................................................................................... 72  10.2 实验步骤 ........................................................................................................................ 72  10.3 源码分析 ........................................................................................................................ 76  第  11  章 WebServer,远程控制硬件 ........................................................................................... 78  11.1 连接人和硬件的桥梁 ..................................................................................................... 78  11.2 实验步骤 ........................................................................................................................ 78    VI 
  11.3 源码分析 ........................................................................................................................ 81  第  12  章 通过 Web OTA 升级固件 ............................................................................................... 85  12.1 什么是 web OTA ............................................................................................................. 85  12.2 实验步骤 ........................................................................................................................ 85  12.2.1 设置固件环境参数 .............................................................................................. 85  12.2.2 使用 STA 模式 ...................................................................................................... 89  12.2.3 使用 AP 模式 ....................................................................................................... 91  12.3 源码分析 ........................................................................................................................ 93  第  13  章 一个准产品的例子 ......................................................................................................... 95  13.1 产品概述 ........................................................................................................................ 95  13.2 功能描述 ........................................................................................................................ 95  13.3 实验步骤 ........................................................................................................................ 96  13.4 项目结构分析 .............................................................................................................. 108  13.4.1 主程序分析 ........................................................................................................ 108  13.4.2 HTTP 服务器配置 .............................................................................................. 110  13.4.3 网络任务处理 .................................................................................................... 111  13.4.4 协议解析 ............................................................................................................ 112  13.4.5 头文件处理 ........................................................................................................ 113  13.5 所用技术小结 .............................................................................................................. 115  三、产品篇 ................................................................................................................................... 116  第  14  章 DoIT 智能控制三色灯 .................................................................................................. 116  14.1 产品概述 ...................................................................................................................... 116  第  15  章 微信控制智能小车 ....................................................................................................... 116  第  16  章 ESPDuino MP3 ............................................................................................................... 118  第  17  章 ESPDuino WiFi 屏智能信息站 ...................................................................................... 119  第  18  章 ESPDuino  机械臂 ......................................................................................................... 120  附录‐ESP8266 Arduino  核心说明 ....................................................................................................... 122  致谢    129    VII 
分享到:
收藏