基于蓝牙的智能家居网络设计Word格式文档下载.docx
《基于蓝牙的智能家居网络设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于蓝牙的智能家居网络设计Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
![基于蓝牙的智能家居网络设计Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-1/9/d3f22116-e874-4912-a637-d403b75cf952/d3f22116-e874-4912-a637-d403b75cf9521.gif)
第四章软件平台的搭建
蓝牙系统的无线通信数据帧格式
系统软件设计
4.2.1单片机端软件设计
4.2.2PC机端软件设计
4.2.3系统收发数据流程
第五章系统测试与分析
结论
参考文献
第一章绪论
课题研究背景
智能家居是以住宅为平台兼备建筑、网络通讯、信息家电设备自动化,集系统、结构、服务、管理为一体的舒适、高效、安全、便利、环保的家居环境。
目前在国内家庭信息网络和智能家居网络的研究和实施中,存在的几个关键问题:
1.2.1国外智能家居的发展状况
1.2.2国内智能家居的发展状况
1.2.3智能家居的未来发展趋势
课题研究的目的和意义
课题研究的内容
课题研究的主要内容具体如下
(1)智能家居控制器硬件的设计。
首先根据对智能家居控制器的具体要求例如功耗、成本、体积等,为其选择性价比比较高的CPU,然后分别对其各个动能模块进行硬件电路的设计与调试。
(2)智能家居控制器的软件的设计。
对现在的嵌入式操作系统进行研究和分析,为智能家居控制器选定一个操作系统。
完成嵌入式软件开发平台的搭建。
开发实际的应用软件和图形界面。
(3)家庭控制网络的实现。
在研究蓝牙协议的基础上,完成控制器与其他设备的基于蓝牙模块的通信。
调试病实现蓝牙的点对点、点对多通信,最贱模拟的家庭内部控制子网。
第二章.智能家居控制系统总体设计方案
智能家居网络实现的主要功能
智能家居王所要是实现的主要功能有:
对非智能家电的控制对现有家用电器和其他设备的控制、调节和检测,比如灯光、安防报警器、微波炉、洗衣机、自动门以及各种手动的开关和遥控器等。
2.2.1家居控制系统总体设计框图
图1.家居控制系统总体设计框图
蓝牙系统在实现的时候,一般分成两部分实现,一是硬件部分,它包括蓝牙协议栈的下三个层次,即无线收发、基础和链路客理层(LMP);
二是软件部分,它包括蓝牙协议栈的上层,即L2CAP、RFCOMM、SDP和TCS以及一些蓝牙技术应用。
由于每一个蓝牙设备都拥有一个全球唯一的地址码,因此可以利用该地址码方便的实现家居内电器设备的控制。
2.2.2蓝牙系统的硬件设计
目前,虽然家用电器并没有具有蓝牙功能,但一般采用的控制方式,所以在研究家居远程控制时,利用简单的微处理器控制系统代替家用电器设备,通过来实现与蓝牙模块之间的通信,从而模拟实现家用电器设备的蓝牙接入功能。
系统设计框图如图2所示,蓝牙模块采用ROK101007,微处理器采用。
图二.蓝牙模块的系统设计框图
2.2.3蓝牙系统的软件设计
在设计时,定义电器设备为从设备;
与PC机相连的模块为主设备。
处理器、PC机与ROK101007之间通过HCI(主机控制接口)来实现对其硬件的访问和控制。
具体的工作过程如下:
当处理器和主机控制器通信时,HCI层以上的协议在处理器上运行,而HCI层以下的协议由蓝牙主机控制器硬件来实现,它们通过HCI传输层进行通信。
由微处理器充当主机的角色,其主机软件工作在HCI之上,通过串口与HCI进行交互,调用HCI命令,处理HCI事件和数据分组。
处理器和主机控制器中都有HCI,它们具有相同的接口标准。
主机控制器中的HCI解释来自处理器的信息并将信息发向相应的硬件模块单元,同时还将模块中的信息(包括数据和硬件/固件信息)根据需要向上转发给处理器,从而完成蓝牙无线通信功能
第三章.硬件平台的设计
硬件模块介绍
3.1.1爱立信ROK101007蓝牙模块介绍
爱立信ROK101008是爱立信(Ericsson)公司出品的适用于短距离通信的无线基带模块,它集成度高、功耗小、完全兼容蓝牙1.0B协议规范,可嵌入到任何需要蓝牙功能的设备中。
它同时支持数据和语音的传输,输出功率满足Class2的要求。
它提供有UART、PCM接口,可方便地实现与主机之间的通信。
它在UART接口上的最高传输速率为460Kb/s,缺省波特率是57.6Kb/s,可支持的波特率为300、600,900,1200、2400,4800,9600、19200,38400157600,115200、230400,460800bit/s,并有一个128字节的FIFO队列111。
ROK101008的系统结构图如图4.2所示。
处于模块底层的是无线层(Radio)和基带)县(Baseband),以硬件的形式存在;
处于模块中上层的,是链路管理器(LM)和HCI,以固件的形式存在。
图.爱立信ROK101008蓝牙模块系统结构图
ROK101008由基带控制器(Baseband)、快闪式存储器(FlashMemory)、无线
电收发器(PBA31301/2)、电压调节器(VoltageRegulation)、13MHz晶振(13MHzCrystal)共5部分组成【12J,其内部结构框图如图4.3所示。
①基带控$1J-器(Baseband):
是一个以ARM7一Thumb为基础的的芯片,通过接口控制无线电收发器的运行。
ROK101008的基带控制器提供UART和PCM两种接口。
②快闪式存储器r(FlashMemory):
闪存和基带控制器同时使用。
③无线电收发器(PBA31301/2):
PBA31301/2是短距离微波无线电收发器其天线滤波器、RX和TX不平衡变压器都集成在电路中,可作为嵌入式结构应用。
④电压调节器:
(VoltageRegulation):
Vcc典型值是3.3V,产生两个可调电压。
⑤13MHz晶振(13MHzCrystal):
晶振提供频率为13MHz的内置时钟。
3.1.2单片机C8051F120简介
微控制器(MCu)是蓝牙应用系统的核心,它的选择将直接影响到系统的性能。
C8051F120是Cygnal公司的一种与8051兼容的高速SOC单片机,它具有高速CIP.51内核、灵活的I/O交叉开关、先进的时钟系统、JTAG系统调试接口以及多源复位系统。
它性能卓越,内核采用流水线结构,速度可达100MIPS,比普通的51快40倍,而且在资源丰富、体积小、功耗低、集成度高且调试方便。
下面列出了它的一些主要特性:
●高速、流水线结构的8051兼容的CIP.51内核;
●真正8位500ksps的ADC,带PGA和8通道模拟多路开关;
●2周期的16×
16的乘法和累加引擎;
●8448(8K+256)字节的片内RAM;
●可寻址64K字节地址空间的外部数据存储器接口;
●硬件实现的SPI、SMBus/12C和两个UART串行接El[10l;
●5个通用的16位定时器;
●具有6个捕捉/比较模块的可编程计数器/定时器阵列;
●FLASH存储器具有在系统中重新编程能力,可用于非易失性数据存储,并允许现场更新固件;
●片内JTAG调试电路允许非侵入式(不占用片内资源)、全速、在系统测试;
●可在工业温度范NI(.45"
C一+85。
c)N用2.7V~3.6V的电压工作。
●C8051F120为100脚TQFP封装。
系统蓝牙终端构成
本课题采用单片机C805F120通过UART连接爱立信ROK101008蓝牙模块。
简单的连接示意图如图所示,图中的①、②、③分别标出了连接中需要注意的3个地方。
图.单片机C8051F120通过UART连接蓝牙模块示意图
系统蓝牙前端构成图
前端系统通过RS232将蓝牙模块与PC连接。
这里只需要MAX232电平转换简单连接即可,其硬件原理如图所示
图.前端硬件构成图
第四章.通信系统软件模块
蓝牙系统的无线数据通信帧格式
为了避免同频干扰的问题,系统采用时分TDMA(TimeDivisionMultipleAccess)复用技术,把系统主机与任意一台从机之间的通信采用时分的方式分开,主机通过扫描的方式与各从机进行点对点通信。
(1)无线通信数据帧格式无线通信协议的首要任务就是能够识别噪声和有效数据。
本系统的通信方式主要是蓝牙模块之间的无线通信和主机与PC机之间的串行通信格式。
图2所示的是系统的无线通信数据格式。
其中图(a)是主机发送命令时的数据帧格式。
通常连接传感器的从机处于“待命”状态,当接收到引导字时,各从机都准备分析地址信息,若接收的地址信息与本机地址相符,则执行命令字,否则继续待命。
在系统调试中发现0xFF后跟0XAA在噪声中出现的概率很小,所以,我们在传输协议的数据包前加“0xFF+0xAA”的引导字。
接收协议约定只接收以0xFF后跟0xAA开始的数据包。
图.系统无线通信帧格式
系统的软件设计分为单片机端软件设计和PC端软件设计两大块。
4.2.1单片机端软件设计
单片机端软件采用嵌入式C语言的编程,开发环境为Keil,主要工作有两部分,分别是蓝牙基本数据传输模块的实现和蓝牙文件传输模块的实现。
(1)蓝牙基本数据传输模块的实现
此部分软件包括初始化、蓝牙交互、处理数据三个部分。
初始化包括系统初始化和蓝牙初始化。
系统初始化包括系统时钟初始化、管脚分配、串口初始化、定时器初始化等,蓝牙初始化是通过UART给蓝牙模块发送一系列初始化指令,蓝牙模块返回事件,交互完成一系列的复位、鉴权、读地址等初始化操作。
蓝牙交互就是初始化完成后,若本地蓝牙作从设备,则等待远端蓝牙设备的建链请求,如果接受请求,则继续等待建链成功,获得一个连接句柄,从而即可进行数据交换;
若本地蓝牙作主设备,则进行一系列主动查询、建链、发送数据、断链等操作。
处理数据就是将有效数据提取出来显示在液晶上或转存到相应位置等一系列
后续操作。
需要注意的是,在程序的主循环中,需要实时判断串口接收缓冲区是否有数据,有数据则调用HCI状态机进行处理。
程序流程如图所示。
图.从机数据处理程序流程
4.2.2PC端软件设计
PC端采用面向对象的C++编程,在VC抖6.0开发平台下实现了基于蓝牙HCI层通信的基本数据传输和文件传输的控制程序。
PC端操作系统为XP,采用的蓝牙设备为蓝牙USB适配器,适配器内嵌蓝牙芯片为CSR(CambridgeSiliconRadio)公司的BlueCore04。
蓝牙USB适配器和PC之间通过USB接口进行连接和通信,因而数据的传输利用的是蓝牙HCIUSB传输层。
图.PC端数据传输软件流程图
4.2.3数据收发流程
数据在传送之前需要进行相应处理。
需要将主要数据分割成一定格式的数据,并增加诸如纠错等一些额外的信息(开销比特),这个过程叫打包。
解包是将有效的数据从噪声和随机数据中区别出来的过程。
解包程序的好坏直接影响到系统识别有效数据的能力。
解包程序应能有效地辨别正确数据,降低误码率,提高系统通信速率。
数据发送、接收程序流程图如图6所示
图.数据收发流程图
在蓝牙数据传输系统中,PC端和单片机端可分别作为主或从设备。
在此处,
将PC作为主设备发起查询,单片机端作为从设备,PC向单片机发送控制指令。
图蓝牙数据传输系统PC端界面
程序的操作按照打开蓝牙设备、初始化蓝牙、查询附近蓝牙、建立连接、发
送数据/文件、断开连接、关闭蓝牙的顺序进行,由操作区的按钮触发实现。
蓝牙
初始化完成后,在信息区会显示本地蓝牙地址,查询完成之后,在信息区会显示
查询到的远端蓝牙地址,然后就可以发起建立连接。
在建立连接指令中可通过参
数设置不同的ACL分组类型,例如DMl、DM3等。
不同的ACL分组类型对应不
同的时隙,可得到不同的传输速率和最大传输距离阎。
连接建立成功后信息区“蓝
牙状态"
会显示连接已建立,方可发送数据和文件。
在数据的收发过程中,在信
息区还会显示发送计数、接收计数以及当前可发送的ACL包数目。
在进行文件传送时,首先要点击“请求发送文件”按钮,获得单片机端返回
允许信息后,再进行加载文件、发送文件信息、发送文件数据等一系列操作。
文
件发送完之后或要中断文件发送时要点击“发送文件结束”按钮,通知单片机端
文件传送结束。
单片机端的程序运行界面如图所示。
图单片机端程序界面
实验台加电后,进入蓝牙数据传输实验模块,选择主/从角色为从设备,然后按下初始化本地蓝牙按键。
蓝牙初始化完成后实验台显示本地蓝牙地址,蓝牙模块处于工作状态。
注意此时单片机端系统功耗会明显上升,因而系统要采用稳压电源以保证工作正常。
待PC端查询到单片机端蓝牙设备并建立连接完成后,实验台提示连接完成并显示远端蓝牙(即PC端蓝牙)地址,此时在PC和单片机之间就可以进行数据的收发。
实用、简单、人性化智能家居控制系统的研究与设计,已成为一项涉及自动化、计算机、通信、建筑等多学科交叉研究课题。
设计的系统旨在为人们提供一种舒适、安全、高效、快捷、智能、时尚的生活,本文的研究成果主要为:
尽管在本课题中基本实现了智能家居控制器的基本功能,本系统还存在如下几个方面有待改进、扩展,应作为下一步工作的研究重点:
(1)由于家庭只能怪的电磁环境越来越复杂,各种干扰都会对智能家居控制系统造成一定的影响,因此还需要对智能家居控制系统的可靠性、安全性做进一步的测试和验证。
(2)只涉及到对智能家居控制系统的现场控制,在接下来的工作小红,需要研究如何通过互联网实现对智能家电进行远程控制。