【图解物联网】第1章 物联网的基础知识

1.1   物联网入门

1.1.1 物联网

        物联网的英语是Internet of Things,缩写为IoT,这里的“物”指的是我们身边一切能与网络相连的物品。只要能与网络相连,就都是物联网说的“物”。
        物联网就是“物”之间通过连接互联网来共享信息并产生有用的信息,而且无需人为管理就能运行的机制。

1.1.2 物联网的相关动向

        物联网市场是由若干个市场形成的,包括作为“物”的设备市场,掌管物与物之间联系的网络市场,还有运营管理类的平台市场,分析采集到的数据的分析处理市场等(图1.1)。

        此外,在平台、分析处理和网络安全等方面,针对物联网的产品和服务也已经开始投入市场。物联网市场今后的重点在于跟熟悉各垂直市场的从业者加强合作,积极提供试验环境以及开发贴近用户生活的服务项目。

1.2   物联网所实现的世界

1.2.1 “泛在网络”社会

        20 世纪90 年代初,过去以大型机为中心的集中式处理逐渐向以客户端服务器为中心的分布式处理转移。自20 世纪90 年代后期起,新型集中式处理围绕着以互联网和Web 为代表的网络形成了一股发展趋势。这就是Web 计算的概念。以互联网为媒介,人们可以轻松实现PC、服务器、移动设备之间的信息交换。
        21 世纪初,一个名为“泛在网络”的概念开始受到人们的关注。泛在网络的理念在于使人们能够通过“随时随地”连接互联网等网络来利用多种多样的服务(图1.2)。近年来,通过智能手机和平板电脑,甚至游戏机、电视机等一些过去无法连接到网络的“物”,就可以随时随地访问互联网。

1.2.2  “物”的互联网连接

        随着宽带的普及,泛在网络社会日益得到实现。此外,能搭载在机器上的超低功耗传感器投入市场、无线通信技术进步等,都促使除了电脑、服务器和智能手机等传统连接互联网的IT 相关设备以外,各种各样的“物”也可以连接互联网(图1.3)。

1.2.3 机器对机器通信所实现的事

        在物联网的实现方面,近年来机器对机器通信等关键技术备受人们关注(图1.4)。物联网和机器对机器通信在很多方面可以视作同一个意思,但从严格意义上来说二者是不同的。机器对机器通信是不经人为控制的、机器和机器之间的通信;也就是说,多数情况下它表示的是机器和机器自动交换信息的整体系统。另一方面,物联网则大多含有给信息接收者提供服务的含义,它比机器对机器通信的概念范围更广。

        泛在计算的世界是一个所有的“物”都内置计算机中,随时随地可以得到计算机帮助的世界。而机器对机器通信支撑着泛在计算的世界,并通过支撑社会的基础设施——智能社区和智能电网等形式逐步得到实现。
        此外,机器对机器通信不仅可以通过3G 和LTE 电路的信息系统实现,还可以通过本地网络中的无线通信和有线通信来实现。
        除了企业内的信息和互联网的信息以外,我们还能够灵活应用来自机器的信息。这样一来也就掌握了现实世界中的情况变动,尤其是提高了企业中的信息应用度。

1.2.4 物联网实现的世界

        大家已经知道,我们可以借助机器对机器通信采集和积累信息,并灵活运用从信息中分析出的数据来方便我们的生活。那么,如果在此基础上把数百亿台设备都连接上物联网,又会如何呢?
