面向对象的蓝牙分布式智能家居网络
用的类型,再将该过程调用送到不同的过程调用模块去处理。本地过程调用模块处理模块内连接,它直接将本地调用转由本地执行并返回结果;只有那些模块间连接才由远程调用模块负责。远程调用模块负责将消息包装,与协议层进行通信。
图3 面向对象的蓝牙通信控制器通信模型
图4 应用层内部结构
在蓝牙通信控制器中,每个端口对象都有自己的名字和身份识别码(ID号),通过名字或ID都可以查询到该端口对象的相应信息。在系统初始化的时候,在每个蓝牙通信控制器上都由端口对象管理器建立端口对象列表,该列表包括局部对象列表和共享对象列表。对象列表保存了所有对象的名字和ID号的映射关系及其状态。对象的状态由系统动态更新。为了维护数据的一致性,在共享对象创建、删除和更新时,蓝牙通信控制器必须广播该消息,以使共享对象表保持一致。在蓝牙通信控制器中,无论是本地对象还是远程对象,都通过统一的过程接口来访问。过程接口通过查找对象表可以得到对象的ID号,通过ID号可以定位该对象的位置。若该对象位于本地,则过程接口将该进程传至本地过程调用模块,由该模块直接调用相应过程,并将结果通过过程接口返回用户调用。若该对象为远程对象,过程接口将该进程传至远程过程调用模块,由远程过程调用模块将相关参数包装,发送到远程蓝牙通信控制器,然后挂起等待远程蓝牙通信控制器的应答;远程蓝牙通信控制器在接收到请求后,通过协议层将消息上传至位于远程蓝牙通信控制器内的远程过程调用模块,将消息解包后,由远程模块的过程接口调用位于远程模块上的本地过程,处理完成后再将结果打包后回传给请求结点。请求结点在收到消息后,返回给调用进程就可以结束挂起状态,继续执行了。在运行过程中,对象的状态需动态更新,这样虽然会增加额外的通信开销,但是在共享对象状态需要频繁访问时,系统只需访问本地对象列表中的共享对象状态即可,无需发起通信过程。
结语
自上世纪末蓝牙技术面世以来,蓝牙技术的研究和蓝牙产品的开发引起了全世界的关注。将蓝牙技术应用于智能家居网络的研究也日渐兴起,由于家居设备安装的随机性,分布式蓝牙家居网络解决了蓝牙家居设备上网的"即插即用"问题。然而,由于蓝牙技术和分布式处理的一些固有特性,影响了分布式蓝牙智能家居网络的数据传输、处理速率和安全性。本文针对这些问题,将面向对象技术应用于分布式蓝牙智能家居网络的核心—蓝牙通信控制器,建立了通信及处理机制模型,分析表明该方案解决了分布式蓝牙智能家居网络的处理速率和安全问题,这将有助于推进分布式蓝牙智能家居网络的进一步发展。
- 基于MCU的智能漏水检测系统设计(10-06)
- 远程自动控制系统在智能家居中的应用(10-16)
- 旧房安装智能家居 首选无线传输方式(03-03)
- 智能家居照明系统解决方案(02-11)
- 德州仪器(TI)的电冰箱解决方案(06-10)
- 智能家居多功能一体化触屏遥控器方案解析(11-02)