《万物互联》——导读

前言

万物互联
你也许已经听说过“物联网(Internet of Things)”了,它有时也被称为“万物互联(Internet of Everything)”。你也许并不知道它是什么(坦率地说,它的定义也的确有点模糊),但是你已经反复听到它,而且产生了足够的好奇来促使你捧起这本书。这也不错。

我也曾和你一样对物联网非常好奇(我在这本书中把物联网简称为IoT[1])。我曾经不是很确信它到底是什么,或者我能在哪里找到它,或者甚至它到底是由什么组成的。我所知道的一切就是至少在科技界大家都在谈论它,它也因此吸引了我的注意力。

就这样,我按照自己的习惯进行了调研,然后我把自己所了解的写了下来,结果就是你手里的这本书。让这本书为你展示我所知道的物联网世界吧!
先来一点剧透:从名字上“望文生义”并不总是对的。的确,按照字面的意思,物联网是关于连接到互联网上的物体,但是它的实际含义多少还是有别于此。

在很大程度上,物联网是一个市场营销词汇,就是那些希望你购买更多新设备的制造商发明出来的广告用词。很多公司在他们销售的设备名字前面加上一个“智能”或“智慧”来显得跟上了物联网的时髦。无独有偶,还记得在互联网早期很多东西都被加上了“cyber(网)”或者“e-(电子)”么?大家都想站在潮流的前端,因为那就意味着有更多的赚钱机会。

物联网的技术定义包含一些小型设备,每个都有自己的互联网协议地址(IP地址),通过互联网连接其他同类的设备。换句话说就是,通过互联网,一些小物体连接其他的一些小物体。新出现的物联网连接的是物体和物体,而不是像互联网那样连接一群人和另一群人。这听起来非常简单直接。

然而,很多自诩的所谓智能设备并没有自己的IP地址,没有连接到互联网上,甚至都没有和其他的设备连接。这就意味着,物联网并不是仅仅把物体连接起来,它还意味着自发的操作—物体可以自己良好地运转而不需要太多与人类之间的互动。

甚至那些和其他设备互联的设备也并不是和所有的设备互联。很多我所发现的物联网与特定的行业应用有关,其中物物相连和自主运行的概念被用来解决特定的问题。针对医疗健康产业、汽车产业、五金/分销渠道等都具有各自的物联网。你在当地医院发现的智能医疗设备和你在医院停车场停着的智能汽车,或者医院的食堂用来处理食物的智能系统,它们完全没有关系。更有可能的是,它们压根都没有在同一个网络中。

因此,你应该把物联网看作连接物体的多个网络,其中的每一个是专为特定的行业或者应用准备的。这也是我编写本书的方法,因此你将在本书中看到为智能家居、智能衣物、智能汽车、智慧医疗等单独准备了不同的章节。这些应用中的每一个都有连接其自身设备和服务的物联网。

就像我刚才说的那样,物联网不仅是一件事儿,它其实是很多事儿。

通读本书对你是非常有意义的。我们从对物联网及其底层技术的一般性介绍开始,然后开始检视物联网各种不同的实现途径,从最个人的(智能家居和智能衣物)到最广泛的(智慧医疗、智慧城市、智慧军事)。最后一章以描述伴随物联网而来的众多潜在问题而展开讨论。

当你读完本书,你应该已经更好地掌握了构成物联网的众多概念。你也将知道所有这一切将如何影响你的人生。这真是非常令人激动。

目录

第1章 智能连接:欢迎来到物联网的世界
1.1 欢迎来到未来
1.2 什么是物联网
1.3 什么样的物体可以接入物联网
1.4 所有那些连接的物体能做什么
1.5 物联网何时降临
1.6 物联网有多么重要

第2章 智能技术:物联网怎样工作
2.1 理解物联网:全貌
2.2 建立物联网
2.3 理解智能设备
2.4 理解网络连接
2.5 审视无线技术
2.6 理解数据
2.7 理解智能应用
2.8 理解大数据
2.9 从物联网中盈利

第3章 智能电视:互联世界中的视觉享受
第4章 智能家电:从遥控烤箱到会说话的冰箱
第5章 智能家居:明日降临
第6章 智能服饰:可穿戴的科技
第7章 智能购物:他们更了解你的需求
第8章 智能汽车:在路上联网
第9章 智能飞行器:无人机的未来
第10章 智能战争:机器的崛起
第11章 智慧医疗:我们准备好了
第12章 智慧企业:用技术更好地工作
第13章 智慧城市:每个人都被连接起来
第14章 智慧世界:全球的万物互联
第15章 智慧问题:老大哥在盯着你

时间: 2024-07-30 09:44:12

《万物互联》——导读的相关文章

《深入理解Scala》——第1章,第1.2节当函数式编程遇见面向对象

1.2 当函数式编程遇见面向对象 深入理解Scala 函数式编程和面向对象编程是软件开发的两种不同途径.函数式编程并非什么新概念,在现代开发者的开发工具箱里也绝非是什么天外来客.我们将通过Java生态圈里的例子来展示这一点,主要来看Spring Application framework和Google Collections库.这两个库都在Java的面向对象基础上融合了函数式的概念,而如果我们把它们翻译成Scala,则会优雅得多.在深入之前,我们需要先理解面向对象编程和函数式编程这两个术语的含义

《深入理解Scala》——第1章,第1.4节与JVM的无缝集成

