物联网
下面是对这个系统的简单的通俗介绍。
标准的物联网系统可以大致分为四个层面:感知识别层,网络构建层,管理服务层,综合应用层。
1)感知识别层:
你应该听说过什么“通过感知识别技术,让物品‘开口说话、发布信息’,是融合物理世界和信息世界的重要一环,是物联网区别于其他网络的最独特的部分。。。”blabla。这些吹得有多响,要实现起来,其实就是通过传感网。
感知识别层位于物联网四层模型的最底端,是所有上层结构的基础。
在这个层面上,是把成千上万个各种传感器或者阅读器安放在物理物体上,比如氧气传感器、压力传感器、光强传感器、声音传感器等等,形成一定规模的传感网。通过这些传感器,就可以感知这个物理物体周围的环境信息,现在也逐渐兴起利用条形码技术、语音识别技术、RFID(射频识别技术)等等。这时候给人的感觉好像就是这个物体就有点像生物的样子了,能感知。当上层反馈命令时,通过单片机、简单或者复杂的机械可使物理物体完成特定命令。这时候就像个生物了,能感知,也能反应。
感知到了信息,怎么发送出去让信息得以被利用?这就要通过网络构建层。
2)网络构建层:
网络是物联网最重要的基础设施之一。网络构建层在物联网四层模型中连接感知识别层和管理服务层,具有纽带作用,它负责向上层传输感知信息和向下层传输命令,简而言之就是传输数据。
这个层面上就是利用了互联网、无线宽带网、无线低速网络、移动通信网络等各种网络形式传递海量的信息。
3)管理服务层:
这个层面主要就是程序猿和攻城狮的厮杀地。当感知识别层生成的大量信息经过网络层传输汇聚到管理服务层,如果不能有效地整合与利用,那无异于入宝山而空返,望“数据的海洋”而兴叹。管理服务层主要解决解决数据如何存储(数据库与海量存储技术)、如何检索(搜索引擎)、如何使用(数据挖掘与机器学习)、如何不被滥用(数据安全与隐私保护)等问题。
简而言之,这个层面就是把收集到的信息进行有效整合和利用,而这个层面往往就是物联网的精髓所在。
4)综合应用层:
物联网丰富的内涵催生出更加丰富的外延应用。传统互联网经历了以数据为中心到以人为中心的转化,典型应用包括文件传输、电子邮件、万维网、电子商务、视频点播、在线游戏和社交网络等;而物联网应用以“物”或者物理世界为中心,涵盖我们现在常听到比较新鲜的高级词汇比如:物品追踪、环境感知、智能物流、智能交通、智能电网等等。一言以蔽之,物联网应用目前正处于快速增长期,具有多样化、规模化、行业化等特点。
这些所谓的智能,其实正正是基于感知识别层收集到的、网络构建构建层传输的、管理服务层挖掘利用的信息,然后再把特定信息反馈给基层物体完成指定命令以此实现。
---------------------------------------------------我是分界线----------------------------------------------------------
这样子,应该就不难理解其为何说”物物相连的系统“了吧?物体通过网络上传信息给其他物体,也通过网络从其他物体下载信息,很多时候它通过自身安装的单片机就可以判断是否需要采取行动,然后通过机械完成动作。这些都不需要人类进行介入,让我们看起来每个物体就像是生物一样,这就是所谓的智能了。
第一天 物联网的基础知识
1. 物联网入门
- 怎么理解物联网
物联网的英语是Internet
of
Things,缩写为IoT,这里的“物”指的是我们身边一切能与网络相连的物品。并非万事万物,而是特指能够连接互联网的东西,如果衣服,手表,鞋子能够连上网,那就是IoT中所指的物。如果只是蚯蚓,泥土,空气,卫生纸,甚至我正在敲打的键盘(普通键盘),就不能算是物联网中的物。
能连上网的物,除了要能联网,一个关键的作用就是能够产生有用的信息。如果连上网了,但是不能产生任何有用的信息,那也没有任何价值。
- 物联网的相关市场
网络安全 | 服务应用 | 基于数据分析结服务的应用市场 |
分析处理 |
|
|
平台 | 实现“物”的激活即认证 / 计费 / 通信管理的平台服务市场 | |
网络 | 通信基础设施 / 通信设备市场 / 通信模块市场 | |
设备 | 设备和嵌入式系统市场 |
激活物联网市场主要来源于通信模块价格趋向低廉以及云服务的普及。作者举了两个示例,一个是Intel的Edison开发板和微软的Azure云服务。这可能是在日本市场吧。对于中国,我则认为主要因素是“华强北+阿里云”,前者利用ST,TI等公司的MCU,极大降低了物联网开发难度,可以在1周时间开发出物联网产品原型,另一方面阿里云采用极低报价,突进拓展云服务。物联网开发者正处于这一“黄金时期”。
最后作者也提出,物联网市场今后的重点在于跟各垂直市场加强合作,说白了就是物联网+,会越来越多的物联网产品贴近用户的生活服务中。
2.物联网所实现的世界
随着宽带的普及,能搭载在机器上的超低功耗传感器投入市场,无线通信的进步等,都促使着除了PC,服务器和智能手机等传统连接互联网的设备以外,越来越多各种各样的“物”也开始连接物联网。以汽车、家用电器以及房屋为开端。近年,手表,眼睛等饰品也都连上了互联网。
我们一定想知道,为什么会有那么多设备要有联网的诉求,它们连上网了又会给用户带来哪些价值呢?
在解释上述问题之前,作者专门说明了M2M和IoT的区别。M2M,顾名思义,就是机器对机器通信,很多人将IoT与M2M理解为同一个意思,其实这是不准确的。论坛上也有小伙伴提出过类似问题,这里正好给予解答。
M2M是不经人为控制的、机器和机器之间的通信;也就是说,多数情况下它表示的是机器和机器自动交换信息的整体系统。另一方面IoT则大多含有给信息接收者提供服务的含义,它比M2M的概念范围更广。
简单来说,M2M跟偏重于技术层面,M2M不仅可以通过3G/4G通信实现,也可以通过本地网络中的无线或有线通信来实现。可以说M2M是物联网构建的基础。
接着,我们再来说说,如果再此基础上把数以百亿计的设备都连上网,又会如何呢?
以前,人们通过让少数昂贵的工业机械通信,来实现对“物”的远程控制(也就是现在离散/流程工业中常用的控制系统)。今后,人们将更多地以低廉的价格大量生产面向用户的机器,并让这些机器通信。也正因为应用了从这些“物”中获取的数据,各种各样的付玮才如雨后春笋般涌现出来。此外,先进的感测技术的普及实现了人类对现实世界的掌握和预测,通过实时海量地搜集人、物、社会和环境数据,也有望进行新型社会基础设施的构建。(就此话题,再之后的章节,我们还会深入讲解)
最后作者用一个智能家居的示例来为我们展示了未来物联家庭的设想。
3.实现物联网的技术要素
要实现物联网,需要很多技术要素。除了传感器等电子零件和电子电路以外,还包括Web应用中经常用到的技术,以及数据分析等。我这里只简单将作者列举的物联网技术要素做个汇总,详细的内容,会在之后几天给大家细讲。
技术要素 | 说明 |
设备 | 设备就是上文中能联网的“物”,除了能联网外一般都会安装传感器这类电子元件。这类设备起着两个作用:
|
传感器 | 传感器就好比人的五官,它是设备上的“五官”将环境物理信号转换成电子信号,内置于设备之中。有一类传感器节点的设备,其自动自身就具备WIFI和蓝牙等联网功能,借助网关可以将数据直接上传到互联网。当然,如果使用NB-IoT这类LWPA通信芯片,则无需网关直接接入互联网。 |
网络 |
|
物联网服务 | 物联网服务有两个作用:一是从设备接收数据以及发送数据给设备;二是处理和保存数据。请一定注意第二点,通常我们对物联网服务理解比较片面,任务就是与设备之间进行数据交换,认为处理和保存数据很简单。其实数据保存到数据库并没有那么简单,特别是在物联网领域,从设备接收到的数据不只有能用计算机简单处理的数值数据,根据实现的内容,还包含图像、语音、自然语音这些很难直接用计算机处理、没有被结构化的数据。这些数据处理起来也和平时一般数据有所不同。数据处理大体上分为批处理和流处理两类。 简单来说,批处理就是先将数据暂时保存到数据库,然后进行批量处理。流处理则是来接收到数据就立即处理,很多时候只保存处理结果,而不保存原始数据。 |
数据分析 |
|
第一天学习到此结束,留给大家几道思考题:
- 在物联网相关市场划分中,你能看出华为IoT产品在哪个位置吗?
- 在物联网技术要素中,你认为哪种技术是你想要做的物联网产品技术短板?
第二天 物联网的架构
昨天介绍了物联网基础知识,今天白天有些忙。晚上继续码字。。。。
要实现物联网服务,说白了其实就是要做好两个功能:
- 把从设备收到的数据保存到数据库,并对采集的数据进行分析
- 向设备发送指令和信息。
物联网的整体结构
物联网大体上有3个构成要素,设备,网关和服务器。(可能有人说NB-IoT就没有网关,确实如此,但基本上也可以认为基站具有网关的功能)因此分层架构上都可以分为3层,如下表所示:
整体结构
服务器(接收,保存和存储数据)
|
|
网络(有线或无线网络)
|
|
网关(连接设备与物联网服务) | 设备(可直连到互联网的设备) |
设备(不能连接到互联网的设备) |
网关
物联网使用的设备中,网关负责将将不能直接连接到互联网设备联网。通常网关下可以接很多设备,由于网关硬件越来越强,有高规格的CPU,内存资源,一般都会运行Linux操作系统。同时,还配置有多种接口,USB,WiFi,ZigBee,Ethernet,3G/4G
LTE等。下图就是华为AR502系列敏捷网关可以广泛应用于各种物联网领域。(请注意,网关通常都需要外接电源,如果使用电池也会配置太阳能,风能等充电方式)
网关主要由3种功能构成:
1. 从设备接收数据
2. 生成要发送的数据
3. 把数据发送到服务器
服务器
服务器可分为前端
+
后端两部分,前端部分负责数据接收和数据发送,后端主要是处理数据,更细地分包括分解数据,存储数据,分析数据,生成发送指令等。数据处理可以是批处理或流处理(上一章已经介绍过),数据存储一般是数据库,数据库包括关系数据库和NoSQL数据库。(NoSQL数据库不是哪家公司的数据库,是一类数据库的统称。)
再来讲讲传输协议
HTTP/CoAP | WebSocket | MQTT |
HTTP协议提供的是最大众化且最简易的方法。设备用HTTP的GET方法和POST方法访问数据库,把数据存入请求参数和BODY并发送。 HTTP协议是Web的标准协议,CoAP则是专门针对物联网设计的类似HTTP的协议,其语法与HTTP非常类似,也可以采用RESTful API接口。有兴趣的通信可以去度娘了解。 举个栗子: 使用GET方法访问/sensor/temperature获取温度传感器的值,使用POST方法写入阈值等。 |
WebSocket是一种通信协议,用于在互联网上实现套接字通信。它实现了Web浏览器和Web服务器间的数据双向连续传输。非常适合于发送语言数据等连续数据,当终端订阅了服务器数据时,需要服务器主动发出数据,WebSocket也是一个很好的通信方式。 | MQTT(MQ Telemetry Transport)消息队列遥测传输原本是IBM公司开发的协议,现在已经开源了。 MQTT最大的优势是能实现一对多通信,也称为发布订阅协议。它由3种功能构成,分别是中介(Broker),发布者(Publisher)和订阅者(Subscriber)。中介承担着转发MQTT通信的服务器作用。相对而言,发布者和订阅者则起着客户端的作用。发布者负责发送消息的客户端,而订阅者是负责接收消息的客户端。MQTT交换的消息都附带“主题”地址,各个客户端把这个“主题”视为收信地址,对其执行传输消息的操作。 |
关于MQTT协议,其实还有很多有趣的功能,这里就不再深入介绍了。。。。
协议格式包括XML和JSON,比较而言,XML的格式比JSON更容易理解。但XML字符数较多,数据量较大。由于JSON数据量小,更适合使用移动环境中。还有一种二进制形式的数据格式,MessagePack,这里就不重点介绍了。
XML | JSON |
123 20141215 |
{"value":123, "date":20141215"} |
今天的重点知识就介绍到这里,其实还有很多与数据库和分布式存储的知识,我这里就没有介绍了。其实你可以发现物联网服务架构其实就是华为倡导的1+2+1,架构本身非常简单,也很容易理解。
从明天开始,我们就开始分别讲述1+2+1内容了,谢谢大家!
第三天 物联网设备
物联网设备与一般设备最大不同在于其具有连通性,今天我们的任务是深入学习物联网设备相关知识。
设备结构
物联网设备五花八门,当其结构一般都如下图所示。物联网设备跟普通的机械产品一样,都包含用于检测用户操作和设备周边环境变化的输入设备,提示某些信息或者直接作用于环境的输出设备,以及作为设备的大脑来负责控制机器的微控制器等。
微控制器
MCU是一块控制机器的IC芯片。它能够编写程序,并根据描述的处理读取IO状态,或者向连接上的电路输出特定信号。与PC中的芯片不同之处是,他通常集成度更高,会同时包括CPU,内存和外围电路。如下表所示:
微控制器
|
||
CPU | 内存 | 外围电路 |
- 运算处理 - 硬件控制 |
- 临时存储数据 - 存储执行项目 |
- 计时器 - A/D转换 - D/A转换 - 各种I/O端口(port) |
现在大部分电子产品都搭载有微控制器。特别是近些年,32位的微控制器成本逐渐降低,已经开始取代传统的8位单片机了。特别是如今需要将设备接入到网络,对微控制器主板以及编程环境要求也逐渐降低,很多从来没有摸过硬件的开发者,通过连接一些标准的外围I/O设备,很容易做出很多物联网产品。
与网络相连
这几年,智能设备风刮遍了大江南北,只要是能连上网络的设备都会冠以“智能”之名。为什么连通性对产品如此重要?物联网会带来哪些改变呢?
传统无法联网的设备一旦出了库就没法再变更商品规格了,所以需要花大把时间和成本来开发产品。而对于物联网产品,由于连通性。一方面,可以将设备内部结构简化,将一部分计算功能移到云端,形成一体化服务。通过网络,还可以随时轻松进行固件升级,同时增强云端服务能力;另一方面,硬件开发本身的成本竞争正在不断激化,设备开发必然会促进设备自身的高级化。而围绕设备开发,将服务整体作为一个生态系统来进行最适宜的设计规划,其重要性不言而喻。这一点看看iPhone手机生态的发展就能理解了。
无线通信也是近年在物联网产品中研究得重点,特别是可穿戴设备,无线+低功耗是产品成败的关键。
开源硬件
Arduino主板是一款可以让没有从事过电子仪器设计和制作的人也能马上着手开发的微控制器主板,有着超高的人气。(我手头上也有好几块)利用其IDE开发环境,和可扩展的大量Shield,只需要花费几十块就能搭建出一个用于连接网络物联网小玩意。
谈到开源硬件,还有一个不得不提。那就是大名鼎鼎的树莓派,他搭载有高性能的ARM处理器,可以直接运行Linux操作系统。同时配有丰富的外设,USB,HDMI。活脱就是一台迷你PC的节奏。售价上要比Ardunio贵一些,但最近国内有很多山寨开发板,什么香蕉派,桔子派。。功能详相近,成本更低。非常适合物联网新手学习。
为了狙击ARM在物联网领域的拓展,Intel也不甘示弱,推出了专门针对物联网的Edision开发板,集成了WiFi,蓝牙4.0等多种协议。还兼容Ardunio扩展,安装Python和Node.js和专用的XDK
IoT Edison开发套件。我只能感慨,Intel煞费苦心推动物联网真是不遗余力啊。
最后关于硬件原型设计,作者谈了很多开发心得,包括注意事项,如何将应用程序与硬件最佳整合等。这方面知识,以后有机会我再专门开专题来介绍,大家如果对硬件还意犹未尽,可以转入到Huawei LiteOS分论坛,在那里你一定可以找到更多志同道合的人。
第四天 先进的感测技术
在前面的章节中,传感器的概念是“用来获取温度或湿度等纯数据的点子零件”。随着零件的小型化和高性能微处理器的出现,市面上出现了具备先进能力的传感器。这类传感器能轻松地获取那些原来难以当成数据来处理的信息。这样的传感器与其说是零件,不如说是狭义上的设备。今天将给大家介绍一些这类功能先进的新型传感器。
先进感测设备和系统
开始之前,我们先来回答这个问题:先进的感测设备到底是什么呢?简单来说,就是将多个传感器和处理器组合在一起,从而获取更复杂信息的新型传感器。传感器已经不再是一个电子零件,而是一个具备强大信息获取能力的、更方便的物件。
这样说可能大家难以明白,举个栗子好了。很多年前,大家所处小区是否有安装声控开关灯的?那个时候我也觉得很神奇,拍拍手或者咳嗽一声,灯就会自动亮起来,当人从楼梯走后,灯会自动熄灭。可是这类传感器太不智能,当打雷或者外部有狗叫时,也傻瓜式得亮起来。那个灯内置的传感器就是很普通的声控传感器,它并不智能,无法判断是人的声音还是其他物体的声音。因此,这类设备很快就退出了历史舞台。现如今,已经出现非常先进的可以检测人行为的传感器,可以感应到人进入房间,并自动控制开启照明设备。这样的设备,我们就称之为先进的感测设备。先进的感测设备可以比传感器感测更多的信息。
RGB-D传感器
此传感器可以测量拍照物与人之间的距离,比如可以自动测量房间大小和家具尺寸,也可以实现我上面举例的人体行动识别。相对于传统的测距传感器,它可以获取任何点的距离位置信息,如下图所示,每个像素都含有距离信息,那就可以将人物轮廓勾画出来。具体实现机制,我这里就不讲了,可以去找原书了解。
自然用户界面
上面将的RGB-D传感器最著名的应用就是微软公司的XBox 360 Kinect体感游戏机,人们可以不用遥控器,便能控制游戏中的人物。这就需要传感器高精度地捕捉人的动作和行为。
全球卫星定位系统 - GPS
这个其实我不说,现代人应该都知道。车载导航都会用到这一技术,它是一种利用人造卫星测量位置的传感器。原理这里就不讲了,有些复杂。我们只需要记住需要探测到4颗或以上卫星,才能较为精准的定位即可。
由于GPS卫星发送信号会衰减或者阻拦,在室内效果就不太好了。因此也有人利用GPS原理开发了IMES(室内通信系统),有兴趣的同学可以去找相关的文章进行知识补充。
WiFi定位技术
众所周知,WiFi已经普及到家庭,办公室等各种场所,而WiFi定位技术也在不断发展中。通常有两类技术
1、接收信号强度
利用WiFi的信号强度来定位,当接收到的信号越强,就说明离无线电波的发射地越近。如果部署多个WiFi发射热点,就可以通过信号强弱差异来判定位置。但在实际中,由于使用环境的影响,无线电波强度会由于反射等众多因素的干扰,导致强度与距离比例关系失效,定位精度不理想。
2、指纹定位
在房间内设置数个WiFi热点,将各个地点的信号强弱情况记录下来,在实际定位时,手机通过从记录地点进行匹配从而获取位置信息。这个方法要事先测量,比较费工夫。据说误差可以小于1m。
Beacon
近年来还有一种定位技术很热门,它也是利用了接收信号的强度,叫做Beacon。它使用了BLE技术,iPhone和Android都推出了对应的技术方案,iBeacon和AltBeacon。
目前用得较多的场景是在购物中,通常在商品货架上安***eacon发射器,发送器或发射BLE标准的信号,包括事先订好的ID。到店的顾客手机打开专用的应用,靠近商品时,既可以被推送商品信息。如下图所示,在一个美术展览馆用这个来进行导读确实是个不错的主意。(其实目前很多景区利用二维码就能实现这一功能,美术馆可能不允许拍照,蓝牙技术要更适合一些。)
在物联网世界,位置信息是非常重要的。在很多场合下,位置信息是至关重要的比如物流行业,优化运输路线,检测水文数据,海啸地震等。通过引入这些先进的感知设备,物联网所能发挥的作用远远超出我们的想象。
第五天 物联网服务的系统开发
物联网系统化就是应用传感器等各类设备来形成一个持续解决问题的机制。也就是说,不只用传感器进行测量,还通过对测量数据的监测和分析来发现能量损耗,预测机器故障,从而创造出新的信息和价值。而且,系统化并非暂时性的,在成本和应用的基础上生成一个持续运行的机制才是系统化。
以上是作者对物联网服务系统化的理解,我则一直认为一个好的物联网服务一定在商业或者社会效益上是封闭且正向循环的。也就是说,通过采集到的数据,可以提升效率,从而又能影响原始数据,并能够产生经济效益,促使其不断裂变。
但在实际的物联网服务中,很难说清导入了服务是否能取得成效。这就是物联网开发者所遇到的最大困难。其系统开发远比一般Web开发更广泛。就算是小规模的物联网服务,也需要多方面的知识。除了在服务器端运行的应用程序外,还需要掌握构成设备的硬件、嵌入式软件、连接设备与传感器的网关、无线通信技术和网络等多方面知识。在任何一个技术环节上出现哪怕是一点点问题,都可能导致物联网服务的难产或者难以拓展。
物联网系统开发的特征
物联网服务一定是与设备(物)相挂钩的,设备是构成物联网服务的主体,所以物联网系统存在其独有的特征:
1. 易于增加所管理设备的数量
物联网服务由传感器终端等多台设备及集合这些设备的网关终端构成。根据应用状况,这些设备的种类或终端的数量往往会不断增加。
例如在办公大楼或是商业楼层中,对温度、湿度、二氧化碳浓度等进行环境感测时,楼层的场所不同,测量到的值也有差异,因此不能光感测楼层的某一处,还要对多个场所进行感测,这样一来就需要在一个房间里设置数个传感器终端。
2. 设置在人们平时无法触及的地方
办公室和商业设施的设备和网关大多都设置在平时人们无法触及的屋顶或者墙壁等处,因此应用这些设备并不容易。如果需要更换设置场所或者变更终端内的软件,不仅需要请求设备管理者进行更换,还需要与设置场所的管理人员协调日程。
3. 存在无线通信部分
数据通信路径上利用的是无线通信,包括传感器终端和网关之间通信使用的接入线路,也利用了3G/4G等无线通信技术。在物联网服务建设中,人们会更多地选择无线通信。这也要考虑,无线通信的通信品质较低,设备有可能会因为障碍物的设置等现场环境的变化而连接不上通信线路,线路也有可能会因为周边无线电波的干扰而变得不稳定。
物联网服务的系统开发流程
验证假设阶段
此阶段进行的是效果验证和技术验证,效果验证通过构建小规模的原型和导入服务来验证,技术验证的目的则是实现物联网服务。前者利用物联网设备感测到的数据,分析创造出的信息是否拥有与成本相符的价值。除此之外,通过让使用者使用原型系统,还能探讨使用情景等需求。
- 要点如下:
选定设备
- 整理设备需求
- 调查、调配、试做设备,验证设备的运行情况
- 设计设备的设置
- 设计设备的维修与使用
服务的原型开发与使用 - 选定运营商网络
- 开发网关和服务器端系统的原型
- 从设备和系统的测试运行中提炼问题
验证导入效果 - 验证传感器和驱动的导入效果
系统开发阶段
此阶段基于验证假设环节的原型开发和验证结果来调配在实际环境中将要用到的设备,以及进行服务器端系统的开发。特别是,在使用服务的过程中很有可能要追加设备和设置地点,或是涉及获取数据的存储容量和存储时间等数据使用方面的内容,所以非常有必要跟多个利益相关方进行磋商。如果要把事先验证阶段就预见原型在实际环境下的运行,确保系统的品质,设计出一个易于追加设备的系统。
维护应用阶段
在应用管理设备的过程中不仅要监测和修复设备异常,还要根据设备的运行情况更改设备设置参数、修理或更换设备,以及追加新设备等。
- 监测设备的状态,变更设置,修理或更换设备
- 追加新设备
- 监测系统状态
- 运用积累的数据
- 采集和应用数据
作者在书中专门介绍了一个案例,由于内容较多,这里就不再说明了。有机会开专门的帖子来讲解一个案例。
第六天 物联网与数据分析
*昨天好不容码完字,提交的时候突然报错,所有写的前功尽弃。 只好今天重新来过了。
配备传感器的设备连接到网络,主要的目的就是采集数据。但是,如果只是采集数据,不进行任何处理,那就只是将一对庞大的数据聚在一起而已,不产生任何价值。为了实现真正的物联网服务,需要从采集到的数据中分析出有价值的数据。只有通过对数据进行分析,才有可能掌握机器的运转情况,才能提前了解病人的身体异常。这样才能把整个物联网服务从一个单纯的采集数据的行为升华到一项创造附加价值的服务。
如果不谈传感器数据的类别,只按分析目的来区分,分析大体上可分为 3 种:
可视化 |
|
发现 |
|
预测 |
|
1. 可视化
1.1 采集分析
采集分析就是把数据加工, 以人类能够直观理解的形式来表现数据。采集分析是最简单的一种分析方法,但其顺序和之后要讲的高级的分析方法是共通的,一般情况下都需要进行如图所示的处理流程。
1.2 数据采集
就如字面意思那样,数据采集就是采集用来分析的数据,并将这些数据以文件的形式保存到数据库中。
首先根据需求利用 SQL 或搜索工具来获取这些数据, 再将这些数据读取到电子制表软件中,将其转化成 CSV格式,最后用 R 语言等统 计分析软件进行处理。
1.3 预处理
预处理,就是把“数据采集”采集到的数据中没用的多余数据剪切掉。 除此之外还包括对数据实施一些处理, 将其加工成有意义的数据。
1.4 采集
采集指的是以数值数据为基础,计算如总数、平均值、方差、分位 点(包含中位数)等统计数值。此外,电子制表软件中附带的数据透视表功能也是人们非常熟悉的一个用于执行采集分析的手段。
1.5 图表举例
统计结果的表示方法多种多样,有单纯用表形式来表示的,也有用平均值或方差这样的指标来表示的,下图是几种常用的图表形式。
2. 高级分析
2.1 数据挖掘工具
现代高级数据分析方法大多数情况下都是用编程语言的库,以及专用的分析工具来执行的。
说到编程语言,近来Python和R语言尤其引人注目。这两种语言包含很多有关分析的库,用很简单的描述就能执行很多分析。而专业的分析工具,例如
Weka 和 KNIME 等工具能基于 GUI 执行 分析,这类工具叫作数据挖掘工具。数据挖掘工具能够借助图标和箭头
指向的方向来查看数据处理的流程,因此其特点在于即便是新手也很容易上手。
2.2 分析算法
发现分析则以从数据中提取更复杂的倾向、规则、结构等信息为目的。因此发现分析采用高级的分析手法,不用数值来表现分析结果,而是用像数学公式和规律这样的“模型”来表现倾向。
2.3 预测
发现分析的目的是从数据中找出复杂的倾向和因果关系,并将其转化***类的知识。相对地,预测分析则是基于找出的规律和构造来推测今后会发生的事。
预测分析并没有特定的方法,
既有像回归分析这样预测数量的分析, 也有像类别分类这样,
在给出了未知样本的情况下进行分类的分析。特别是机器学习使用的方法都是一些在基于过去的数据进行学习的基础上,来预测和判断新数据的方法,所以一般来说,这些方法不仅能发现知识,还能进行预测。
目前业界最热门的分析方法为“回归分析”,这里就不展开来讲了。
数据分析内容很多,有机会再仔细讲解。我们这里只需要大致了解一下原理即可。
第七天 物联网与可穿戴设备
今天太累,先占个空,明天补上。
可穿戴设备是这两年一个很有趣的话题,很多不了解物联网的同学,一提到可穿戴设备就读物联网有个概念了。可穿戴设备,顾名思义就是指穿戴在身上的设备。比起前几天说的设备,可穿戴设备跟贴近人们的生活,智能手表,智能手环,智能运动鞋等等都属于这个范畴。今天的任务就是回答以下问题:
- 可穿戴设备都有哪些种类?
- 应该用什么样的可穿戴设备
- 应该怎么用?
- 使用可穿戴设备都能做些什么?
谷歌眼镜算是可穿戴设备的鼻祖了,它是典型的以“人”为本的输入输出设备。可以将人所看所感信息上传到物联网服务,然后物联网服务会对这些信息进行分析,并将分析结果再次返回给可穿戴设备。从而对人的生活起到帮助作用。
因此,我也非常赞同作者对可穿戴设备的定义,它并非是类似手机的新一代智能设备,而更多是与物联网相关,性质完全不同的另一种设备。由于是一种穿戴在身上的设备,它能够理解“何时”,“何地”,“何人”,”何种状态“等信息。它一定是能够理解穿戴着周围”语境“的,并通过信息提示和预警等手段来进行反馈。比如,假设我们正在逛商场,想买件衣服。在这种语境下,智能眼镜等可穿戴设备会帮助识别我们正在挑选的衣服,显示该件衣服在其他店的价格以及其他用户对该衣服的评价等信息。
可穿戴设备市场
目前智能手表/手环是可穿戴的热点产品,从设备角度看,有以下发展趋势:1)小型化,超省电;2)自然语言输入,如语音识别;3)与其他设备联动。
可穿戴设备功能
作用 | 功能 | 能做到的事 |
向设备输入信息 | 摄像头 | 拍摄图像和影像,识别图像 |
语音识别 | 使用语音进行输入和控制 | |
手势控制 | 使用手势操作各种设备 | |
设备发来的反馈 | 显示信息 | 将文本、图像、影像等显示在显示屏上 |
通知 | 利用语音和显示屏通知穿戴者 | |
其他 | 上网 | 能够连接到网络,传输数据,在云端实施对数据的加工等 |
存储 | 离线存储数据 |
可穿戴设备的种类不同,具备的功能也不同,但与输入相关的主要 包括 3 种功能,即摄像头、语音识别和手势控制。可穿戴设备的摄像头和智能手机的不同,人们不需要用手去选择这 项功能,只要想拍,就能立即拍摄图像和影像。
可穿戴设备上配备的典型传感器
传感器 | 概要 |
GPS | 获取可穿戴设备(穿戴者)的位置信息 |
9 轴传感器(加速度、 陀螺仪、电子罗盘) | 通过三轴加速度传感器、三轴陀螺仪传感器和三轴电子罗盘传感器来测量可穿戴设备的直线加速度和角速度,用电子罗盘传感器来确定可穿戴设备的方位 |
心率传感器 | 用脉搏传感器(后续内容有介绍)来测量血管反射出的光线的 变化,测量穿戴者的心率。另外还有应用了心电波形传感器的心率传感器 |
亮度传感器 | 测量可穿戴设备(穿戴者)周边的明暗,用于控制显示器的亮度等 |
红外线传感器 | 测量红外线,将温度可视化的传感器,主要用来检测人在可穿 戴设备附近作出的手势和眨眼等动作 |
近距离传感器 | 用于检测物体是否已靠近,主要用于检测用户是否穿戴了可穿 戴设备 |
可穿戴设备分类
以上是按穿戴位置分类,也可以按照传输方式分类(短距WiFi,蓝牙,长距NB-IoT)
可穿戴设备的应用
1. 消费者应用情景
有较多消费者使用可穿戴设备,特别是使用腕带型运动追踪器在物联网服务上进行健康管理。现在健康管理已经成了消费者们使用可穿戴设备的一个主要原因。我就有个小米手环,每天除了可以记录我的运动量外,还可以检测我的睡眠质量。此外,主要有以下几个方面:
- 获取医疗数据
- 生活记录
- 体感游戏
- 导航
2. 用于企业领域
可穿戴设备上配备有各种各样的功能,人们也期望能将其应用到企业领域。特别是智能眼镜这种能解放双手的设备,即使在无法使用双手的状况下也能操作设备。因此那些在无法使用双手的状况下还需要浏览 与工作有关的信息的行业,如制造业和物流业,就对此类设备大有需求。
- 辅助接待
- 远程操作支持
- 操作训练
- 不需用手也能确认操作手册
- 确保可追溯性
- 辅助挑选货物
这两年google glass已经进化成VR/AR领域,有兴趣的同学可以留言,我们回头专门开个章节来介绍VR/AR。今天就先写到这里,明天是最后一个章节,希望大家捧场。
第八天 物联网与机器人
这篇本来应该还是昨天写的,为什么推迟到今天才码字呢?主要原因是,这章给了我很多启示。我之前一直没有明白机器人其实很早就有了,特别是这两年火的不得了的工业机器人(富士康?),让我觉得机器人其实更物联网没啥大关系,应该更多是与人工智能相关吧。不知道读者是否也有这样的感受,如果以前真是这样想的,花几分钟看看这最后一篇,了解一些物联网与机器人的未来吧。
机器人——设备的延续
上图取自书中的机器人结构,与一般设备相同,都是有输入设备,控制器,输出设备组成。从这个角度来说,机器人算是一种高度集成了各式设备的机器。说直白写就是将能自动控制的设备集大成者。下图是特斯拉机器人组装工厂的一角,是目前最先进的工业机器人。他们能够协同工作,完成一辆汽车的组织。
请注意,我上面用词“协同”,对就是这个词,它是与我们相像中的机器人最大不同之处。再看看下面这张图,它是国内某知名电商的物流配送中心。以前从货架挑选商品这项工作一直是靠人工完成,但现在的机器人利用物联网技术可以实现商品配送的全自动化。以前认为机器人都是由集中控制系统(SCADA)来进行控制,但现如今机器人利用物联网技术,已经具备端侧自行控制。比如物流配送中心的机器人,接收到订单后,会自己查找相应的物品位置,然后通过扫描路线标记,自己快速移动到货架,然后根据货架上的标记,取下所需要配送的物品。然后自行移动到发送的打包流水线上。如果只是一台设备其实用不用物联网技术到没有关系,但是如果几百上千台这样的机器人呢?就必须让他们自行交流,自行控制了。(我有些明白物联网在机器人领域中的作用了:D
)
构建机器人的关键
要想把各种设备和传感器组合在一起, 并由此构建一个机器人系统,需要克服繁多的问题。
- 需要高效利用机器人专用的中间件
器人开发是一项需要高度整合各种各样设备的工作,如果要从零 开始开发机器人系统,那么在技术上、时间上、金钱上都需要投入相当 巨大的成本。 针对这点, 人们将机器人需要的各类软件要素总结在一 起,开发出了专门用于机器人的中间件。通过有效使用这类中间件,人 们就能够实现高速开发、提升可维护性,以及与外部系统灵活联动等。 - 要高效利用网络环境
正如前文所介绍的仓库管理机器人,这些机器人很少单独进行某项操作,而是接收外部发来的信息和命令,将这些信息和命令加以组合来执行任务。为了做到 这点,我们也需要把机器人连接到网络,就像把前面说的那些物联网设 备连接到网络一样,另外还需要准备一个环境来使用那些存在云端服务器上的资源。
机器人专用中间件
开发者在实际构建机器人时,面临的最大难题是如何把多个构成要素整合为一个整体系统。此时能够帮助我们的就是机器人专用中间件。
项目 | 概要 |
设备输入输出 | 控制程序,用以生成信号来控制电机 |
电机控制 | 用于输入输出传感器和电机信号的 API |
语音识别 | 把语音转化成文本的功能 |
图像识别 | 用于从图像提取面部和特殊信息的功能 |
任务执行管理 | 从传感器信息和识别结果出发,执行事先注册好的任务 |
软件包管理 | 解决中间件模块依赖性的功能 |
目前专用的机器人专用中间件有
RT 中间件和 ROS 两种。前者有开源版本的OpenHRP3,后者是Robot Operating
System缩写,是一个在欧美地区广泛应用的机器人开发开源平台,可以说是当今世界应用最广泛的机器人开发平台。这些内容与物联网关联不大,是一全新的体系。有机会我们再聊。
连接到云端的机器人
物联网就是把设备连接到互联网,当云计算和机器人技术合二为一后,就成了新的“云机器人”。哈哈,我终于搞清楚物联网和机器人的关系了,以前产线上的设备通常由PLC这类控制器编程后在很小的范围进行设备控制。现如今以下物联网技术快速发展,创造了全新的物联网机器人。
- 网络的低成本化和高速化 -> 高速无线通信、光通信
- 大数据处理能力的成熟 -> Hadoop、Spark、Storm、Deep Learning
- 机器人技术的开放 -> RT中间件、ROS
物联网技术的引入,使得云机器人能够做到很多的事情。
物联网和机器人的未来
各类用于构建机器人系统的开源软件的出现(如 RT 中间件和 ROS)急剧降低了以往机器人开发中存在的额外负担。除此之外,云机器人正在成为一门向复杂环境中(例如,我们的家庭中)导入机器人时不可或缺的技术。
同时机器人如何在复杂环境中工作,是当下机器人发展的重点,也是物联网技术所擅长的。前面几天讲述的物联网技术在机器人领域同样存在,因此想玩好机器人一定少不了物联网技术。