物联网智能家居----详细设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
详细设计
1 系统架构以及模块划分
系统架构图如下:
图1.1
根据系统架构图可以将系统划分为以下几个模块:
电脑远程控制、手机远程控制、语音控制、触屏和服务器端搭建、基于zigbee 的无线通信模块、终端模拟的实现。
根据模块的划分,初步估测项目的实物架构图如下:
2 模块的详细设计
2.1 无线通信模块
本次实践的无线通信是基于zigbee的无线模块,主要功能是实现点对点的通信即可。
大致程序流程如下:
图2.1
首先,mini2440需要将控制信号通过自己的串口传送到CC2430的串口寄存器U0DBUF,这个寄存器中一旦接收到数据就会自动转发数据,到一个中间变量中,变量中的数据经过radioSend()将数据广播出去;此时接收端的radioReceive()监听到来自发送端的信号,经Putchar()函数将数据再次送到串口寄存器U0BUF 中去,U0BUF再将数据传输给PC的串口,PC模拟端通过采集来自串口的数据,来获取信号。
2.2 电脑终端模拟模块
终端模拟是系统的空调和电灯的模拟,它的数据流图如下:
启动时,应有个start按钮。
点击start按钮,如果系统的串口配置无问题,那么程序就会开始不断的检测串口是否收到数据,程序可以采用微软提供的MSCOMM控件实现程序的串口通信工作,并用事件触发的形式来判断是否有数据到达串口,如果有数据到达则接受数据,并对数据进行分析,然后在模拟终端上进行体现。
其中控制信号编码如下:
表2.1
2.3 电脑远程模块
电脑远程控制端通过socket来实现,通过与控制中心建立TCP连接,然后将控制信息发送给控制中心的服务器,在通过服务器把控制信号发送给模拟终端来实现控制。
电脑远程控制的程序流程图如下所示:
当程序启动时,首先会要求输入服务器的IP地址和端口号,对于硬件环境,需要将电脑与控制中心的以太网接口用网线连接起来,如果程序能够成功的建立和服务器的连接,会提示连接成功,然后用户就可以通过界面上的按钮实现对模拟终端的控制。
2.4触屏控制模块
通过Qtopia开发一个图形界面并移植到开发板上,界面上有对空调、电灯实行控制的按钮,通过点击这些按钮串口发送相应的数据,数据通过无线传输模块传送到电脑终端模拟模块进行控制,触屏控制模块的程序流程图如下所示:
图2.4
在点击按钮发送数据进行控制之前,要保证电脑终端模拟模块已经开始监听串口,即点击Start按钮且没有提示错误信息,这样就可以保证触摸屏发送的数据可以被正确的接收以进行反应。