作者 |
大卫·弗拉纳根 鲁本·奥利瓦·拉莫斯 |
丛书名 |
O’Reilly精品图书系列 |
出版社 |
机械工业出版社 |
ISBN |
9782103161350 |
简要 |
简介 |
内容简介书籍计算机书籍 ---------------------------8078753 - JavaScript权威指南(原书第7版)--------------------------- 书介绍JavaScript语言和由浏览器与Node实现的JavaScript API。本书适合有一定编程经验、想学习JavaScript读者,也适合已经在使用JavaScript但希望更深入地理解进而真正掌握这门语言的程序员。本书的目标是全面地讲解JavaScript语言,对JavaScript程序中可能用到的重要的客户端API和服务器端API提供深入的介绍。本书篇幅较长,内容非常详尽,相信认真研究本书的读者都能获益良多。 ---------------------------7282855 - 物联网系统开发:树莓派JavaScript编程指南--------------------------- 本书首先介绍了如何设置一个中心网络服务器作为设备的连接中心。之后,进一步介绍了搭建网页服务来实现已连接设备之间的高层次通信。利用Arduino和树莓派Zero作为终端设备,本书展示了设备之间如何通信,如何实现各种任务,以及如何用JavaScript从一个中心设备进行控制。后,本书创建了一个复合的APP来控制设备,这些设备可以通过网页或智能手机运行。 |
目录 |
[套装书具体书目] 7282855 - 物联网系统开发:树莓派JavaScript编程指南 - 9787111588894 - 机械工业出版社 - 定价 59 8078753 - JavaScript权威指南(原书第7版) - 9787111677222 - 机械工业出版社 - 定价 139 ---------------------------8078753 - JavaScript权威指南(原书第7版)--------------------------- 前言1 第1章 JavaScript简介5 1.1 探索JavaScript7 1.2 Hello World8 1.3 JavaScript之旅9 1.4 示例:字符频率柱形图14 1.5 小结17 第2章 词法结构18 2.1 JavaScript程序的文本18 2.2 注释19 2.3 字面量19 2.4 标识符和保留字19 2.5 Unicode20 2.6 可选的分号21 2.7 小结23 第3章 类型、值和变量24 3.1 概述与定义24 3.2 数值26 3.3 文本32 3.4 布尔值38 3.5 null与undefined39 3.6 符号40 3.7 全局对象41 3.8 不可修改的原始值与可修改的对象引用42 3.9 类型转换44 3.10 变量声明与赋值51 3.11 小结58 第4章 表达式与操作符59 4.1 主表达式59 4.2 对象和数组初始化程序60 4.3 函数定义表达式61 4.4 属性访问表达式62 4.5 调用表达式64 4.6 对象创建表达式65 4.7 操作符概述66 4.8 算术表达式70 4.9 关系表达式75 4.10 逻辑表达式79 4.11 赋值表达式82 4.12 求值表达式83 4.13 其他操作符86 4.14 小结91 第5章 语句92 5.1 表达式语句93 5.2 复合语句与空语句93 5.3 条件语句94 5.4 循环语句99 5.5 跳转语句106 5.6 其他语句113 5.7 声明117 5.8 小结119 第6章 对象120 6.1 对象简介120 6.2 创建对象121 6.3 查询和设置属性124 6.4 删除属性128 6.5 测试属性129 6.6 枚举属性130 6.7 扩展对象131 6.8 序列化对象133 6.9 对象方法133 6.10 对象字面量扩展语法135 6.11 小结141 第7章 数组143 7.1 创建数组144 7.2 读写数组元素146 7.3 稀疏数组148 7.4 数组长度148 7.5 添加和删除数组元素149 7.6 迭代数组150 7.7 多维数组151 7.8 数组方法152 7.9 类数组对象163 7.10 作为数组的字符串165 7.11 小结166 第8章 函数167 8.1 定义函数167 8.2 调用函数172 8.3 函数实参与形参177 8.4 函数作为值184 8.5 函数作为命名空间187 8.6 闭包188 8.7 函数属性、方法与构造函数192 8.8 函数式编程196 8.9 小结201 第9章 类202 9.1 类和原型203 9.2 类和构造函数204 9.3 使用class关键字的类209 9.4 为已有类添加方法215 9.5 子类216 9.6 小结226 第10章 模块227 10.1 基于类、对象和闭包的模块227 10.2 Node中的模块230 10.3 ES6中的模块232 10.4 小结242 第11章 JavaScript标准库243 11.1 集合与映射244 11.2 定型数组与二进制数据249 11.3 正则表达式与模式匹配255 11.4 日期与时间273 11.5 Error类276 11.6 JSON序列化与解析277 11.7 国际化API280 11.8 控制台API287 11.9 URL API290 11.10 计时器293 11.11 小结294 第12章 迭代器与生成器295 12.1 迭代器原理296 12.2 实现可迭代对象296 12.3 生成器300 12.4 高级生成器特性303 12.5 小结306 第13章 异步JavaScript307 13.1 使用回调的异步编程307 13.2 期约311 13.3 async和await330 13.4 异步迭代332 13.5 小结338 第14章 元编程340 14.1 属性的特性340 14.2 对象的可扩展能力345 14.3 prototype特性346 14.4 公认符号347 14.5 模板标签354 14.6 反射API356 14.7 代理对象359 14.8 小结365 第15章 浏览器中的JavaScript367 15.1 Web编程基础369 15.2 事件382 15.3 操作DOM391 15.4 操作CSS406 15.5 文档几何与滚动412 15.6 Web组件416 15.7 可伸缩矢量图形427 15.8 与图形434 15.9 Audio API453 15.10 位置、导航与历史455 15.11 网络463 15.12 存储479 15.13 工作线程与消息传递490 15.14 示例:曼德布洛特集合496 15.15 小结及未来阅读建议508 第16章 Node服务器端JavaScript515 16.1 Node编程基础516 16.2 Node默认异步520 16.3 缓冲区523 16.4 事件与EventEmitter525 16.5 流526 16.6 进程、CPU和操作系统细节536 16.7 操作文件537 16.8 HTTP客户端与服务器547 16.9 非HTTP网络服务器及客户端551 16.10 操作子进程554 16.11 工作线程558 16.12 小结566 第17章 JavaScript工具和扩展568 17.1 使用ESLint检查代码569 17.2 使用Prettier格式化代码570 17.3 使用Jest做单元测试570 17.4 使用npm管理依赖包573 17.5 代码打包574 17.6 使用Babel转译576 17.7 JSX:JavaScript中的标记表达式577 17.8 使用Flow检查类型581 17.9 小结595 关于作者596 关于封面596 ---------------------------7282855 - 物联网系统开发:树莓派JavaScript编程指南--------------------------- 译者序 关于作者 前言 第1章 初识树莓派Zero1 1.1 设置树莓派Zero1 1.1.1 准备SD卡2 1.1.2 安装Raspbian操作系统2 1.1.3 利用串口控制电缆调试树莓派Zero3 1.1.4 使用COM串口测试和通信4 1.2 联网与远程控制树莓派7 1.2.1 连接以太网络7 1.2.2 用SSH接入树莓派Zero8 1.2.3 连接Wi-Fi10 1.3 如何安装无线工具10 1.4 测试通信13 1.5 更新package库14 1.6 远程桌面16 1.7 自定义网络服务器18 1.8 测试PHP安装19 1.9 总结21 第2章 连接树莓派Zero22 2.1 数字信号输入:传感器DS18B2022 2.1.1 硬件要求22 2.1.2 硬件连接23 2.2 自定义单线协议24 2.2.1 软件自定义25 2.2.2 在屏幕上显示读数26 2.3 用模数转换器MCP3008输入模拟信号26 2.4 树莓派GPIO引脚头28 2.5 连接RTC32 2.6 设置DS3231模块35 2.7 测试RTC37 2.8 I2C设备设置37 2.9 最终测试RTC38 2.10 总结39 第3章 接入传感器——测量现实事物40 3.1 读取流水传感器来计算水的体积41 3.1.1 硬件连接41 3.1.2 读取传感器信号41 3.2 用Arduino读取和统计脉冲42 3.3 根据统计的脉冲数量计算水流速度43 3.4 计算水的流速和体积44 3.5 测量煤气浓度48 3.6 用传感器测量酒精浓度50 3.7 用传感器监测火焰51 3.8 测量植物湿度53 3.9 测量容器中的水量55 3.10 测量温度、湿度和光照,并把数据显示到LCD屏幕上57 3.10.1 硬件和软件要求57 3.10.2 测试传感器59 3.10.3 在LCD上显示数据60 3.11 用PIR传感器监测物体运动62 3.12 用簧片开关监测门是否被打开63 3.13 用指纹传感器管理进门人员64 3.13.1 硬件设置64 3.13.2 保存指纹65 3.13.3 测试传感器69 3.14 总结71 第4章 控制连接的设备72 4.1 利用Node.js制作一个简单的网络服务器72 4.2 利用Restful API和Node.js让树莓派控制一个继电器73 4.2.1 JSON 结构74 4.2.2 aREST API指令74 4.2.3 在树莓派Zero上安装Node.js74 4.3 从浏览器用aREST指令控制继电器75 4.4 将电脑上的Node.js设置成网络服务器77 4.4.1 下载Node.js78 4.4.2 安装Node.js78 4.4.3 用Node.js设置网络服务器端口808080 4.5 用Arduino Wi-Fi扩展板和Node.js监控温度、湿度和光照81 4.6 用Arduino以太网扩展板和Node.js监控温度、湿度和光照87 4.6.1 Arduino以太网扩展板的应用代码87 4.6.2 设置设备的Node.js90 4.7 总结91 第5章 在你的安全系统中添加网络摄像头92 5.1 Arduino和树莓派间的互动92 5.1.1 在Raspbian系统下安装Arduino IDE93 5.1.2 远程连接树莓派93 5.1.3 用图像接口执行Arduino93 5.2 Raspbian系统下的Arduino界面94 5.2.1 准备工作95 5.2.2 选择串口95 5.2.3 从图形界面下载程序96 5.3 从树莓派Zero控制一个Arduino的输出口97 5.4 用Python控制Arduino98 5.5 将TTL串口摄像头连接到Arduino,并将图像保存到micro SD卡99 5.6 用TTL串口摄像头监测运动101 5.7 用树莓派控制快照拍摄102 5.8 用网页控制摄像头104 5.8.1 通过PHP启动Python脚本104 5.8.2 Python脚本代码105 5.9 在安全网络中监控USB摄像头106 5.9.1 设置Arduino YUN106 5.9.2 从MJPG-STREAMER服务器监控108 5.9.3 用树莓派监控USB摄像头108 5.10 总结109 第6章 搭建网络监视器和用仪表盘控制设备110 6.1 设置MySQL数据服务器110 6.1.1 安装MySQL111 6.1.2 安装PHP的MySQL驱动113 6.1.3 测试PHP和MySQL113 6.2 安装phpMyAdmin管理数据库115 6.2.1 设置Apache服务器116 6.2.2 从远程控制面板进入phpMyAdmin118 6.2.3 展示Arduinobd数据库118 6.2.4 从Arduino的以太网扩充板发送数据到网页服务器119 6.3 MySQL的Datalogger121 6.3.1 脚本语言编程121 6.3.2 测试连接122 6.4 数据库查询123 6.4.1 脚本软件123 6.4.2 展示特定数据的脚本124 6.4.3 查询记录的温度125 6.5 LED的控制和调光126 6.5.1 软件要求126 6.5.2 测试LED127 6.5.3 从界面控制LED128 6.6 控制直流电机129 6.7 用电路控制灯132 6.8 其他电气用具135 6.8.1 控制门锁135 6.8.2 控制浇水136 6.9 从任何地方远程访问树莓派Zero136 6.9.1 如何访问并设置路由器137 6.9.2 设置动态DNS139 6.9.3 创建No-ip.org账号140 6.10 控制灯并且测量电流消耗141 6.11 从已经连接的设备和传感器上控制与监视Arduino、Wi-Fi和以太网扩展板147 6.11.1 编写控制和监控设备的单一接口代码147 6.11.2 为监视和控制添加设备148 6.12 总结150 第7章 用物联网仪表盘搭建监视设备151 7.1 可以检测噪声的监听麦克风151 7.2 管理交流灯调光器的电流153 7.2.1 硬件要求153 7.2.2 软件代码154 7.3 用RFID卡控制访问156 7.3.1 硬件要求156 7.3.2 软件要求157 7.3.3 软件代码157 7.4 监测烟雾160 7.5 用树莓派Zero搭建报警系统163 7.5.1 树莓派Zero的运动传感器163 7.5.2 软件代码163 7.5.3 报警模块164 7.5.4 软件代码164 7.5.5 中央接口164 7.5.6 图形接口166 7.6 从远程面板监视气候167 7.6.1 探索传感器的测试167 7.6.2 设置远程面板(Dweet.io)168 7.7 总结170 第8章 用手机监视和控制设备171 8.1 通过APP Inventor在手机上控制继电器171 8.1.1 硬件要求171 8.1.2 软件要求172 8.2 创建第一个应用172 8.2.1 设计界面175 8.2.2 APP Inventor和Arduino以太网扩展板的通信176 8.2.3 APP Inventor代码176 8.3 在以太网扩展板的Android Studio中读取JSON响应178 8.4 Android应用181 8.4.1 Java类181 8.4.2 应用的许可181 8.5 用Android应用控制直流电机182 8.6 用Android控制树莓派Zero的输出184 8.7 用蓝牙控制树莓派Zero的输出185 8.8 总结187 第9章 整合所有知识188 9.1 整合系统—开发项目188 9.1.1 光敏传感器细节188 9.1.2 运动传感器189 9.1.3 自动光照控制器190 9.2 太阳能监控电路191 9.3 带有土壤传感器的自动灌溉系统191 9.4 Arduino水量系统192 9.5 基于蓝牙技术的家庭自动化192 9.6 用矩阵式键盘控制访问193 9.6.1 键盘193 9.6.2 连接LCD屏幕来显示代码194 9.7 用键盘控制门锁194 9.8 整合系统来控制继电器和设备196 9.8.1 控制多个电气设备196 9.8.2 整个系统197 9.9 如何安装电源197 9.9.1 交流负载电源198 9.9.2 连接24V直流继电器到Arduino198 9.10 总结199 |