描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121319365丛书名: 完美图解物联网技术系列
目前开源硬件及物联网概念是当前社会技术领域的热点,社会需要大量精通技术的工作人员,但社会上的参考书籍却很少。《完美图解物联网技术》系列图书是当前物联网开发技术应用的集大成者,填补了这一空白。本书作者赵元杰是台湾地区畅销书《超图解Arduino实作入门》的作者,《完美图解物联网IoT实操:使用JavaScript,Node.JS,Arduino,Raspberry Pi》为该畅销书的姊妹篇,使用图片注释的方式,精心写作,是同领域的精品。
《完美图解物联网IoT实操:使用JavaScript,Node.JS,Arduino,Raspberry Pi》图文并茂,生动有趣,让软件工程师们快速地进入物联网领域!
0无所不在的JavaScript 与物联网设备 …………………………………..1
0.1 JavaScript 与物联网……………………………………………………………….3
0.2 MPU、MCU 与SoC 介绍……………………………………………………………… 6
0.3 章节导读……………………………………………………………………………… 9
1 JavaScript 入门 ………………………………………………………………13
1.1 JavaScript 入门……………………………………………………………………14
1.2 JavaScript 语言基础……………………………………………………………..19
1.3 函数定义与事件处理程序………………………………………………………. 29
1.4 定时产生随机数………………………………………………………………….. 32
1.5 Array(数组)对象………………………………………………………………. 34
1.6 认识Object(对象)类型………………………………………………………. 36
1.7 BOM(浏览器对象模型)与DOM(文档对象模型)…………………………41
动手做 操作网页对象………………………………………………………………… 43
1.8 在网页中嵌入JavaScript……………………………………………………….. 44
1.9 事件触发程序……………………………………………………………………… 46
2 认识jQuery 库 ………………………………………………………………..53
2.1 jQuery 简介………………………………………………………………………… 54
2.2 jQuery 语法基础………………………………………………………………….. 59
2.3 AJAX 技术:动态更新HTML 内容………………………………………………. 64
动手做 从Arduino 输出纯文本温度……………………………………………….. 66
2.4 网页消息交换格式………………………………………………………………… 69
2.5 Arduino 输出JSON 消息………………………………………………………….. 73
2.6 调整灯光亮度的网页界面……………………………………………………….. 76
动手做 接收调光值的Arduino 网站程序…………………………………………. 76
2.7 使用jQuery UI 附加网页用户界面元素……………………………………… 79
动手做 制作滑块界面网页…………………………………………………………… 82
2.8 AJAX 的安全限制………………………………………………………………….. 85
3 Node.js 入门 …………………………………………………………………..91
3.1 在电脑以及树莓派上安装Node.js…………………………………………….. 94
3.2 Node 编程起步…………………………………………………………………….. 99
3.3 使用http 模块创建网站服务器程序………………………………………… 103
3.4 事件驱动、非阻塞I/O 示范:读取文件……………………………………. 107
3.5 global(全局)对象与模块文件……………………………………………. 113
3.6 安装与管理模块:使用npm 工具程序………………………………………115
3.7 使用Express 框架开发网站应用程序……………………………………… 118
3.8 接收URL 数据……………………………………………………………………. 122
3.9 接收与处理POST 数据………………………………………………………….. 125
3.10 使用package.json 管理Node 项目的模块程序………………………….. 129
动手做 从Arduino 传递温湿度值给Node 网站………………………………. 131
3.11 使用JSONP 格式跨网域访问信息………………………………………….. 136
4 Node.js 串口通信与树莓派GPIO 控制 ……………………………..143
4.1 安装编译Node 模块所需的软件……………………………………………..144
4.2 安装C/C 编译器………………………………………………………………..147
动手做 Node.js 串口通信…………………………………………………………… 150
动手做 从Node.js 发送串口数据…………………………………………………. 154
4.3 通过Node.js 运行系统指令(运行raspistill 指令拍照)………………. 157
4.4 树莓派的GPIO 简介…………………………………………………………….. 162
4.5 Node.js 程序GPIO 控制:使用onoff 模块…………………………………. 166
动手做 GPIO 输入/ 输出信号练习:按开关闪烁LED…………………………. 167
动手做 通过红外传感模块拍摄照片…………………………………………….. 170
4.6 树莓派GPIO 集成Arduino 控制板…………………………………………… 172
4.7 5V 和3.3V 电压准位转换………………………………………………………. 182
4.8 MOSFET 逻辑电位转换电路原理解说………………………………………… 185
5 使用霹雳五号操控Arduino ……………………………………………..189
5.1 霹雳五号:用JavaScript 控制Arduino……………………………………. 190
动手做 用霹雳五号指挥Arduino 闪烁LED…………………………………….. 192
动手做 启用上拉电阻并读取开关信号……………………………………………200
动手做 模拟输入与PWM 输出程序实验………………………………………….. 201
动手做 检测温度………………………………………………………………………203
动手做 控制舵机…………………………………………………………………….. 207
动手做 控制LED 矩阵显示图像…………………………………………………….209
5.2 使用socket.io 创建实时连接………………………………………………… 211
动手做 创建实时通信程序………………………………………………………….214
动手做 浏览器与矩阵LED 作画…………………………………………………… 217
6 电子邮件、串流视频、计算机视觉与操控舵机 …………………..227
6.1 通过Node 发送电子邮件………………………………………………………. 228
动手做 云搜证:拍照自动发送E-mail…………………………………………. 233
动手做 串流视频:推播实时影像……………………………………………….. 234
6.2 使用MJPG 压缩与串流视频……………………………………………………. 240
6.3 控制舵机云台……………………………………………………………………. 246
动手做 使用方向键操控舵机云台……………………………………………….. 247
动手做 摄像头云台的Node 服务器代码………………………………………… 249
6.4 使用触摸屏幕虚拟摇杆操控摄像头云台…………………………………….250
6.5 浏览器连接游戏控制器(电玩控制器)…………………………………….. 254
动手做 使用gamepad.js 库创建游戏器操作的网页程序……………………..255
6.6 计算机视觉(computer vision)应用………………………………………..260
6.7 使用tracking.js 侦测人脸……………………………………………………. 264
动手做 脸孔侦测与舵机联动……………………………………………………… 270
动手做 侦测颜色…………………………………………………………………….. 273
7 使用MongoDB 数据库以及ejs 模板引擎创建动态网页 ……….279
7.1 数据库简介………………………………………………………………………. 280
7.2 安装MongoDB…………………………………………………………………….. 285
7.3 MongoDB 的基本操作……………………………………………………………. 289
7.4 查询数据………………………………………………………………………….. 294
7.5 更新与删除数据……………………………
序
本书探讨的核心主题是串联、汇流整合。互联网从初的人际沟通桥梁,拓展成机器之间协同合作的交流管道。
本书强调的是串联网络软件和微电脑控制板,以JavaScript 为主轴,开发网络应用程序、手机App、互动网页、数据库程序和操控微电脑。笔者假设读者曾经使用Arduino 开发工具写过Arduino 程序。
本书使用在物联网应用中两种根本的语言来创建应用程序:
Arduino 的 C 语言 :Arduino 系列控制板是电子互动
Maker 的爱,许多非Arduino 控制板,也强调跟Arduino 的程序开发环境或者控制引脚相容,尽管控制板厂商不断推陈出新,但是C 语言仍是当家主流。
JavaScript:在全球信息网(World-Wide
Web)中,通行的语言是 JavaScript,也是所有网页/ 网站开发人员必知必会的程序语言。经过数年的发展,JavaScript 的应用也扩展到计算机应用程序、手机App 开发,甚至操控微电脑控制板领域。
本书中采用的控制板类型比较多元化,不限于Arduino,但它们的控制程序都是用C 或JavaScript 编写的。
当今市场上不乏大师级的JavaScript 相关著作,像本书的每个章节,从互动网页、网站数据库程序设计、动态图表到手机App 开发,都有专门的参考书籍,但它们都鲜少提及JavaScript 在物联网和微控制器方面的整合应用。所以本书的定位,并不是要取代这些书籍,而是一种延伸和扩充。
感谢电子工业出版社编辑林瑞和先生以及葛娜女士在出版过程中给予的宝贵意见和指正,让本书顺利问世。衷心期盼本书能帮助读者了解物联网程序设计,进而开发出自己的云端物联网应用。
赵英杰
2017 年6 月15 日于中国台湾·糖安居
本书作者积累了多年关于物联网的实战开发经验,撰写出这本以JavaScript和Node.JS切入点实现物联网创意开发的应用图书。全书采用“实践融理论”的写作风格,不仅引入*热门硬件Arduino和Raspberry Pi实作物联网测控节点,还详述多项前沿技术应用方法。实践案例均配有手绘硬件图,生动有趣,图文并茂地讲解物联网IoT实操技法。
——奥松机器人创始人、资深创客
于欣龙
JavaScript是Web工程师广泛使用的语言,所以本书能让软件工程师能够快速地进入物联网的领域,同时通过几个典型的案例循序渐进地讲述了使用JavaScript搭建各种物联网应用的流程。人工智能和物联网是当前*值得期待的两个技术,将人工智能的服务(深度学习等)迁移到物联网的端设备成为下一个十年研究和商业化的热点,所以本书非常值得一读。
——莫比嗨客树莓派智能机器人有限公司创始人兼CEO 刘端阳
评论
还没有评论。