面向对象的蓝牙分布式智能家居网络
面向对象技术是一种面向数据流,并集模块化、数据抽象、信息隐藏和消息传递等诸多优点于一体,既适合于系统分析又适合于程序设计的工程技术。近几年来,面向对象技术无论是在理论上还是实践上都在飞速地发展。面向对象技术中最重要的就是"对象"的概念。这种"对象"具有一定的属性和方法,这里的属性指对象本身的各种特性参数。一个具体的对象可以有许多的属性和方法,面向对象技术的重要特点就是对象的封装性,对于外界而言,并不需要知道对象有哪些属性,也不需要知道对象本身的方法是如何实现的,而只需要调用对象所提供的方法来完成特定的功能。面向对象技术有以下的优点:维护简单,模块化是面向对象编程中的一个特征,实体被表示为类和同一名字空间中具有相同功能的类,可以在名字空间中添加一个类而不会影响该名字空间的其它成员;可扩充性,面向对象编程从本质上支持扩充性,如果有一个具有某种功能的类,就可以很快地扩充这个类,创建一个具有扩充的功能的类;代码重用,由于功能是被封装在类中的,并且类是作为一个独立实体而存在的,提供一个类库就比较简单了。
在蓝牙分布式智能家居网络中,信息交互和控制中心是蓝牙通信控制器。将面向对象技术应用于蓝牙分布式智能家居网络,就是在设计蓝牙通信控制器时,将程序中的对象与外部的应用对象实体相对应,通过建立程序对象与外部世界对象之间的对应关系以及程序中的函数与外部世界的过程之间的对应关系,可以为开发者提供方便的开发途径。面向对象技术与分布式家居网络系统的结合点就是端口对象通信模型。
在端口对象通信机制里,其通信的基本单位是端口对象PO(Port Object)。一个典型的PO对象如图2所示。
端口是端口对象之间信息交流的通道,按其功能可以分为三种类型: 即变量输入输出端口,它是端口对象间交换操作所需数据信息的接口;参数输入输出端口,它是端口对象间交换参数配置的接口,是系统动态重构的基础。消息输入输出端口,它是一个特殊的端口,是端口对象之间相互调用有关操作的接口。端口对象在本质上是一个消息处理机,它对由消息输入端口输入的消息作出响应,即调用相关操作,同时又可通过消息输出端口输出相应的消息以调用其它端口对象的操作。一个端口对象有多个内部状态和操作,其操作的调用遵循消息驱动的原则。但相对于其它对象而言,只有其外部端口是可见的。每个端口对象均属于某一个特定的端口对象类,该类中所有对象均具有相同的内部运行框架。端口对象支持继承机制,即子类可以继承父类的所有属性和操作,同时还可以有自己特有的属性和操作。
在蓝牙分布式智能家居网络中,蓝牙通信控制器是具有蓝牙功能的处理器,它采用单任务多线程并发执行模型,即单个应用程序可以划分为几个独立的任务,每个处理器上分配一个任务,但每个任务可以按照需要创建多个线程,分布在多个处理器上的多个线程相互作用,共同完成某一应用。线程之间通过共享对象进行通信。共享对象可以被任意蓝牙通信控制器上的线程访问,对该对象的访问(不包括对该对象的本地访问)称为模块间连接;而模型中的局部对象只能由本地蓝牙通信控制器上的线程访问,对局部对象的访问(包括对共享对象的本地访问)称为模块内连接。只有发生模块间连接时,蓝牙通信控制器之间才相互通信,从而减小了空中通信量。对于模块内连接,由于各模块支持并行处理,大大增加了处理效率。
蓝牙通信控制器是蓝牙分布式智能家居网络的核心,针对上述端口对象通信模型,通过蓝牙通信控制器来实现通信。蓝牙通信控制器之间通信模型如图3所示。
面向对象的蓝牙通信控制器主要由3层组成:硬件层,协议层,应用层。硬件层主要完成一些依赖于硬件的功能,包括无线信号收发、编解码等功能。端口对象通信机制将系统的硬件细节与上层的核心部分相隔离,当系统底层的硬件发生变化的时候,只需更改底层的硬件驱动,增强了系统的可移植性。协议层遵循蓝牙核心协议和蓝牙分布式智能家居网络所对应的协议子集(包括OBEX等)参考模型标准。应用层是实现分布式的关键。基于端口对象的通信机制在该层实现。
应用层主要由端口对象管理器、对象列表、过程接口、本地过程调用和远程过程调用模块组成。其结构如图4所示。端口对象管理器的任务是完成对端口对象的创建、删除、定位等管理工作,并为系统提供名字服务。过程接口是用户过程与应用层的接口,无论用户的过程调用是远程的或是本地的,对于用户来说是相同的。对调用的区分由过程接口来完成。它首先访问对象列表判断调
- 基于MCU的智能漏水检测系统设计(10-06)
- 远程自动控制系统在智能家居中的应用(10-16)
- 旧房安装智能家居 首选无线传输方式(03-03)
- 智能家居照明系统解决方案(02-11)
- 德州仪器(TI)的电冰箱解决方案(06-10)
- 智能家居多功能一体化触屏遥控器方案解析(11-02)