以前,人们通过让少数昂贵的工业机械通信,来实现对“物”的远程控制。今后,人们将更多地以低廉的价格大量生产面向用户的机器,并让这些机器通信。也正因应用了从这些“物”中获取的数据,各种各样的服务才如雨后春笋般涌现出来。此外,先进感测技术的普及实现了人类对现实世界的掌握和预测,通过实时且海量地搜集人、物、社会和环境的数据,也有望进行新型社会基础设施的构建,例如强化产业竞争力、建设都市和社会制度、监测灾害等异常情况。
        除了那些一眼就能看明白的设备,具有连通性(机器和系统间的互联性和关联性)的设备也在不断地随处增加。物联网的趋势指的就是这一现象。通过本章,我们再深入地看一下物联网所实现的是一个怎样的世界。

        1. 智能设备
        2. 具备连通性的“物”
        3. 网络
        4. Web 系统
        5. 数据分析技术

        大家认为把这些因素组合到一起,将会产生出一个怎样的充满革新性的服务呢?
        举个例子,市面上已经出现了很多叫作智能家居的设备,其用途是控制智能住宅。飞利浦Hue 是一款能通过IP 网络来控制自身亮度和光色的灯泡。Nest 是一种机器控制器,它能学习如何控制空调等机器以及如何设定这些机器的目标值。如果把它们与Web 系统和可穿戴设备等智能设备组合在一起,还能实现由住宅主动根据人的动作和身体状况来调整环境(图1.5)。

        可以说,当下的趋势之一就是不停留在单纯的控制层面,而是像“凭借短距离通信实现自主控制和自动化”及“通过机器学习实现自动判断”这样,给事物增添附加价值。

        要实现物联网,需要很多技术要素。除了传感器等电子零件和电子电路以外,还包括Web 应用中经常用到的技术,以及数据分析等。本书将会为大家整体解说这些技术。个别详细内容在第2 章及以后的章节中会提到,这里我们先来总览一下本书将会讲解的全部内容。

1.3   实现物联网的技术要素

1.3.1 设备

        物联网与以往的Web 服务不同,设备在其中担任着重要的作用。设备指的是一种“物”,它上面装有一种名为传感器的电子零件,并与网络相连接。比如大家拿着的智能手机和平板电脑就是设备的一种。家电产品、我们时刻戴着的手表以及伞等,只要能满足上述条件,就是设备(图1.6)。

        这些设备起着两个作用:感测和反馈。下面我们分别说明它们各自的作用。

感测的作用

        感测指的是搜集设备本身的状态和周边环境的状态并通知系统(图1.7)。这里说的状态包括房门的开闭状态、房间的温度和湿度、房间里面有没有人,等等。设备是利用传感器这种电子零件来实现感测的。

反馈的作用

        设备的另外一个作用是接收从系统发来的通知,显示信息或执行指定操作(图1.8)。系统会基于从传感器处搜集到的信息进行一些反馈,并针对现实世界采取行动。

        反馈有多种方法。大体分成如图1.9 所示的3 种方法,分别是可视化、通知,以及控制。

        比方说,用户通过“可视化”就能使用电脑和智能手机上的Web 浏览器浏览物联网服务搜集到的信息。虽然最终采取行动的是用户,不过这是最简单的一个反馈的例子。只要把房间的当前温度和湿度可视化,人就能将环境控制在最适宜的条件下。
        利用“推送通知”,系统就能检测到“物”的状态和某些活动,并将其通知给设备。例如从服务器给用户的智能手机推送通知,使其显示消息。近年来,Facebook 和Twitter 等SNS 社交应用就在贴心地向我们的智能手机频繁推送朋友们吃饭和旅行的消息。如果你去逛超市时,推送通知能告诉你冰箱的牛奶过了保质期,洗涤用品卖完了,这个世界岂不就更方便了吗?
        利用“控制”,系统就可以直接控制设备的运转,而无需借助人工。假设在某个夏天的傍晚,你正在从离家最近的车站往家走,你的智能手机会用GPS 确定你现在的位置和前进的方向,用加速度传感器把你的步速通知给物联网服务。这样一来,服务就能分析出你正在回家的路上,进而从你的移动速度预测你到家的时间,然后发出指示调节家里空调的温度并令其开始运转。这样当你回到家的时候,家里就已经很舒服了。

