首页>参考读物>电子电工>电子工程

Arduino开发实战指南:智能家居卷
作者 : 赵志 编著
出版日期 : 2015-08-24
ISBN : 978-7-111-50826-7
定价 : 49.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 169
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书讲述了如何利用两个低成本DIY利器开源组合android与arduino在几乎零基础知识的前提下制作智能家居,以及如何利用物联网平台实现远程数据接收和控制。

图书特色

首本结合微信的Arduino手把手智能家居应用开发教程。
结合App inventor,让不懂编程和硬件的读者能够开发出有创意的应用。
电路、代码和实例完整,可实现一对一动手操作。

封底
现在有越来越多的人了解并开始使用Arduino,正在阅读本书的你肯定也是其中一员,那么你是否也想自己动手完成一个或一套智能家居产品呢?如果你想从技术层面了解智能家居产品的工作原理、硬件组成以及控制方式,那么这本《Arduino开发实战指南:智能家居卷》一定是你的最佳选择。本书内容涉及大量实例,包括智能灯泡、自动门锁、电视遥控器、燃气泄漏报警、火灾监控、智能音乐播放器等等。此外,还介绍了三个物联网平台功能,以及我们如何借用平台通过网页接收数据和控制设备,并实现微博转发和微信互动。希望这本书能为你打开返向智能家居和智能硬件的大门。
—— 开源硬件布道者,第一本Arduino中文书作者,《硬·创客》主编
这是一本和枯燥毫不相干的书,作者从书的一开始就在带领大家用极为简单的方法做实用而有趣的事,并贯彻至终。通过Arduino的生态系统,读者可以轻松实现环境监控、安防等一个个智能家居的基本功能,再通过智能手机解决人机交互的大问题。引入MIT的App Inventor开发工具是本书的另一个精彩之处,有了它,Android软件开发将不再是令读者头痛的难题,而变成了一种奇妙的体验。至于其他内容,就需要读者自己来探索了、控制与访问是智能家居的载体,而它的思想和灵魂,正是你的idea!
—— 爱板网资深版主(网名:懒兔子),硬件工程师,《pcDuino开发实战》作者 李潇海
这是一本出自创客之手的智能家居实践总结,也是一本智能家居DIY的实战宝典。书中并没有提供太多理论性的内容,而是以一个个生动的实践案例,由浅入深,循序渐进地让读者了解和掌握Arduino的开发和设计过程,以及如何利用图形化的编程软件App Inventor来设计Android程序,最终将二者结合,以多个入门性的智能家居实例指导读者实现一个完整的智能家居设计。即使没有特别多的硬件知识和编程知识的读者,同样可以轻松入门智能家居的设计。
—— 开源布道者,前beecube工程师,摩尔小报(微信公众账号)主编 姚琪
嵌入式系统从独立的控制器进化到联网的智能设备,正是当前互联网和嵌入式两个领域逐渐走到一起并形成物联网的趋势所在。本书以最流行的开源硬件平台Arduino为媒介,从终端设备到网络服务器,给出了完整的智能家居全系统布局和详细的实例。本书理论和实践结合,是通过具体实践掌握先进理论的好书。
—— 浙江大学计算机学院老师,创客领袖,资深火腿 翁恺


很多初学者在掌握了Arduino基础知识之后开始望而却步,却没能做出一个像样的应用。家是一个你永远值得用心去投入的场所。用Arduino结合一些现在热门的互联网应用,你就能够改造它,让它更温馨,更舒服,更灵活。你可以用Arduino控制你的台灯,控制你的家电,控制你的厨房,甚至通过微信将他们与互联网连接,实现真正的智能家居。本书将成为你改造自己家的一个完全手册。

赵 志 中国电信沈阳分公司网络运维部高级工程师,主要负责网络运维和设计施工相关工作。对路由器、交换机、单片机等系统设计开发有深入的研究。他还是一位骨灰级的开源硬件爱好者,酷爱Arduino开源技术,在智能家居应用方面有非常丰富的实践经验。

图书前言

