#小编推书# IoT世界级领军人物开创性大作!

Jessica瑾妞

2018-01-10

《从物联到万联:Node.js与树莓派万维物联网构建实战》是介绍万维物联网的入门教材。作者通过将树莓派作为物理设备网关,提出一种构建万物互联的可行方案——利用现有的万维网标准、HTTP协议,以及HTML、CSS和JavaScript技术,让智能产品终端成为开放的万维网的一部分,最终形成物联网和万维网的结合体——万维物联网。

《从物联到万联:Node.js与树莓派万维物联网构建实战》分为两个部分,第1章到第5章是第I部分,内容涵盖万维物联网基本概念、JavaScript和Node.js介绍,通过一个简单的例子来说明如何使用Node.js的Web框架与远程设备进行交互。第6章到第10章是第II部分,详细介绍万维物联网技术栈中的各层架构及如何用现有的Web技术实现各层架构,最终能够形成物理网聚合应用,能够快速创建复杂应用程序,整合各种设备和数据。

IoT世界级领军人物开创性大作,用Web实现全球智能产品|应用程序|数据|人的万物互联。

关于本书

《从物联到万联:Node.js与树莓派万维物联网构建实战》将为你提供架构和实现物联网产品、应用软件和服务所需的技术,这些技术基于可扩展和灵活的万维网。为了追求理论和实践的平衡,你将能够快速浏览万维物联网的复杂性,广泛学习一些工具和技术用来将物联网设备接入万维网并在其上建立可交互的应用软件。本书会分成两部分,加起来一共有10 个章节。

第I 部分介绍万维物联网的基础。你将学习底层相关的技术、协议、工具及有关连接各种设备到万维网上的问题。通过阅读第I 部分,你会对今天的物联网存在的许多问题、可用的各种技术及什么时候该用什么技术有一个准确的理解。

第 1 章总体介绍万维物联网——介绍它是什么,为什么它有别于物联网,什么情况下使用它比较理想。

第2 章提供万维物联网的动手实践。你将同一个远程的网络连接设备交互,并且通过写几行代码建立一个简单的 Web 应用。

第 3 章是一个简单的概述,即为什么 Node.js 是一个很好的框架,可以用来实现网络连接(Web-connected)的设备。这一章还介绍了Node.js 的关键概念,以及如何将它运行于嵌入式系统。

第 4 章是物联网硬件部分的一个快速概览。你将学到如何配置一个树莓派(或者其他 Linux 设备)并且将它连接到万维网,同时也学习如何将各种传感器和执行器连接到树莓派,以及如何写 Node.js 代码来使用它们。

第 5 章会对今天的物联网图景做一个广泛和简明的概述,聚焦于网络方面。
你将学习到各种网络和通信协议,它们彼此之间有什么关系,以及什么情况下用哪一个。这为了解万维物联网体系结构栈、它的各个层及每一层所扮演的角色打下基础。

第II 部分建立于你在第I 部分所学到的一切之上,教你如何实现万维物联网栈中的各层。经过第I 部分的学习,你应该已经有了一个真正连接到互联网的设备。现在,你将学习如何为那些设备设计一个优美的 Web API,以及如何使用各种工具来建立可交互的、弹性可扩展的万维物联网产品和应用软件。

第 6 章介绍万维物联网架构的第 1 层(接入层),并翔实地介绍 HTTP 和REST API。你将学到 HTTP 的各种特性,例如内容协商、错误码、 HTTP 动作,以及如何使用它们来为网络连接产品实现良好的 API。你也将学习到如何使用 WebSocket 来覆盖实时传感器和执行器。

第 7 章演示如何在不同的场景下实现接入层,以及如何将第 6 章介绍的概念实际应用在产品中。你将学习集成模式并研究将其他协议(例如 MQTT 和CoAP)集成到万维物联网的情况。

第 8 章重点研究万维物联网的第 2 层(发现层),并且描述如何使用网络连接产品的特性,让它们能够被 Web 客户端自动发现和使用。本章也提供一个关于语义化万维网及与物联网相关的简短概述。

第 9 章描述了万维物联网的第 3 层(共享层),并讨论涉及连接真实世界和Web 的各种注意事项和问题。你将学习 Web 安全的最佳实践,以及产品如何安全地给一个可信任的应用软件和用户共享数据和服务。你也将学习关于社交万维物联网的内容,或者说如何使用社交网络来建立实物的网络。

第 10 章重点研究万维物联网的第 4 层(整合层),并演示如何快速建立复杂的应用程序来合并来自各种数据源的数据。你将学习关于物理网聚合应用以及如何建立和扩展它们。