1.3.2 传感器

        要想像前文说的那样搜集设备和环境的状态,就需要利用一个叫作传感器的电子零件。
        传感器负责把物理现象用电子信号的形式输出。例如有的传感器可以把温度和湿度作为电子信号输出,还有的传感器能把超声波和红外线等人类难以感知的现象转换成电子信号输出。
        数码相机上使用的图像传感器也能把进入镜头的光线捕捉成3 种颜色的光源,并将其转换成电子信号。因此它也可以归在传感器的分类里。传感器的种类如图1.10 所示。关于这些传感器的种类和它们各自的结构,我们会在第3 章详细介绍。

        通过传感器输出的电子信号,系统就能够获取现实世界的“物”的状态和环境的状态。
        人们很少单独利用这些传感器,通常都是将它们置入各种各样的“物”里来加以利用。最近的智能手机和平板电脑就内置了很多传感器,例如用于检测画面倾斜度的陀螺仪传感器和加速度传感器,采集语音的麦克风,用于拍摄照片的相机,具备指南针功能的磁场传感器。
        还有一种东西叫作传感器节点,它把传感器本身置入环境中搜集信息。传感器节点是集蓝牙和Wi-Fi 等无线通信装置与电池为一体的传感器。我们把这些传感器连接到一种叫作网关的专用无线路由器来进行传感器数据的搜集(图1.11)。

        比如,在农场测量栽培植物的环境时,或是检测家里房间的温度和湿度时,就可以利用这些传感器节点。除此之外,市面上还有各种各样用于医疗保健的可穿戴设备,这些设备上装有加速度传感器和脉搏计,人们可以利用这些设备管理自己的生活节奏和健康状况。
        这样一来,物联网服务就能利用传感器获取设备、环境、人这些“物”的状态。自己想实现的服务都需要哪些信息,为此应该利用哪种传感器和设备,这些都需要我们仔细分析。

1.3.3 网络

        在把设备连接到物联网服务时,网络是不可或缺的。不仅要把设备连接到物联网服务,还得把设备连接到其他设备。物联网使用的网络大体上分为两种:一种是把设备连接到其他设备的网络,另一种是把设备连接到物联网服务的网络(图1.12)。

把设备连接到其他设备的网络

        无法直接连接到互联网的设备也是存在的。我们通过把设备连接到其他设备,就能通过其他设备把这些不能连接到互联网的设备连接到互联网。前面我们介绍的传感器节点和网关正是两个典型的例子。此外,还有通过智能手机把可穿戴设备采集到的数据发送给物联网服务这一办法。
        蓝牙和ZigBee 是两种具有代表性的网络标准。它们是用无线连接的,利用的通信协议也是固定的。这些协议的特征有采用擅长近距离通信的无线连接、低功耗、易于嵌入嵌入式设备等。
        要把设备连接到其他设备,除了1 对1 之外,还可以采用1 对N、N 对N 的方式连接。特别是N 对N 连接的情况,我们称这种情况为网状网络(图1.13)。

        有一种与网状网络对应的通信标准,名为ZigBee。通过采用N 对N的通信方式,设备可以一边接管其他的设备,一边进行远程通信。除此之外它还有一个优点,那就是即使有一台设备发生故障无法通信,其他设备也会代替它来执行通信。
        关于上述设备的通信规格我们会在第3 章讲解。

把设备连接到服务器的网络

        把设备连接到物联网服务的网络时,会用到互联网线路。3G 和LTE 等移动线路最为常用。
除了现在Web 服务中广泛使用的HTTP 和WebSocket 协议以外,还有一些专为机器对机器通信和物联网而产生的轻量级协议,如MQTT等。关于该协议,我们会在第2 章进行详细说明。

1.3.4 物联网服务

        物联网服务有两个作用:一是从设备接收数据以及发送数据给设备;二是处理和保存数据(图1.14)。

数据交换

        通常的Web 服务会根据Web 浏览器发送的HTTP 请求发送HTML,然后用Web 浏览器显示。物联网服务则不采用Web 浏览器,而是接收从设备直接发来的数据。设备发来的数据内容包括设备搭载的传感器所采集到的信息,以及用户对设备进行的操作。设备和物联网服务的通信方法大致分为两种:同步传输和异步传输(图1.15)。
        在同步传输的情况下,设备发送数据时会把数据发送给物联网服务。接下来直到物联网服务接收完数据之前,不管设备向物联网服务发送多少次数据,都算作一次传输。反过来,物联网服务在执行对设备的反馈时,则是先由设备向物联网服务发送请求消息,然后物联网服务会响应请求并将消息发送给设备。就这种方法而言,直到设备发送请求之前,物联网服务都不能把消息发送给设备。但是这种方法只适用于不知道设备IP 地址的情况,因为就算不知道设备的IP 地址,只要设备发送了请求,物联网服务就能把消息发送给设备。
        在异步传输中,设备会把数据发送给物联网服务,每发送一次,就算作一次传输。此外,从物联网服务向设备进行传输时,无需等待设备发来的请求,可以在任意时间点执行发送。采用这个方法能在物联网服务规定的任意一个时刻发送消息。但是,物联网服务需要预先知道发送消息的设备的IP 地址。

        第2 章会用一些实际使用的协议来讲解这种通信。