智能家居,又称智能住宅,在国外常用Smart Home表示。通俗来说,智能家居是将灯光、家电、家庭影院、燃气预警、远程控制、电动窗帘、安防设备、背景音乐等连接成一个网络——物联网,通过一台智能家居主机(控制管理系统)进行统一管理,实现家居设备的自动化和智能化控制,给使用者带来最大程度的高效、便捷、舒适与安全的体验。
使用者可通过语音、短信、手机或平板电脑触摸屏、无线遥控器、上网设备等在家里或通过网络远程控制家用设备。我们想象一下,在回家的路上,你可以提前用手机打开家中的空调和热水器;晚上走进自己家的门厅时,对着门厅直接说“开灯”,门厅的灯就亮了;开门时,安卓密码锁功能开启,系统会自动打开电子门锁,安防撤防;坐在沙发上用手机遥控自己家的电视、空调;睡觉前在床上就可以用手机关闭所有房间的灯光。这一切是多么惬意啊!
出门在外,如果突然想起家里的水壶还在炉台上加热,我们可以通过网络远程、短信等关闭燃气阀门;也可以在接到家中安防告警的短信或家中患病的老人通过手机发来的SOS短信时,在网上通过摄像头观察家中的情况。
我们还可以进一步设定和执行各种复杂的场景操作,假如使用安卓手机设计了一个“家庭影院”场景,当按下“家庭影院”场景按钮时,智能家居系统将自动执行事先设定好的多个动作:关闭窗帘、关闭吊灯、打开背景灯、打开电视并切换到高清输入模式、打开DVD、打开功放等,以前需要执行多个动作,现在只需按一个键就可以全部完成了。正如比尔·盖茨在《未来之路》中曾经说过的那样:“在不远的未来,没有智能家居系统的住宅会像今天不能上网的住宅那样不合潮流。”
很多人或许觉得智能生活离我们还很远,只是个传说中的东西,只闻其名不见其形。其实智能家居系统早已在高端住宅或别墅中实现了,只是没有普及到大众家中,究其原因,首先是目前主流的智能家居厂家如美国Control4(华歌)、霍尼韦尔、索博、波创、科力屋等,一套系统动辄几万、几十万,甚至上百万,这不是一般家庭能够消费得起的。
其次,市场上许多智能家居产品的功能多为噱头,实用性不强,价格偏高,与我们的实际需求相距甚远。比如,某品牌的智能马桶,价格在万元以上,拥有诸多功能,如自动冲洗、洁身、坐圈加热、暖风烘干、除菌消毒以及夜间照明等,但其中很多功能对于一般家庭来说中看不中用。其实智能家居系统对使用者来说实用和舒适最重要。
能不能我们自己动手做一套简单易用的智能家居系统呢?答案是肯定的。作为一名业余电子爱好者,我很早就考虑自己动手设计一套符合自己需求的智能家居系统,只是一直没有找到合适的平台。2014年年初接触到Arduino互动电子技术后,其系统软硬件的开源性、丰富的扩展性给我很大启发,于是决定利用Arduino电子积木搭建心中的系统,从开始的点滴尝试到最终完成虽经历了很多曲折,却让我学到了更多的知识。对有兴趣动手做电子产品的业余电子爱好者说,其实做一个产品并不难,难的是恒心和毅力。
大家或许觉得智能家居系统涉及计算机技术、网络通信技术、传感器技术、互联网技术,这么多技术都要学习一定很难。我要对大家说,零基础的读者也可以完成本书所涉及的内容。利用Arduino开源代码,可以完全不需要了解硬件、内部结构和寄存器设置的特点,仅仅知道它的端口作用即可;即使完全不懂硬件知识,只要会简单的C语言,就可以按照书中一步一步的指导完成整个系统的搭建。
手机上的Android程序编写工作也许会让大家头痛,为此,在本书中,我向大家介绍一款图形化的编程软件App Inventor。它根本不需要你具备任何编程知识,只要像搭积木一样将预先存放好的组件拖到你想要的位置,即可完成一个复杂的Android程序。
本书前6章介绍了8个手机Android程序和Arduino单片机利用蓝牙之间相互通信控制的实验制作过程,一个用语音控制Arduino遥控器实验和一个室内温湿度用语音合成器播报实验。第7章介绍了3个物联网平台功能和借助平台通过网页接收数据并控制设备的方法,以及如何实现微博发布和微信互动。最后一章介绍了如何自己动手搭建一个微信智能家居平台。这一章里涉及PHP语言和MySQL数据库知识。大家只要根据注释部分修改自己的信息,复制其他部分就可以实现微信平台的搭建。
如果大家在实验过程中觉得制作过程比较繁琐,也可以直接到附录B指定的网站下载我已经编写好的程序和源代码。实验中所需要的素材、库函数、App Inventor离线数据包、Arduino编译软件等书中所提到的所有需要从网上下载的程序和资料也都保存在附录B指定的网站上,供大家下载和相互学习。
这本书能够出版,首先感谢机械工业出版社华章分社能够给我这么一个机会,还要特别感谢机械工业出版社华章分社的编辑们,没有他们的辛苦工作,这本书不可能与广大读者见面。
我还要感谢张国强和程晨两位老师对本书提供的帮助和指导,他们提供了大量信息和资料。这里还要向大家推荐两本书:《Arduino开发实战指南》 (程晨编著)、《C++程序设计》 (谭浩强编著)。如果大家对我的作品感兴趣,就一起动手吧!
由于时间非常仓促,作者水平有限,书中难免存在错误,恳请广大读者批评指正!

