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 更新与删除数据 298
7.6 使用mongoose包连接MongoDB数据库 299
7.7 连接MongoDB并读取数据的程序 303
动手做 存储Arduino上传的温湿度数据 307
7.8 认识模板引擎 309
动手做 在ejs模板中显示最近10笔温湿度数据 315
动手做 分页显示数据 318
8 数据可视化——使用C3.js与D3.js绘制图表 321
8.1 使用C3 js绘制图表 322
8.2 显示动态平移的实时线条图 327
动手做 使用数据库数据描绘折线 331
8.3 动态显示Arduino检测模拟值 334
动手做 使用图表动态显示传感器数据 335
8.4 简易数字滤波 340
8.5 使用D3库 344
8.6 认识SVG 348
8.7 使用D3绘制SVG图像 353
8.8 使用动态数据绘制折线图 355
8.9 结合数据动态附加HTML元素 364