处理和保存数据

        就如大家在图1.14 看到的那样,处理和保存数据的操作包括把从设备接收到的数据保存到数据库,以及从接收到的数据来判断如何控制设备。
        从设备接收到的数据不只有能用计算机简单处理的数值型数据,根据要实现的内容,还包含图像、语音、自然语言这些很难直接用计算机处理、没有被结构化的数据。我们把这种数据叫作非结构化数据。处理时,有时也会把那些易于用计算机处理的数据从非结构化数据中提取出来,例如把表示图像和语音特征的值提取出来。这些信息会被保存到数据库中。
        设备按照所提取数据的判断逻辑来决定反馈的内容,例如基于某个房间的温度数据来决定空调的开关状态和目标温度。这些处理和保存的方法大体上分为两种:一种是对保存的数据定期进行采集和处理的批处理,另一种是将收到的数据逐次进行处理的流处理(图1.16)。

        根据房间的温度变化来调整空调的运转时,从向空调发出指示到温度发生变化,这中间会需要一段时间。这种情况下就适合采用批处理来持续记录每隔一定时间的温度值,并定期执行处理。此外,如果希望回到房间之后再打开空调,那么就适合采用能立即执行操作的流处理。

1.3.5 数据分析

        前一节我们以“温度传感器和空调运转的关系”为例进行了说明。那么我们能像这个例子那样,轻松实现“根据房间温度控制空调”这一目的吗?
        要实现这一目的,需要决定控制空调开/ 关的房间温度值,也就是决定温度的阈值。这种情况下,阈值会根据使用者目的而有所不同。举个例子,把空调的功耗降到最小所需要的阈值和保持令人体感舒适的温度所需要的阈值就是两个不同的值。此外,为了能准确判断房间里有没有人,需要从多个传感器的值所包含的关联性来判断人在或不在房间里。人类很难光凭经验去摸索和决定这种值。这就凸显出了数据分析的重要性。
        数据分析的代表性方法有两种,分别是统计分析和机器学习。这里就来看看我们用这两种方法能办到什么(图1.17)。

统计分析

        统计分析是用数学手法通过搜集到的大量数据来明确事物的联系性的方法。比如为了实现给空调节能的目的,我们调查了空调在某个固定的温度下运转时,房间的温度和空调的耗电量,并将这些数据制成了表格(图1.18)。

        从这个关系中可以推导出在室温下把空调温度设定在多少才能最省电,由此就能决定阈值了。
        上述示例采用的是先填表再分析的方法,除此之外还有一种叫作回归分析的统计方法,此方法我们会在第6 章详细说明。

机器学习

        统计分析基于大量数据之间的联系性,明确当前数据间形成的关联。机器学习则不仅仅能进行分析,还能预测今后的发展状况。机器学习就如它的字面意思一样,计算机会按照程序决定的算法,机械性地学习所给数据之间的联系性。当给出未知数据时,也会输出与其对应的值。
        机器学习分为两个阶段:学习阶段和识别阶段(图1.19)。在学习阶段,一个名为学习器的程序会基于一些训练数据,机械性地掌握这些数据之间的联系。作为学习阶段的结果,计算机会根据机器学习的算法输出参数,然后以这个参数为基础创建叫作鉴别器(discriminator)的程序。只要把未知的数据给这个鉴别器,就能输出最适合这个值的结果。

        举个例子,假设我们想使用若干种传感器来识别房间里有没有人。这种情况下需要准备两种数据,即房间里有人时的传感器数据(正面例子)和房间里没人时的传感器数据(反面例子)。计算机通过把这两种数据分别交给学习器,可以获取制作鉴别器用的参数。对于以参数为基准制作的鉴别器而言,只要输入从各个感测设备接收到的数据,鉴别器就能输出结果,告诉我们现在房间里是否有人。
        上述内容属于机器学习的示例之一,被称作分类问题。在用于执行数据分类的机器学习算法中有很多途径,如用于垃圾邮件过滤器的贝叶斯过滤器和用于分类文档及图像的支持向量机(Support Vector Machine,SVM)等。此外,除了分类问题以外,机器学习还能解决很多领域的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/477601.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CSS 让元素根据内容自适应宽度