我们使用树莓派作为书中例子的参考设备。尽管如此,本书也包含了一个附录,提供集成另外3 个流行的嵌入式系统的基础知识,这3 个系统是 BeagleBone、Intel Edison 及 Arduino。

关于作者

Dominique Guinard 和 Vlad Trifa 是 EVRYTHNG 的联合创始人,EVRYTHNG是一个大规模的万维物联网云服务,为数以百万计的万维网设备提供服务。他们也联合创立了 http://webofthings.org ,这个组织是最早的针对网络连接设备从业者和研究员的社区和系列会议的组织。他们都是万维物联网和物联网的老兵,在 SAP、ETH 和 MIT 倡导推动这个领域的发展。在 2011 年,他们在 Postscapes 列出的世界前100 位物联网思想家排行榜上名列第50 位。

Dominique “Dom” Guinard 是 EVRYTHNG 的 CTO 和联合创始人,EVRYTHNG 是一个大规模的万维物联网云平台,通过连接产品到万维网可以让它们变得更智能化。Dom 拥有苏黎世联邦理工学院(ETH Zurich)的博士学位,他在校期间致力于万维物联网架构的早期研究:万维物联网架构是物联网的一个开放应用层。早在 2012 年,他的博士论文便被授予了ETH 勋章。在这之前,Dom 花了10 年时间研究了许多物联网项目:与 SunMicrosystems 公司合作探索大规模 RFID 网络,研究移动电话作为物联网网关的作用,在苏黎世联邦理工学院的 Auto-ID 实验室参与诺基亚的一些研究,在麻省理工学院的 Auto-ID 实验室将 EPCglobal RFID 网络用于万维物联网,并用4 年时间在 SAP 的企业级软件中整合标记的对象和无线传感器网络。

Vlad Trifa 是 EVRYTHNG 的联合创始人、产品研发的执行副总裁。他是分布式嵌入传感器和交互式设备与使用 Web 技术的企业应用软件集成方面公认的专家。他曾经是麻省理工学院的感知城市实验室的研究员,在美国和新加坡研究城市与移动计算,在加州大学洛杉矶分校研究生物和分布式信号处理,并在日本东京的国际电器通信基础研究所(ATR)研究人机交互和神经系统科学。他也曾经作为 SAP 的助理研究员,在工厂自动化与企业计算方面获得了工业经验。Vlad 以博士学位毕业于苏黎世联邦理工学院计算机科学专业,并拥有瑞士洛桑联邦理工学院机器人学、人工智能和机器学习方向的计算机科学硕士学位。

译者说

物联网(IoT)正在悄然改变着整个世界。以前收快递,快递员要拿着单子给收货人手签,现在只要扫描一下就可以了。在图书馆里借阅和归还图书,不再需要人工一本一本地记录,只需要将一叠书放在扫描器上,贴着RFID 标签的书就能被图书管理员的电脑记录和自动跟踪。连接到智能手机的健康手环能够随时监控你的健康状况。自己不在家时,如果家中有异常,安装在家里的智能摄像机会第一时间拍下险情或入侵者照片并发送警报给你。家中的一些小家电开始具备上网的功能,当你下班将要回家时,可以通过手机控制家中的暖气或空调开始工作,以便于你进入家门时,家中已经达到了令人舒适的温度。这一切都多亏了物联网的发展。

人们对于生活的追求是无止尽的。随着身边的智能产品逐渐增加,我们总想要这些设备更加方便和智能。比如,有这样一个需求:“当我人在客厅时,如果是白天,则调节窗帘打开的尺度,以保证一个让我感到舒适的亮度”,又或者“当我打开衣柜时,我的智能语音助手能为我播报一下今天的天气”,再或者“当晚上8 点半时,如果我坐在书桌前,请热水器为我开始加热洗澡水,等水温到达60 度时,有闹铃提醒我去洗澡”。想象上面这些场景,或许这些场景在未来会渐渐多起来。这里遇到的一个问题是,我如何让窗帘知道我人在客厅,并且时间是白天?我打开衣柜时,又如何知道今天的天气?我坐在书桌前,如何知道是晚上8 点半,又如何通知热水器加热和设置闹钟?这是比物联网更高一层次的问题,它涉及“如何建立一种通用的语言,让不同厂商的智能产品能够彼此通信并协同工作”的问题,而这就是本书的核心概念,即万维物联网(WoT)。