赵志

上架指导

电子与电气工程

作者简介

赵志 编著:暂无简介

图书目录

前言
第1章 蓝牙灯  1
1.1 Arduino简介  1
1.1.1 Arduino硬件  1
1.1.2 Arduino硬件驱动的安装  2
1.1.3 Arduino编译软件安装  5
1.2 蓝牙灯的制作  8
1.2.1 硬件需求及连接图  8
1.2.2 程序代码  9
1.3 App Inventor基础  10
1.3.1 创建App Inventor开发环境  11
1.3.2 App Inventor结构  12
1.4 制作一个App  14
1.4.1 新建一个项目  14
1.4.2 Designer界面设计  15
1.4.3 Blocks Editor界面设计  16
1.4.4 程序运行  22
1.4.5 下载程序  23
第2章 蓝牙锁和LED灯光调节  25
2.1 蓝牙锁  25
2.1.1 电子锁  25
2.1.2 硬件需求  25
2.1.3 程序代码  26
2.1.4 制作App  27
2.1.5 Designer界面设计  27
2.1.6 Blocks Editor界面设计  28
2.1.7 程序运行  30
2.2 LED灯调节  30
2.2.1 LED灯  30
2.2.2 硬件需求  30
2.2.3 程序代码  31
2.2.4 制作App  32
2.2.5 Designer界面设计  33
2.2.6 Blocks Editor界面设计  33
2.2.7 程序运行  35
第3章 电视遥控器  36
3.1 红外编码基础  36
3.2 IRmote库函数  38
3.2.1 IRsend类定义  38
3.2.2 IRsend类成员函数  39
3.2.3 IRrecv类定义  39
3.2.4 IRrecv类成员函数  40
3.3 获取遥控器编码  41
3.3.1 所需器件  41
3.3.2 硬件连接  41
3.3.3 程序代码  42
3.4 制作Arduino遥控器  42
3.4.1 所需器件  43
3.4.2 硬件连接  43
3.4.3 程序代码  44
3.5 “未知类型”遥控器代码  46
3.5.1 库函数定义的原始协议码格式  46
3.5.2 Arduino代码命令修改  47
3.6 制作遥控器的App  47
3.6.1 新建一个项目  48
3.6.2 Designer界面设计  48
3.6.3 Blocks Editor界面设计  49
3.6.4 程序运行  51
3.7 语音识别模块  52
3.7.1 VoiceClass类定义  52
3.7.2 VoiceClass类成员函数  52
3.7.3 示例  53
3.8 语音遥控器的制作  55
3.8.1 硬件连接  55
3.8.2 程序代码  56
第4章 温湿度计与温控  59
4.1 温湿度传感器  59
4.1.1 DHT11传感器的特点  59
4.1.2 DHT11传感器的通信过程  60
4.1.3 DHT11连线图  62
4.2 温湿度计程序代码  62
4.2.1 设计思路  62
4.2.2 程序代码  62
4.2.3 DHT11子函数  63
4.3 温湿度计的App制作  65
4.3.1 新建一个项目  65
4.3.2 Designer界面设计  65
4.3.3 Blocks Editor界面设计  67
4.3.4 程序运行  68
4.4 语音合成模块  69
4.4.1 Syn6288类定义  69
4.4.2 Syn6288类成员函数  70
4.5 语音温湿度计的制作  71
4.5.1 硬件连接  71
4.5.2 程序代码  72
4.6 智能温度控制  74
4.6.1 硬件搭建  74
4.6.2 程序代码  75
4.7 智能温度控制的App  81
4.7.1 新建一个项目  82
4.7.2 Designer界面设计  82
4.7.3 Blocks Editor界面设计  84
4.7.4 程序运行  86
第5章 短信告警  88
5.1 燃气和漏水/溢水监控  88
5.1.1 气体传感器  88
5.1.2 水位传感器  90
5.1.3 电磁阀和阀门机械手  91
5.1.4 GSM/GPRS通信模块  91
5.1.5 GSM短信编码方式  92
5.1.6 程序代码  93
5.2 火灾监控  96
5.2.1 火焰传感器  96
5.2.2 分励脱扣器+辅助开关  97
5.2.3 程序代码  98
5.3 安防监控  99
5.3.1 热释电红外传感器  99
5.3.2 网络摄像头  100
5.3.3 程序代码  100
5.4 制作短信告警的App  101
5.4.1 新建一个项目  101
5.4.2 Designer界面设计  102
5.4.3 Blocks Editor界面设计  103
5.4.4 程序运行  104
第6章 背景音乐  105
6.1 硬件搭建  105
6.1.1 MP3播放模块  105
6.1.2 程序代码  107
6.2 制作节目单的App  109
6.2.1 新建一个项目  109
6.2.2 Designer界面设计  109
6.2.3 Blocks Editor界面设计  111
6.2.4 程序运行  114
第7章 物联网平台  115
7.1 Yeelink平台  115
7.1.1 Yeelink平台设置  115
7.1.2 利用网页查看温湿度变化  118
7.1.3 利用网页远程控制开关灯  122
7.1.4 微博发布  127
7.2 乐联网平台  128
7.2.1 乐联网平台设置  128
7.2.2 程序代码  130
7.2.3 微信互动  132
7.3 Xively平台  138
7.3.1 Xively平台设置  138
7.3.2 程序代码  139
第8章 微信智能家居平台  142
8.1 服务器的搭建  142
8.1.1 百度BAE服务器端搭建  142
8.1.2 新浪SAE服务器端搭建  145
8.2 服务器端代码的编辑  147
8.2.1 示例代码  147
8.2.2 链接微信平台代码  149
8.2.3 链接Arduino代码  151
8.2.4 代码上传到服务器  152
8.2.5 数据库编辑  153
8.3 Arduino程序设计  154
8.4 微信公众平台搭建  156
8.5 验证  159
附录A 下载开发包的方法  160
附录B 从百度云盘下载本书资料  161

教学资源推荐
作者: [美]穆哈辛·本奥斯曼 (Mouhacine Benosman) 著
作者: [美] 查尔斯·K. 亚历山大(Charles K. Alexander) 马修·N. O. 萨迪库(Matthew N. O. Sadiku)著
作者: 张雪英 刘建霞 等编著
参考读物推荐
作者: 陆平 赵培 王志坤 等编著
作者: (美)Steven F. Barrett 著
作者: [美]法瓦兹·T.乌拉比(Fawwaz T. Ulaby)[美]翁贝托·拉瓦利(Umberto Ravaioli) 著
作者: 陈会 张玉兴 编著