一、需求 点击链接跳转,只点击标红区域才跳转,右侧空白区域不要跳转 二、实现 宽度太宽,导致右侧空白区域也加了跳转效果,修改为 将元素的最大宽度设置为其内容所需的宽度。 方法一:建议方式 使用 display: inline…

MyBatis框架简述

作用 降低开发人员使用JDBC的难度降低开发人员进行Dao层的开发难度 MyBatis本质上就是对JDBC的封装,通过MyBatis完成CRUD。MyBatis在三层架构中负责持久层的,属于持久层框架。MyBatis的发展历程:【引用百度百科】 MyBatis本是apache的一个开…

数据结构—稀疏多项式相加

利用链表实现两个稀疏多项式相加。 代码 #include <iostream> using namespace std;// 定义多项式项结构体 typedef struct {int x; // 系数int y; // 指数 } Elemtype;// 定义链表节点结构体 typedef struct Node {Elemtype data;struct Node* next; } *LinkList, N…

C语言 自定义类型:联合和枚举

目录 前言 一、联合体 1.1 联合体的特点 1.2 联合体与结构体的区别 1.3 联合体的大小计算 1.4 联合体例子 1.5 联合体判断大小端 二、枚举 2.1 枚举类型定义 2.2 枚举类型的优点 2.3 枚举类型的使用 总结 前言 之前我们讲了C语言其中一个自定义类型结构体&#xff…

C++面试宝典第36题:骑士游历