1.4 与JVM的无缝集成 深入理解Scala Scala的吸引力之一在于它与Java和JVM的无缝集成.Scala与Java有很强的兼容性,比如说Java类可以直接映射为Scala类.这种紧密联系使Java到Scala的迁移相当简单,但在使用Scala的一些高级特性时还是需要小心的,Scala有些高级特性是Java里没有的.在Scala语言设计时已经小心地考虑了与Java无缝交互的问题,用Java写的库,大部分可以直接照搬(as-is)到Scala里. 1.4.1 Scala调用Java 从S

《深入理解Scala》——第2章,第2.1节学习使用Scala交互模式(REPL)

第2章 核心规则深入理解Scala 本章包括的内容: • 使用Scala交互模式(Read Eval Print Loop 简称REPL) • 面向表达式编程 • 不变性(Immutability) • Option类 本章内容覆盖了每个新Scala开发者都需要知道的几个主题.本章不会深入到每个主题里,但是会讲到可以让你自己去接着探索的程度.你将学会使用REPL,学会如何利用这个工具做软件的快速原型开发.然后我们会学到面向表达式编程,并从另一个视角来看控制结构是怎么回事.在此基础上,我们来研究不

《深入理解Scala》——第1章,第1.3节静态类型和表达力

1.3 静态类型和表达力 深入理解Scala 开发人员中有一个误解,认为静态类型必然导致冗长的代码.之所以如此是因为很多继承自C的语言强制要求程序员必须在代码中多处明确地指定类型.随着软件开发技术和编译器理论的发展,情况已经改变.Scala利用了其中一些技术进步来减少样板(boilerplate)代码,保持代码简洁. Scala做了以下几个简单的设计决策,以提高代码表达力. • 把类型标注(type annotation)换到变量右边. • 类型推断. • 可扩展的语法. • 用户自定义的隐式转

《深入理解Scala》——第1章,第1.5节总结

1.5 总结 深入理解Scala 本章中,你学到了一些Scala的设计理念.设计Scala的初衷在于把不同语言中的多种概念融合起来.Scala融合了函数式和面向对象编程,尽管显然Java也已经这么做了.Scala精选其语法,极大地减少了语言中的繁冗之处,使一些强大的特性可以优雅地表达,比如类型推断.最后,Scala和Java能够紧密集成,而且运行在Java虚拟机上,这或许是让Scala变成一种实用选择的最重要的一点.几乎不花代价就可以把Scala用于我们的日常工作中. 因为Scala融合了多种概

《深入理解Scala》——第1章,第1.1节Scala一种混合式编程语言

第1章 Scala--一种混合式编程语言 Scala是一种将其他编程语言中的多种技巧融合为一的语言.Scala尝试跨越多种不同类型的语言,给开发者提供面向对象编程.函数式编程.富有表达力的语法.静态强类型和丰富的泛型等特性,而且全部架设于Java虚拟机之上.因此开发者使用Scala时可以继续使用原本熟悉的某种编程特性,但要发挥Scala的强大能力则需要结合使用这些有时候相互抵触的概念和特性,建立一种平衡的和谐.Scala对开发者的真正解放之处在于让开发者可以随意使用最适合手头上的问题的编程范式.

《深入理解Scala》——第2章,第2.2节优先采用面向表达式编程

2.2 优先采用面向表达式编程 深入理解Scala 面向表达式编程是个术语,意思是在代码中使用表达式而不用语句.表达式和语句的区别是什么?语句是可以执行的东西,表达式是可以求值的东西.在实践中这有什么意义呢?表达式返回值,语句执行代码,但是不返回值.本节我们将学习面向表达式编程的全部知识,并理解它对简化程序有什么帮助.我们也会看一下对象的可变性,以及可变性与面向表达式编程的关系. 作者注:语句VS表达式 语句是可以执行的东西,表达式是可以求值的东西. 表达式是运算结果为一个值的代码块.Scala

《深入理解Scala》——第2章,第2.3节优先选择不变性

2.3 优先选择不变性 深入理解Scala 编程中的不变性指对象一旦创建后就不再改变状态.这是函数式编程的基石之一,也是JVM上的面向对象编程的推荐实践之一.Scala也不例外,在设计上优先选择不变性,在很多场景中把不变性作为默认设置.对此,你可能一下子会不适应.本节中,我们将学到不变性对于判等问题和并发编程能提供什么帮助. Scala里首先要明白的是不变对象和不变引用(immutable referene)的区别.Scala里的所有变量都是指向对象的引用.把变量声明为val意味着它是个不变"引

《深入理解Scala》——第2章,第2.4节用None不用null

2.4 用None不用null深入理解Scala Scala在标准库里提供了scala.Option类,鼓励大家在一般编程时尽量不要使用null.Option可以视作一个容器,里面要么有东西,要么什么都没有.Option通过两个子类来实现此含义:Some和None.Some表示容器里有且仅有一个东西,None表示空容器,有点类似List的Nil的含义. 在Java和其他允许null的语言里,null经常作为一个占位符用于返回值,表示非致命的错误,或者表示一个变量未被初始化.Scala里,你可以用

《深入理解Scala》——第2章,第2.5节多态场景下的判等

2.5 多态场景下的判等 深入理解Scala 众所周知,为多态的面向对象系统定义合适的判等和散列方法是个特别难的过程.这是因为子类可能在整个过程中造成一些相当怪异的问题,尤其是当类型层次上有多个实体(concrete)级别的时候.一般来说,对于需要比引用判等更强的判等(译者注:比如需要判断对象内部数据)的类,最好避免多层实体类层次.这是什么意思呢?有些时候类只需要引用判等就够了.也就是说只要两个对象不是同一个实例就判为不等.但是如果我们需要判断两个不同实例是否相等,而且又有多层实体类层次(mul