书海网短评:
本书以JavaScript全栈物联网构建、数据面分析为主线,以实操推进,涵盖必要基础知识、架构、数据收集到展示、接入层开发、生物芯片、安全等核心技术,共三篇,11章内容。第一篇是基础篇(第1~2章),主要讲解:
《JavaScript物联网架构与数据处理》以JavaScript全栈物联网构建、数据面分析为主线,以实操推进,涵盖必要基础知识、架构、数据收集到展示、接入层开发、生物芯片、安全等核心技术,共三篇,11章内容。
第一篇是基础篇(第1~2章),主要讲解:①物联网进化的方向、以数据为核心的本质;②JavaScript作为端到端物联网解决方案的可行性;③Node.js基础以及关键技术,包括V8引擎、非阻塞I/O、事件循环与包管理,以及Node.js微服务构架设计。
第二篇是数据篇(第3~7章),主要讲解使用JavaScript完成物联网实时数据收集、存储、处理、分析、展示交互与安全的数据面技术与实践,穿插各种实用平台/框架的构建或者利用,逐步带领读者打造实时的物联网数据流收集与处理平台,并讲解如何利用深度学习算法等热点技术,同时涵盖物联网协议与互联网协议的互联互通。
第三篇是实战篇(第8~11章),以笔者开源的OpenFPGAduino为核心实际基于JavaScript的物联网开发,涵盖:①网关节点设计与云服务利用;②以物联网生物芯片实验测试系统为例,介绍子系统设计与整合。③物联网大数据系统设计,重点介绍数据的汇总与分析系统,以及基于日志的异常检测以及网络安全防护系统。
李知周(加照片),曾在国际知名投资银行从事基于大数据与机器学习的网络安全和交易监管的开发及数据分析工作,4年思科软件研发工程师经历,中国科学院微系统与信息技术研究所博士,发表过多篇机器学习相关EISCI学术论文,拥有多项国际国内专利,物联网早期创业者与创客。擅长物联网网络设备软硬件研发,大数据分析与机器学习研发,熟练掌握多种开发语言(包括C、JavaScript、Java、Scala、Verilog),掌握端到端的网络系统架构与设计。开源物联网硬件项目OpenFPGAduino的发起者和维护者:https://github.com/OpenFPGAduino/OpenFPGAduino。
序一
序二
前言
第一篇 基础篇
第1章 物联网系统基础2
1.1 万物互联与互联网进化论3
1.2 物联网的核心数据的流动4
1.2.1 现代物联网的对称性4
1.2.2 现代物联网的IP化4
1.3 端到端物联网解决方案5
1.3.1 JavaScript老树新花5
1.3.2 物联网节点JavaScript开发6
1.3.3 物联网客户端JavaScript开发7
1.4 物联网大数据的必然趋势9
1.5 物联网机器学习的必然趋势11
1.6 本章小结12
第2章 Node.js基础14
2.1 标准库14
2.1.1 简单模块定义和使用15
2.1.2 标准库API编程16
2.1.3 标准库console模块18
2.2 V8引擎22
2.2.1 编译执行23
2.2.2 垃圾回收24
2.3 非阻塞式I/O25
2.4 事件循环27
2.5 包管理器NPM30
2.5.1 包结构31
2.5.2 包管理33
2.6 Node.js开发环境34
2.7 微服务架构35
2.8 本章小结37
第二篇 数据篇
第3章 基于JavaScript物联网数据收集40
3.1 嵌入式系统特点40
3.1.1 高集成度40
3.1.2 资源受限41
3.1.3 长寿命42
3.1.4 环境苛刻42
3.2 实时数据收集43
3.2.1 强实时任务44
3.2.2 准实时任务44
3.2.3 弱实时任务与最终实时任务45
3.2.4 时延、抖动与吞吐量46
3.3 Node.js物联网节点开发49
3.3.1 内存分配与优化50
3.3.2 延时测量与性能优化58
3.3.3 Node.js跨语言调用60
3.3.4 Node.js物联网通信协议开发61
3.3.5 Node.js代码远程部署与更新65
3.3.6 Node.js服务发现70
3.4 IoT.js物联网节点开发73
3.5 Espruino的物联网节点开发75
3.6 本章小结76
第4章 基于JavaScript数据存储与处理77
4.1 大数据基础77
4.1.1 指数增长77
4.1.2 水平扩展79
4.1.3 MapReduce80
4.1.4 高可用性82
4.1.5 模式可复制83
4.2 大数据实时处理84
4.2.1 时间序列84
4.2.2 Lambda架构85
4.2.3 JavaScript物联网实时数据处理88
4.3 Kafka大数据消息总线89
4.3.1 消息总线90
4.3.2 Kafka集群91
4.3.3 数据存储95
4.3.4 高可用性98
4.3.5 连接器98
4.3.6 JavaScriptKafka数据收发100
4.3.7 Kafka即服务101
4.4 Spark大数据处理平台104
4.4.1 HDFS105
4.4.2 RDD107
4.4.3 变换与动作108
4.4.4 DAG调度器110
4.4.5 数据帧111
4.4.6 流处理113
4.4.7 EclairJSJavaScript大数据处理113
4.5 ElasticSearch大数据索引平台116
4.5.1 JSON文档117
4.5.2 模板与映射118
4.5.3 确切值与全文文本120
4.5.4 Lucene引擎与倒排索引121
4.5.5 分片与副本122
4.5.6 RESTful接口的JavaScript编程122
4.6 本章小结125
第5章 基于JavaScript物联网数据分析126
5.1 人工智能与机器学习126
5.1.1 监督学习128
5.1.2 强化学习134
5.2 深度学习138
5.2.1 多层感知器网络139
5.2.2 卷积神经网络145
5.2.3 递归神经网络149
5.2.4 大规模深度学习152
5.3 深度学习物联网数据分析155
5.3.1 基于卷积神经网络的物联网视频监控物体识别155
5.3.2 基于Q深度学习的物联网扫地机器人156
5.4 本章小结158
第6章 基于JavaScript物联网数据展示与交互159
6.1 物联网网页应用开发159
6.1.1 HTML160
6.1.2 CSS165
6.1.3 本地数据存储170
6.1.4 AJAX171
6.1.5 WebSocket174
6.1.6 多媒体176
6.1.7 数据可视化179
6.2 Angular.js网页应用开发186
6.2.1 单页应用187
6.2.2 MVC设计模式189
6.2.3 双向绑定191
6.2.4 依赖注入192
6.2.5 URL路由193
6.3 Ionic移动应用开发195
6.3.1 Cordova196
6.3.2 UI组件197
6.3.3 Ionic集成开发环境199
6.3.4 物联网单页应用程序201
6.4 本章小结205
第7章 基于JavaScript物联网数据安全206
7.1 物联网的安全挑战206
7.1.1 未来已经来临206
7.1.2 早期物联网安全207
7.1.3 现代物联网安全208
7.2 攻击表面与安全防护209
7.2.1 设备安全210
7.2.2 网络安全211
7.2.3 数据安全213
7.3 安全猎手与击杀链215
7.3.1 基于大数据的物联网安全监控系统设计216
7.3.2 物联网安全监控系统击杀实战219
7.4 JavaScript物联网数据安全221
7.4.1 JavaScript程序漏洞扫描221
7.4.2 JavaScript网络传输加密222
7.4.3 JavaScript实现访问控制225
7.5 本章小结227
第三篇 实战篇
第8章 物联网智能网关系统开发230
8.1 物联网智能网关230
8.2 开源硬件OpenFPGAduino231
8.2.1 开源硬件简介232
8.2.2 OpenFPGAduino硬件设计234
8.2.3 OpenFPGAduino软件设计235
8.3 Node.js物联网系统开发236
8.3.1 Arduino.js网络系统237
8.3.2 ExpressHTTP服务237
8.3.3 微服务架构238
8.3.4 数据库微服务242
8.3.5 服务发现244
8.3.6 物联网协议转换246
8.3.7 硬件访问248
8.3.8 硬件仿真252
8.3.9 Mocha集成测试254
8.4 FPGA实时性系统开发256
8.4.1 FPGA简介256
8.4.2 Qsys总线257
8.4.3 内核空间驱动259
8.4.4 用户空间驱动260
8.4.5 FPGA在线应用配置261
8.5 本章小结262
第9章 物联网云管理与开发环境264
9.1 云计算与云服务264
9.1.1 虚拟化265
9.1.2 容器化266
9.2 物联网云服务272
9.3 基于HTML的嵌入式软件开发环境274
9.4 基于Blockly的云软件开发环境275
9.5 基于Docker与云存储的云开发编译部署环境280
9.6 基于Yeelink云的物联网远程管理与控制285
9.7 基于Plot.ly数据可视化云服务288
9.8 基于听云物联网运维服务289
9.9 本章小结291
第10章 物联网生物芯片实验测试系统292
10.1 生物芯片测试平台292
10.2 生物芯片测试平台总体设计294
10.3 平台电源与机箱系统设计296
10.4 控温控湿度平台系统设计298
10.5 实验试剂注射进样系统设计302
10.6 高精度三轴移动定位系统设计304
10.7 显微镜图像监控系统设计309
10.8 物联网实验自动化控制系统设计309
10.9 本章小结312
第11章 物联网大数据分析系统313
11.1 物联网大数据平台313
11.1.1 物联网络三层架构315
11.1.2 物联网大数据信息处理平台设计316
11.2 物联网数据汇聚319
11.2.1 物联网MQTTKafka网桥319
11.2.2 物联网数据平面Kafka聚合网关管理322
11.2.3 物联网控制平面ZooKeeper节点管理323
11.3 物联网数据清洗324
11.3.1 抽取变换加载325
11.3.2 一致性检查326
11.3.3 重复数据去除327
11.4 物联网数据统计分析与机器学习334
11.4.1 统计分析与机器学习335
11.4.2 基于Spark批处理统计分析335
11.4.3 基于Kappa架构实时统计分析336
11.4.4 在线机器学习338
11.4.5 基于RLS的异常检测339
11.5 物联网日志异常检测与监控系统设计341
11.5.1 物联网日志分析341
11.5.2 LogStash日志收集与解析342
11.5.3 ElasticSearch日志存储与索引344
11.5.4 Kibana日志可视化344
11.5.5 日志异常检测与告警346
11.6 物联网数据安全日志机器学习系统设计350
11.6.1 攻击指纹DGA351
11.6.2 DGA应用实例DNS隧道353
11.6.3 自然语言处理355
11.6.4 深度学习识别DGA358
11.7 本章小结364