题目 在国际象棋的棋盘上,使一个骑士遍历所有的格子一遍且仅一遍。对于任意给定的顶点,输出一条符合上述要求的路径。骑士的走法和中国象棋的马的走法一样,走日。 解析 本题是一个经典的回溯搜索问题,具体来说是求解国际象棋棋盘上骑士的遍历问题,也称为骑士巡游问题(Kni…

【链表】Leetcode 25. K 个一组翻转链表【困难】

K 个一组翻转链表 给你链表的头节点 head &#xff0c;每 k 个节点一组进行翻转&#xff0c;请你返回修改后的链表。k 是一个正整数&#xff0c;它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍&#xff0c;那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改…

SAP前台处理:物料主数据创建<MM01>之会计视图

一、背景&#xff1a; 终于来到了物料主数据&#xff0c;我觉得物料账是SAP最重要的一项发明&#xff0c;也一直是SAP的一项重要优势&#xff0c;物料账记录了一个个物料的生生不息&#xff1b; 本章主要讲解物料主数据和财务相关的主要内容&#xff1a;这里特别提示由于作者…

脚本实现Ubuntu设置屏幕无人操作,自动黑屏

使用 xrandr 命令可以实现对屏幕的控制&#xff0c;包括调整分辨率、旋转屏幕以及关闭屏幕等。要实现 Ubuntu 设置屏幕在无人操作一段时间后自动黑屏&#xff0c;可以借助 xrandr 命令来关闭显示器。 首先&#xff0c;你需要找到系统中显示器的名称&#xff0c;可以通过运行 x…

联通短信平台有什么特点?

【直连优势&#xff0c;安全可靠】 中国联通A2P短信服务直连其内地短信通道&#xff0c;这意味着企业用户能够享受到更为直接的运营商连接服务&#xff0c;确保每一条短信都具有卓越的性能表现和无可挑剔的稳定性。这种点对点的通信模式极大地降低了信息延迟和丢失的风险&#…

[云] vmware: host: net: Net.CoaleseDefaultOn

https://communities.vmware.com/t5/Storage-Performance/Advanced-Networking-Performance-Options/ta-p/2792649 在vsphere client下的路径是&#xff1a; 选择使用的host -> 右键setting->configure-> system->advanced system setting->edit->Net.Coales…

哪些事是你当了领导才明白的?

哪些事是你当了领导才明白的&#xff1f; 毕业5年&#xff0c;17年开始带团队&#xff0c;确实很多事不做到管理这一层&#xff0c;就真的意识不到。 带着【执行者】和【管理者】这2个视角&#xff0c;再结合我毕业至今这5年的所有职场经历&#xff0c;聊聊“职场潜规则”。 …

PowerShell正则表达式匹配文件内容并输出到屏幕(或保存到文件)

代码&#xff1a; foreach ($line in Get-Content -path .\test.sql) { if ($line -match bdw_\w*.\w*) {write-output $matches[0]}}思路&#xff1a; 读取文件并遍历 foreach ($line in Get-Content -path .\test.sql) 正则匹配 if ($line -match ‘bdw_\w*.\w*’) 这个匹配…

电子考试信息软件系统设计

1 整体设计 融机改与人改、出题、答题、图表浏览、下载为一体。 每课十套试卷。随机抽题形成试卷&#xff0c;选项顺序随机打乱。 云端分布微服体系架构&#xff0c;非关系文档数据库支撑&#xff0c;合理编码数据表关联。 神禹网关调度&#xff0c;NACOS监护。 负载均衡与…

JavaWeb里的控制器Servlet,过滤器Filter,监听器Listener

文章目录 简介控制器servlet控制器(Controller)概述控制器的工作原理控制器的生命周期控制器的种类控制器的应用场景示例代码Servlet控制器示例Spring MVC控制器示例 总结 过滤器filter过滤器(Filter)概述过滤器的工作原理过滤器的生命周期过滤器的链式调用过滤器的应用场景示例…

软件测试教程 自动化测试之Junit框架

文章目录 1. 什么是 Junit &#xff1f;2. 常见的注解2.1 Test2.2 BeforeAll&#xff0c;AfterAll2.3 BeforeEach&#xff0c;AfterEach 3. 测试用例顺序指定4. 参数化4.1 单个参数4.2 多个参数4.3 通过方法生成 5. 测试套件6. 断言6.1 断言相等6.2 断言不相等6.3 断言为空6.4 …

如何从 Windows电脑恢复已删除的音频文件

在本文中&#xff0c;我们向您介绍从 Windows PC 恢复已删除的音乐/音频文件的最佳方法。 在线音乐流媒体服务正在蓬勃发展。尽管如此&#xff0c;许多用户还是下载了自己喜欢的曲目以供离线收听。此外&#xff0c;用户还出于各种目的将不同形式的音频文件&#xff08;例如录音…

HBCalculator 程序:通过 VMD 可计算分子动力学模拟中氢键密度和强度的一维和二维分布

分享一个通过 VMD 可计算分子动力学模拟中氢键密度和强度的一维和二维分布程序 HBCalculator。 感谢论文的原作者&#xff01; 主要内容 “氢键是分子系统中关键的非共价相互作用&#xff0c;对生物、化学和能量相关过程产生重大影响&#xff1b;因此&#xff0c;描述氢键信息…

DP动态规划入门(数字三角形、破损的楼梯、安全序列)

一、动态规划&#xff08;DP&#xff09;简介 动态规划&#xff08;Dynamic Programming&#xff0c;简称DP&#xff09;是运筹学的一个分支&#xff0c;它是一种通过将复杂问题分解成多个重叠的子问题&#xff0c;并通过子问题的解来构建整个问题的解的算法。在动态规划中&am…

java Flink(四十二)Flink的序列化以及TypeInformation介绍(源码分析)

Flink的TypeInformation以及序列化 TypeInformation主要作用是为了在 Flink系统内有效地对数据结构类型进行管理&#xff0c;能够在分布式计算过程中对数据的类型进行管理和推断。同时基于对数据的类型信息管理&#xff0c;Flink内部对数据存储也进行了相应的性能优化。 Flin…

Jenkins安装 Linux 更换镜像 安装插件

Jenkins安装 Linux 更换镜像 安装插件 前言 下面叙述了三种jenkins安装的方式,jenkins安装之前必须有java环境因为他是java写的… yum安装只能安装最新版本的jenkins,但是jenkins是java写的所以他强依赖java版本,当你的服务器的java版本与jenkins版本冲突时还需要给jenkins重…