书签 分享 收藏 举报 版权申诉 / 129
上传文档赚钱

类型物联网技术与应用电子教案128课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:5217603
  • 上传时间:2023-02-17
  • 格式:PPT
  • 页数:129
  • 大小:758.62KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《物联网技术与应用电子教案128课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    联网 技术 应用 电子 教案 128 课件
    资源描述:

    1、物联网中间件基本概念物联网中间件基本概念5.1物联网中间件关键技术物联网中间件关键技术5.2物联网中间件编程实例物联网中间件编程实例5.3Page 1.Page 2.1.中间件定义:中间件定义:l 独立的系统软件或服务程序。独立的系统软件或服务程序。l 应用于客户机、服务器的操作系统,管理计算应用于客户机、服务器的操作系统,管理计算机资源和网络通信。机资源和网络通信。l 连接两个独立应用程序或独立系统的软件,使连接两个独立应用程序或独立系统的软件,使相连接的系统即使具有不同的接口,利用中间件相连接的系统即使具有不同的接口,利用中间件仍然能相互交换信息。仍然能相互交换信息。l 执行的关键途径是信

    2、息传递。执行的关键途径是信息传递。Page 3.Page 4.最早具有中间件技术思想及功能的软最早具有中间件技术思想及功能的软件是件是IBM的的CICS,而,而CICS不是分布式环不是分布式环境的产物,因此人们一般把境的产物,因此人们一般把Tuxedo作为第作为第一个严格意义上的中间件产品。一个严格意义上的中间件产品。Page 5.Tuxedo是是1984年在当时属于年在当时属于AT&T的贝的贝尔实验室开发完成的,由于分布式处理当尔实验室开发完成的,由于分布式处理当时并没有在商业应用上获得像今天一样的时并没有在商业应用上获得像今天一样的成功,成功,Tuxedo在很长一段时期里只是实验在很长一段

    3、时期里只是实验室产品,后来被室产品,后来被Novell收购,在经过收购,在经过Novell并不成功的商业推广之后,并不成功的商业推广之后,1995年被现在年被现在的的BEA公司收购。公司收购。Page 6.BEA公司公司1995年收购年收购Tuxedo才成为一个才成为一个真正的中间件厂商。真正的中间件厂商。IBM的中间件的中间件MQSeries也是也是20世纪世纪90年代的产品,其他年代的产品,其他许多中间件产品也都是最近几年才成熟起许多中间件产品也都是最近几年才成熟起来。来。Page 7.l满足大量应用的需要满足大量应用的需要l运行于多种硬件和运行于多种硬件和OS平台平台l支持分布计算,提供

    4、跨网络、硬件和支持分布计算,提供跨网络、硬件和OS平台的透明的平台的透明的应用或服务的交互应用或服务的交互l支持标准的协议支持标准的协议l支持标准的接口支持标准的接口Page 8.在物联网中采用中间件技术,以在物联网中采用中间件技术,以实现多个系统和多种技术之间的资实现多个系统和多种技术之间的资源共享,最终组成一个资源丰富、源共享,最终组成一个资源丰富、功能强大的服务系统。功能强大的服务系统。Page 9.基于目的和实现机制的不同,业内将中间件基于目的和实现机制的不同,业内将中间件分为以下几类:分为以下几类:远程过程调用中间件(远程过程调用中间件(Remote Procedure Call)面

    5、向消息的中间件(面向消息的中间件(Message-Oriented Middleware)对象请求代理中间件(对象请求代理中间件(Object Request Brokers)Page 10.几类中间件可向上提供不同形式的通几类中间件可向上提供不同形式的通信服务,在这些基本的通信平台之上,信服务,在这些基本的通信平台之上,可构筑各种框架,为应用程序提供不同可构筑各种框架,为应用程序提供不同领域内的服务,如事务处理监控器、分领域内的服务,如事务处理监控器、分布数据访问、对象事务管理器等。布数据访问、对象事务管理器等。Page 11.l 应用程序中间件阶段(应用程序中间件阶段(Applicatio

    6、n Middleware)l 架构中间件阶段(架构中间件阶段(Infrastructure Middleware)l 解决方案中间件阶段(解决方案中间件阶段(Solution Middleware)。)。Page 12.目前,物联网中间件最主要的代表是目前,物联网中间件最主要的代表是RFID中间件,其他的还有嵌入式中间件、中间件,其他的还有嵌入式中间件、数字电视中间件、通用中间件、数字电视中间件、通用中间件、M2M物联物联网中间件等。下面,重点介绍一下网中间件等。下面,重点介绍一下RFID中中间件。间件。Page 13.RFID中间件扮演中间件扮演RFID标签和应用程序标签和应用程序之间的中介

    7、角色,从应用程序端使用中间之间的中介角色,从应用程序端使用中间件所提供一组通用的应用程序接口(件所提供一组通用的应用程序接口(API),即能连到,即能连到RFID读写器,读取读写器,读取RFID标签数标签数据。据。Page 14.这样一来,即使存储这样一来,即使存储RFID标签数据的数标签数据的数据库软件或后端应用程序增加或改由其他据库软件或后端应用程序增加或改由其他软件取代,或者读写软件取代,或者读写RFID读写器种类增加读写器种类增加等情况发生时,应用端不需修改也能处理等情况发生时,应用端不需修改也能处理,省去多对多连接的维护复杂性问题。,省去多对多连接的维护复杂性问题。Page 15.(

    8、1)应用程序中间件发展阶段)应用程序中间件发展阶段(2)基础架构中间件发展阶段)基础架构中间件发展阶段(3)解决方案中间件()解决方案中间件(Solution Middleware)发展阶段。)发展阶段。Page 16.基本组成:基本组成:l实现全球物品的统一编码,给物品打上电实现全球物品的统一编码,给物品打上电子标签。子标签。l要实现每个小的应用环境或系统的标准化要实现每个小的应用环境或系统的标准化以及它们之间的通信,必须设置一个通用以及它们之间的通信,必须设置一个通用的平台和接口,也就是中间件。的平台和接口,也就是中间件。Page 17.以以RFID为例,下图描述了中间件在系统中为例,下图

    9、描述了中间件在系统中的位置和作用。的位置和作用。Page 18.物联网特点:物联网特点:(1)独立于架构。)独立于架构。(2)数据流。)数据流。(3)处理流。)处理流。(4)标准化。)标准化。Page 19.(1)ASPIRE特征:轻量级、可重新编程、智能、适合当特征:轻量级、可重新编程、智能、适合当前标准、可升级、安全性高、完整。前标准、可升级、安全性高、完整。ASPIRE的解决办法是完全开源和免版权费的解决办法是完全开源和免版权费用,这大大降低了总的开发成本。用,这大大降低了总的开发成本。Page 20.(2)Hydra定位于操作系统和应用之间的中间件层。定位于操作系统和应用之间的中间件层

    10、。中间件包含了众多软件组成部分,它们被设中间件包含了众多软件组成部分,它们被设计用于处理各种任务,以完成一个有效利用计用于处理各种任务,以完成一个有效利用成本的智能物联网应用开发过程。成本的智能物联网应用开发过程。可以在新的和已经存在的分布式设备网络上可以在新的和已经存在的分布式设备网络上协作。协作。Page 21.(2)Hydra它是基于语义模式驱动的架构。它是基于语义模式驱动的架构。Hydra中间件利于实现环境感知行为和解决中间件利于实现环境感知行为和解决在资源受限设备中处理数据的持久性问题。在资源受限设备中处理数据的持久性问题。Hydra安全框架部署了一个规则框架。安全框架部署了一个规则

    11、框架。虚拟化结构。虚拟化结构。Page 22.Page 23.lWeb服务(服务(Web Services)就是一种可以通)就是一种可以通过过Web描述、发布、定位和调用的模块化应描述、发布、定位和调用的模块化应用。用。lWeb服务可以执行多种功能,从简单的请求服务可以执行多种功能,从简单的请求到复杂的业务过程。到复杂的业务过程。l一旦一旦Web服务被部署,其他的应用程序或是服务被部署,其他的应用程序或是Web服务就能够发现并且调用这个部署的服服务就能够发现并且调用这个部署的服务。务。Page 24.Web服务(服务(Web Services)向外界提供一个)向外界提供一个能够通过能够通过We

    12、b进行调用的进行调用的API(Application Programming Interface,应用程序编程接口),应用程序编程接口),能够用编程的方法通过,能够用编程的方法通过Web来调用这个应用来调用这个应用程序。我们把调用这个程序。我们把调用这个Web Services的应用程的应用程序叫做客户。序叫做客户。Page 25.Web Services举例:举例:创建一个创建一个Web Services,功能是返回当前的,功能是返回当前的天气情况。天气情况。Page 26.Web Services定义:定义:建立可互操作的分布式应用程序的平台。建立可互操作的分布式应用程序的平台。Web S

    13、ervices平台是一套标准,它定义了应用平台是一套标准,它定义了应用程序如何在程序如何在Web上实现互操作性。上实现互操作性。Web Services为实现物联网的应用与服务提供了一为实现物联网的应用与服务提供了一个基本的框架。个基本的框架。Page 27.Web Services通过简单对象访问协议(通过简单对象访问协议(Simple Object Access Protocol,SOAP)来调)来调用。用。SOAP是一种轻量级的消息协议,它允许用是一种轻量级的消息协议,它允许用任何语言编写的任何类型的对象在任何平台之任何语言编写的任何类型的对象在任何平台之上相互通信。上相互通信。Page

    14、 28.SOA(Service-Oriented Architecture,面向,面向服务的体系结构)是一个组件模型,它将应用服务的体系结构)是一个组件模型,它将应用程序的不同功能单元通过这些服务之间定义的程序的不同功能单元通过这些服务之间定义的接口和协议联系起来。接口和协议联系起来。Page 29.接口是采用中立的方式进行定义的,它应该接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务语言。这使得构建在各种这样的系统中的服务可以用一种统一和通用的方式进行交互。这种可以用一种统一和通用的

    15、方式进行交互。这种具有中立的接口定义的特征称为服务之间的松具有中立的接口定义的特征称为服务之间的松耦合。耦合。Page 30.松耦合系统的优势主要有两点:松耦合系统的优势主要有两点:一点是它具有很高的灵活性一点是它具有很高的灵活性另一点是当组成整个应用程序的每个服务的另一点是当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够内部结构和实现逐渐地发生改变时,它能够继续存在继续存在Page 31.嵌入式系统是以应用为中心,以计算机嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、应用系统对

    16、功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。功耗有严格要求的专用计算机系统。Page 32.嵌入式中间件是在嵌入式应用程序和操嵌入式中间件是在嵌入式应用程序和操作系统、硬件平台之间嵌入的一个中间层作系统、硬件平台之间嵌入的一个中间层,通常定义成一组较为完整的、标准的应,通常定义成一组较为完整的、标准的应用程序用程序接口接口。Page 33.1嵌入式嵌入式Web嵌入式嵌入式Web服务主要具有以下优点。服务主要具有以下优点。(1)统一的客户界面)统一的客户界面(2)平台独立性)平台独立性(3)高可扩展性)高可扩展性(4)并行性与分布性)并行性与分布性Page 34.1嵌入式嵌入式We

    17、bWeb服务器服务器 对对Web服务器而言,在物理设备上是指服务器而言,在物理设备上是指存放那些供客户访问的信息资源的计算机或存放那些供客户访问的信息资源的计算机或嵌入式系统;在软件上是指能够按照客户的嵌入式系统;在软件上是指能够按照客户的请求将信息资源传送给客户的应用程序。请求将信息资源传送给客户的应用程序。Page 35.1嵌入式嵌入式WebWeb客户端客户端对对Web客户端而言,在物理设备上是指客户客户端而言,在物理设备上是指客户所使用的本地计算机或者嵌入式设备;在软所使用的本地计算机或者嵌入式设备;在软件上是指能够接受件上是指能够接受Web服务器上的信息资源服务器上的信息资源并展现给客

    18、户的应用程序。并展现给客户的应用程序。Page 36.嵌入式嵌入式Web服务器技术的核心是服务器技术的核心是HTTP协协议引擎。嵌入式议引擎。嵌入式Web服务器通过服务器通过CGI接口和接口和数据动态显示技术,可以在数据动态显示技术,可以在HTML文件或表文件或表格中插入运行代码,供格中插入运行代码,供RAM读取读取/写入数据写入数据。Page 37.典型的嵌入式典型的嵌入式Web服务器系统模型服务器系统模型Page 38.CGI是通用网关接口(是通用网关接口(Common Gateway Interface)的缩写。它是)的缩写。它是Web服服务器主机与外部扩展应用程序交互的一种标务器主机与

    19、外部扩展应用程序交互的一种标准接口。准接口。它提供了将参数传递给程序并将结果返它提供了将参数传递给程序并将结果返回给浏览器的一种机制。回给浏览器的一种机制。Page 39.CGI工作流程示意图工作流程示意图Page 40.CGI程序可以通过以下两种调程序可以通过以下两种调用方式来获取客户请求的内容:用方式来获取客户请求的内容:一是通过一是通过URL直接调用直接调用二通过交互式表单(二通过交互式表单(Form)来调用。来调用。Page 41.1JAVA VM除了利用除了利用Web实现中间件外,实现中间件外,Java VM(Java虚拟机)以其良好的跨平台特虚拟机)以其良好的跨平台特性成为了物联网

    20、中间件的重要平台。性成为了物联网中间件的重要平台。Page 42.Java编译执行流程图编译执行流程图Page 43.每个每个Java VM都有两种机制,一个是都有两种机制,一个是装载具有合适名称的类(类或是接口),装载具有合适名称的类(类或是接口),叫做类装载子系统;另一个是负责执行包叫做类装载子系统;另一个是负责执行包含在已装载的类或接口中的指令,叫做运含在已装载的类或接口中的指令,叫做运行引擎。行引擎。Page 44.每个每个Java VM又包括方法区、又包括方法区、Java堆、堆、Java栈、程序计数器和本地方法栈这栈、程序计数器和本地方法栈这5个部个部分,这几个部分和类装载机制与运行

    21、引擎分,这几个部分和类装载机制与运行引擎机制一起组成机制一起组成Java VM的体系结构。的体系结构。Page 45.Java VM体系结构图体系结构图Page 46.近几年来随着物联网的兴起,越来越多近几年来随着物联网的兴起,越来越多的研究正在考虑将的研究正在考虑将Web技术与物联网技术技术与物联网技术相结合。相结合。基于这样的思想就产生了万维物联网(基于这样的思想就产生了万维物联网(Web of Things)的概念。)的概念。Page 47.Web of Things具有以下特性:具有以下特性:(1)使用)使用HTTP作为应用协议,作为应用协议,HTTP不仅不仅是用来连接传感器和网络的传

    22、输协议。是用来连接传感器和网络的传输协议。(2)通过)通过REST接口(或接口(或REST API)将智能)将智能设备的同步功能开放出来。设备的同步功能开放出来。Page 48.(3)智能设备的异步功能开放采用广为接受)智能设备的异步功能开放采用广为接受的的Web聚合标准。聚合标准。(4)前端利用)前端利用Web的呈现方式,提供直观、的呈现方式,提供直观、友好的用户体验。友好的用户体验。(5)开放平台。)开放平台。Page 49.通过通过Web of Things,可以为物联网应用带来了,可以为物联网应用带来了众多便利,以下列举其几点优势:众多便利,以下列举其几点优势:减少智能设备安装、整合、

    23、执行和维护开销;减少智能设备安装、整合、执行和维护开销;加快智能设备安装和移除速度;加快智能设备安装和移除速度;对智能设备可进行移动和临时安装;对智能设备可进行移动和临时安装;任何时刻、任何地点都可以提供实时信息服务;任何时刻、任何地点都可以提供实时信息服务;增强可视化、可预见、可预报和维护日程的能力;增强可视化、可预见、可预报和维护日程的能力;确保各类应用有效和高效率执行。确保各类应用有效和高效率执行。Page 50.Web of Things的基本框架由以下的基本框架由以下3部分组成:部分组成:(1)网络节点集成接口()网络节点集成接口(Integration Interface of N

    24、etwork Node)(2)基于)基于REST风格终端节点(风格终端节点(Terminal Nodes Based on REST Style)对智能设备可进行移动和临)对智能设备可进行移动和临时安装;时安装;(3)网络)网络Mashup功能(功能(Web Mashup Function)增)增强可视化、可预见、可预报和维护日程的能力;强可视化、可预见、可预报和维护日程的能力;Page 51.基于基于REST风格的风格的Web of Things架构架构Page 52.上下文感知技术是用来描述一种信息空上下文感知技术是用来描述一种信息空间和物理空间相融合的重要支撑技术,它间和物理空间相融合的

    25、重要支撑技术,它能够使用户可用的计算环境和软件资源动能够使用户可用的计算环境和软件资源动态地适应相关的历史状态信息,从而根据态地适应相关的历史状态信息,从而根据环境的变化自动地采取符合用户需要或者环境的变化自动地采取符合用户需要或者设定的行动。设定的行动。Page 53.上下文感知系统首先必须知道整个物理上下文感知系统首先必须知道整个物理环境、计算环境、用户状态等方面的静态环境、计算环境、用户状态等方面的静态和动态信息,即上下文(和动态信息,即上下文(context)。)。上下文能力的获取依赖于上下文感知技上下文能力的获取依赖于上下文感知技术,主要包括上下文的采集、建模、推理术,主要包括上下文

    26、的采集、建模、推理及融合等。上下文感知技术是实现服务自及融合等。上下文感知技术是实现服务自发性和无缝移动性的关键。发性和无缝移动性的关键。Page 54.(1)上下文采集)上下文采集 上下文的应用领域不同,上下文的采集上下文的应用领域不同,上下文的采集方法也有所不同。通常情况下,有方法也有所不同。通常情况下,有3种方法种方法:传感类上下文、派生出的上下文(根据:传感类上下文、派生出的上下文(根据信息记录和用户设定)、明确提供的上下信息记录和用户设定)、明确提供的上下文。文。采集技术属于物联网感知层的技术。采集技术属于物联网感知层的技术。Page 55.(2)上下文建模)上下文建模 要正确地利用

    27、上下文信息,必须对获得要正确地利用上下文信息,必须对获得的上下文信息进行建模。上下文信息模型的上下文信息进行建模。上下文信息模型反映了设计者对上下文的理解,决定了使反映了设计者对上下文的理解,决定了使用什么方法把物理世界里面的一些无意义用什么方法把物理世界里面的一些无意义和无规律的数据转化成计算世界里的逻辑和无规律的数据转化成计算世界里的逻辑结构语言,为实现上下文的正确运行打下结构语言,为实现上下文的正确运行打下基础。基础。Page 56.(3)上下文推理)上下文推理 系统中的所有上下文信息构成上下文知系统中的所有上下文信息构成上下文知识库,基于这些知识库,可以进行上下文识库,基于这些知识库,

    28、可以进行上下文的推理。的推理。实现推理一般有两种方式,一是将逻辑实现推理一般有两种方式,一是将逻辑规则用程序编码实现,二是采用基于规则规则用程序编码实现,二是采用基于规则的推理系统。的推理系统。Page 57.(4)上下文融合)上下文融合在上下文感知计算中,要获得连续的上在上下文感知计算中,要获得连续的上下文的解决方法,必须联合相关的上下文下文的解决方法,必须联合相关的上下文服务从而聚集上下文信息,称为上下文融服务从而聚集上下文信息,称为上下文融合。合。这种上下文的融合类似于目前已被广泛这种上下文的融合类似于目前已被广泛应用的传感器融合,其关键在于处理不同应用的传感器融合,其关键在于处理不同上

    29、下文服务边界之间的无缝融合。上下文服务边界之间的无缝融合。Page 58.Page 59.Ruby on Rails,简称简称RoR或或Rails,是一个使用是一个使用Ruby语言写的开源网络应用框语言写的开源网络应用框架,架,能能使开发变得更加容易使开发变得更加容易,目前我们用,目前我们用其其致力于致力于Web应用的开发、部署和维护。应用的开发、部署和维护。Page 60.像其他像其他Web框架一样,框架一样,Rails采用采用MVC的开发框架。但相比的开发框架。但相比于于其他框架,其他框架,Rails更加简单易用更加简单易用。这是因为:。这是因为:1、Ruby语言的特性:自然、简介、快速,

    30、语言的特性:自然、简介、快速,有丰富的类库,并且全面地支持面向对象有丰富的类库,并且全面地支持面向对象的程序设计。的程序设计。Page 61.2、Rails的基本设计原则的基本设计原则:“不要重复不要重复你自己你自己”(Dont Repeat Yourself,简称,简称DRY)以及)以及“惯例重于配置惯例重于配置”。Page 62.Rails是一种敏捷的框架,它强调与是一种敏捷的框架,它强调与客户的交互,随时准备客户的交互,随时准备“响应变化响应变化”。Rails提倡测试驱动开发,所有的提倡测试驱动开发,所有的Rails应用内嵌对于测试的支持。应用内嵌对于测试的支持。Page 63.Ruby

    31、 on Rails可以运行在各种操作可以运行在各种操作系统下,其平台是独立的。总的来说,要系统下,其平台是独立的。总的来说,要安装运行一个安装运行一个Rails应用需要下列组件。应用需要下列组件。Page 64.(1)Ruby解释器:我们在此使用解释器:我们在此使用Ruby-1.8.6。这个版本的解析器可以很好的满足。这个版本的解析器可以很好的满足Rails以及后续一些以及后续一些Ruby Gems的要求。的要求。Page 65.(2)RubyGems:它是一个标准的:它是一个标准的Ruby程序包管理器,可以很方便的在线安装各程序包管理器,可以很方便的在线安装各种种Ruby程序包,包括程序包,

    32、包括Rails等。等。Page 66.(3)Ruby on Rails框架:为简单起见框架:为简单起见,我们采用,我们采用gem自动进行安装,在撰写本自动进行安装,在撰写本书时书时Rails的最新版本为的最新版本为2.3.8。Page 67.(4)数据库:)数据库:Rails的最新版本默认是采的最新版本默认是采用用SQLite 3的数据库,在此为了通用性考的数据库,在此为了通用性考虑,我们采用最常用的虑,我们采用最常用的MySQL数据库。数据库。Page 68.(5)一些必要的库:采用)一些必要的库:采用MySQL数据数据库只需要安装库只需要安装mysql gem包即可。如果使用包即可。如果使

    33、用Rails默认的数据库则需安装默认的数据库则需安装sqlite3-ruby gem包。包。Page 69.下面我们主要介绍在下面我们主要介绍在Windows下安下安装部署装部署Rails的具体过程。由于很多程序针的具体过程。由于很多程序针对对Windows平台都有很方便的一键式安装,平台都有很方便的一键式安装,所以在所以在Windows下安装下安装Rails还是很轻松的。还是很轻松的。Page 70.(1)安装)安装Ruby解释器。可以从解释器。可以从Ruby官网(官网(http:/www.ruby-lang.org/en/downloads/)上下)上下载载Ruby-1.8.6 One-C

    34、lick的安装包的安装包。为了检验是否安装成功,可以从为了检验是否安装成功,可以从Windows的开始菜单点击的开始菜单点击“运行运行”,输入,输入“cmd”,启动,启动Windows 命令提示符,然后输命令提示符,然后输入入“ruby v”(回车),如能正确显示(回车),如能正确显示Ruby程程序的版本号则证明安装成功。序的版本号则证明安装成功。Page 71.(2)安装)安装RubyGems。可以从。可以从RubyForge(http:/rubyforge.org/)或是)或是RubyGems的官网(的官网(http:/rubygems.org/)上下载最新的安装包。下)上下载最新的安装包

    35、。下载完成后将该压缩包进行解压,我们假设解压后载完成后将该压缩包进行解压,我们假设解压后根目录为根目录为$dir目录;然后启动命令提示符,并目录;然后启动命令提示符,并切换到切换到$dir中,然后输入中,然后输入ruby setup.rb运行运行RubyGems的安装程序。为了验证是否安装成功的安装程序。为了验证是否安装成功,可以从,可以从Windows命令提示符中输入命令提示符中输入“gem v”(回车);如能正确显示(回车);如能正确显示RubyGems的版本号则的版本号则安装成功。安装成功。Page 72.(3)安装)安装Ruby on Rails。在命令提示符。在命令提示符中输入中输入

    36、“gem install rails”(回车),然(回车),然后将会在线安装后将会在线安装Rails的程序以及的程序以及Rails的的一些依赖包。安装完成后可以通过一些依赖包。安装完成后可以通过“rails v”命令查看命令查看Rails的版本号来验的版本号来验证是否安装成功。证是否安装成功。Page 73.(4)MySQL数据库。在数据库。在MySQL官网上官网上下载最新的下载最新的MySQL-5.1版本的安装程序版本的安装程序,然后进行安装即可。具体安装过程也,然后进行安装即可。具体安装过程也可参考官方的安装说明(可参考官方的安装说明(http:/ 74.(5)安装)安装mysql gem

    37、包。在命令提示符中包。在命令提示符中输入输入“gem install mysql”进行在线安装。进行在线安装。Page 75.至此至此Rails的安装过程就已经全部的安装过程就已经全部完成。在完成。在Linux下的安装也大同小异,主下的安装也大同小异,主要是安装要是安装Ruby和和mysql时略有不同,其他时略有不同,其他安装步骤都和安装步骤都和Windows下安装相同。下安装相同。Page 76.下面的章节将简单介绍一个关于温下面的章节将简单介绍一个关于温度的度的Rails物联网中间件实例。物联网中间件实例。Rails是一是一个网络应用框架,它可以很方便地处理各个网络应用框架,它可以很方便地

    38、处理各种应用请求,客户端和种应用请求,客户端和Rails服务器之间采服务器之间采用统一的用统一的REST接口,它们通过接口,它们通过HTTP协协议来向服务器端发送请求。议来向服务器端发送请求。Page 77.本示例的系统整体架构图如图本示例的系统整体架构图如图5-8所所示。在该示例中温度传感器也认为是示。在该示例中温度传感器也认为是Rails服务器的一个客户端,它会实时地向服务服务器的一个客户端,它会实时地向服务器端发送数据,服务器会把这些数据处理器端发送数据,服务器会把这些数据处理后保存到数据库中以供浏览器或其他客户后保存到数据库中以供浏览器或其他客户端调用。服务器的另一种客户端是浏览器端调

    39、用。服务器的另一种客户端是浏览器或是手机或是手机Widget应用,这些客户可以向服应用,这些客户可以向服务器端发送请求来获取自己所关心的数据务器端发送请求来获取自己所关心的数据。Page 78.本示例中采用本示例中采用REST的方式来进行服务器端的方式来进行服务器端的设计,我们将温度(的设计,我们将温度(temperature)看做一种资)看做一种资源,每个资源有相应的源,每个资源有相应的id、温度值、更新时间、温度值、更新时间、设备名称等信息。本示例中对于温度资源的操作设备名称等信息。本示例中对于温度资源的操作只包括只包括Put和和Get两种操作,这两种操作分别通过两种操作,这两种操作分别通

    40、过HTTP的的Post和和Get请求来完成。具体为温度传感请求来完成。具体为温度传感器通过器通过Post请求向服务器上传温度数据,而浏览请求向服务器上传温度数据,而浏览器通过器通过Get请求来从服务器获得温度数据的记录。请求来从服务器获得温度数据的记录。Page 79.对于对于REST中的其他资源操作如中的其他资源操作如Update、Destroy等操作在本示例中可以不需要,所以进等操作在本示例中可以不需要,所以进行了省略。行了省略。Ruby on Rails是支持所有的是支持所有的REST操操作的,可以通过作的,可以通过scaffold来进行实现。假定对于来进行实现。假定对于这种资源的这种资

    41、源的Put操作对应操作对应HTTP的的Post请求,请求请求,请求的的URL为为root_dir/temperature/post_temperature;获取资源的;获取资源的Get操作对应操作对应HTTP的的Get请求,请求的请求,请求的URL为为root_dir/temperature/index。Page 80.在此示例中采用在此示例中采用mysql数据库,其实数据库,其实由于由于Rails对于不同数据库接口有很好的封装对于不同数据库接口有很好的封装和适配,采用不同的数据库不会对代码产生和适配,采用不同的数据库不会对代码产生太大影响。针对该示例,数据库中只建立一太大影响。针对该示例,数

    42、据库中只建立一张表来进行数据的存储。表的结构如表张表来进行数据的存储。表的结构如表5-1所示,其中所示,其中id字段用于标识每条记录,字段用于标识每条记录,value字段记录温度值,字段记录温度值,time字段记录上传的时间字段记录上传的时间,device_id字段记录上传数据的设备标识。字段记录上传数据的设备标识。Page 81.idvaluetimedevice_idPage 82.(1 1)建立工程。)建立工程。建立一个名称为建立一个名称为smart_sensor的工程,首先的工程,首先在命令提示符中进入待建工程的目录,在此使用在命令提示符中进入待建工程的目录,在此使用F:example

    43、目录,然后输入目录,然后输入rails-database=mysql smart_sensor,如图,如图5-9所示。所示。Page 83.此时修改此时修改smart_sensorconfigdatabase.yml文件,在这个文件中会有文件,在这个文件中会有3个数据库配置选项,分个数据库配置选项,分别为别为development、test、production,在此只修改,在此只修改development选项即可,修改成如下格式。选项即可,修改成如下格式。development:adapter:mysqlencoding:utf8reconnect:falsedatabase:smart_s

    44、ensor_developmentpool:5username:rootpassword:mysqlhost:localhostPage 84.需要修改的主要是需要修改的主要是username和和password,修改成修改成mysql数据库的用户名和密码即可。然后在数据库的用户名和密码即可。然后在命令行根目录命令行根目录smart_sensor下执行下执行rake db:create来来建立数据库,数据库名称默认为建立数据库,数据库名称默认为smart_sensor_development,如图,如图5-10所示。下面所示。下面的命令如没有特别说明均是在的命令如没有特别说明均是在smart_

    45、sensor根目录根目录下执行的。下执行的。Page 85.下面需要建立基本的数据表,在下面需要建立基本的数据表,在Rails中数中数据表是由一个据表是由一个Model来管理的,可以用来管理的,可以用Rails的命令的命令来建立基本的来建立基本的Model。在根目录下输入。在根目录下输入ruby script generate model temperature,如图,如图5-11所示。所示。Page 86.此时在此时在dbmigrate目录下会生成一个目录下会生成一个xxx_create_temperatures.rb的文件,打开该的文件,打开该文件并修改成如下结果。这里主要是设置数文件并修

    46、改成如下结果。这里主要是设置数据表的各个字段的类型以及其他细节。据表的各个字段的类型以及其他细节。Page 87.class CreateTemperatures 4,:scale=1 t.datetime :time t.integer :device_id t.timestamps end end def self.down drop_table:temperatures endend 然后执行然后执行rake db:migrate命令将命令将temperatures表的结构写入数据库。表的结构写入数据库。Page 88.控制器的功能主要是对外部的请求进行处控制器的功能主要是对外部的请求进

    47、行处理并返回相应的结果。此处可以通过理并返回相应的结果。此处可以通过Rails的基本的基本命令来建立基本的控制器。在根目录下输入命令命令来建立基本的控制器。在根目录下输入命令ruby scriptgenerate controller temperature index,如图,如图5-12所示。所示。Page 89.class TemperatureController temperatures end end 然后修改然后修改appcontrollerstemperature_controller.rb文件文件以真正实现该示例需要的方法。在此我们将实现以真正实现该示例需要的方法。在此我们将实

    48、现index方法以输出所有的方法以输出所有的temperature数据,并且数据,并且增加一个添加数据的方法以把传感器发来的数据增加一个添加数据的方法以把传感器发来的数据存入数据库,具体修改如下。存入数据库,具体修改如下。Page 90.#process the post request and store the data in the database def post_temperature begin#construct an instance of Temperature a_temperature=Temperature.new(:value=params:value,:time

    49、=params:time,:device_id=params:device_id)#store a_temperature in the database a_temperature.save rescue#return Fail if fails store the data render:text=Fail return end#return OK if all success render:text=OK return endendPage 91.这里增加了两个方法,这里增加了两个方法,index和和post_temperature。其中。其中index方法用于输出方法用于输出当前存入数

    50、据库的所有温度的记录,当前存入数据库的所有温度的记录,post_temperature方法是用来处理传感器发方法是用来处理传感器发来的提交数据的请求,并把这些温度数据存来的提交数据的请求,并把这些温度数据存入数据库,执行成功则返回入数据库,执行成功则返回“OK”,否则,否则返回返回“Fail”。Page 92.在此因为在此因为index方法会返回一个方法会返回一个html文件,文件,来控制返回结果的显示。在来控制返回结果的显示。在Rails中会在中会在views目录目录下对返回的页面文件进行集中的管理。在此需要下对返回的页面文件进行集中的管理。在此需要修改修改appviewstemperatu

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:物联网技术与应用电子教案128课件.ppt
    链接地址:https://www.163wenku.com/p-5217603.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库