如果说,万维网是通过浏览器连接人与内容、人与人,那么WoT 就是连接智能产品与智能产品、智能产品与应用程序、智能产品与数据,以及智能产品与人,这样就能形成一个全球化的、万物互联的公共网络。

作者在本书中提出WoT 这样的设想,即利用现成的Web 标准,以树莓派这样的单板计算机或者Arduino 这样更低成本的RTOS 设备作为网关,让众多设备以HTTP 协议进行通信,内容以JSON 或HTML 形式呈现。这样的话,未来开发和维护IoT 设备,让IoT 设备彼此通信,就和Web 工程师维护网页没有太大的区别。更关键的是,通过本书的分析,作者指出,使用现有的Web 标准和相关技术,完全可以解决IoT 相互通信面临的各种问题,让智能产品进入WoT 时代!

回到前面的三个场景,如果用WoT 来解决,也就是智能红外传感器检测到客厅有人,则推送一个事件给网关的Web 服务,随后Web 服务发送一个POST 请求给窗帘控制器,它控制窗帘打开一定的幅度,并将结果返回;衣柜门锁检测到被开启,则推送一个事件给网关的Web 服务,随后Web 服务请求网络上的天气服务,获得当地此刻的天气,将数据发送给语音助手,语音助手开始播报天气;桌面上的智能摄像机检测到我坐在书桌前,则推送一个事件给网关的Web 服务,随后Web 服务发送一个GET 请求获得当前时间,判断时间是否是八点半,如果已经到八点半,POST 请求就被发送给热水器控制器,让热水器开始加热。如果红外传感器、窗帘控制器、衣柜门、语音助手、智能摄像机、热水器控制器都能与Web 网关通信,那么它们之间的相互控制逻辑就可以用JavaScript 发送简单的HTTP 请求来轻松完成,而且可以用HTML 和CSS 来生成控制界面,将各个智能产品由封闭的孤岛转变成可以任意组合的物理网聚合应用。这就是WoT 最大的魅力!

本书的两位作者Dominique Guinard 和Vlad Trifa 是IoT 世界的领军人,也是WoT 的先行者,提出以Web 的思路解决IoT 的互通问题,为我们描绘了万物互联的美好前景。而像树莓派这样体积小巧、功耗低并且廉价的单板计算机,也许是未来智能家居网关最合适的选择。

如果你想探索未知的智能产品世界,同时又想让生活更美好,那么只要阅读本书,你就能通过一张名片大小的“电脑”和前端程序员熟悉的HTML、CSS 和JavaScript 技术来实现,这是多么棒的一件事!

本书没有难懂晦涩的专业术语和多么高深的理论,所有的技术内容都没有脱离Web 技术的范畴,一位稍有经验的Web 工程师应该能轻松理解和掌握书中所讲述的内容。作者还为本书提供了丰富的例子,甚至考虑到没有购买树莓派硬件的情况,为例子提供了PC 模拟的方式,便于读者理解书中的概念。当然,购买一款树莓派和一些外设来自己动手实践,无疑会更有趣一些。

由于Node.js 和树莓派在最近几年发展很快,一些标准和API 也可能发生变化,作者也考虑了这种情况,将书中所有例子以开源的形式放在了GitHub 上,如果你发现书中例子代码不能正常运行,可以访问 github.com/webofthings/wot-book 获取代码的最新版本。

本书作者在Web 和IoT 领域都有丰富的经验,知识面广泛,行文流畅,介绍的内容深入浅出。非常感谢博文视点侠少(张春雨)将这样一本好书给我翻译。我拿到本书时,就被书中内容深深吸引,迫不及待地入手树莓派深入学习。这是我独自翻译的第一本技术书籍,我深知自己知识面有限,翻译过程难免疏漏。对我翻译的书稿,奇舞团李松峰老师、博文视点恩惠编辑帮忙耐心审阅,提出了许多中肯的修改意见,非常感谢他们。希望读者能从书中得到知识,收获乐趣,用树莓派做出更有趣的WoT 应用。期待未来WoT 让这个世界变得更美好!

月影

读者评论

相关博文

  • 为什么说万维物联网(WoT)是增强版物联网(IoT)

    为什么说万维物联网(WoT)是增强版物联网(IoT)

    Jessica瑾妞 2018-01-24

    万维物联网是物联网的一个特殊分支,它将成功的 Web 技术应用于嵌入式设备,以使尽可能多的开发者得以涉足物联网的最新发展领域。本文描述了物联网现有方法的局限性和存在的问题,对于这些局限性,我们将一一展示使用万维物联网的好处。 大多...

    Jessica瑾妞 2018-01-24
    1674 0 0 0