嵌入式项目书样本_第1页
嵌入式项目书样本_第2页
嵌入式项目书样本_第3页
嵌入式项目书样本_第4页
嵌入式项目书样本_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计课程名称:嵌入式设计设计题目:智能家居监控系统班级:2111学号:姓名:指引教师:完毕时间:/12/9哈尔滨工程大学教务处制

嵌入式设计报告智能家居监控系统班级:教师评语:教师签名:12月课程设计题目智能家居监控系统目和背景智能家居又称智能住宅,正朝着具备无线远程控制、多媒体控制、高速数据传播等功能方向发展,其核心技术为兼容性强家庭控制器和满足信息传播需要家庭网络。当前,传播网络多采用综合布线技术,限制了系统应用场合,并且费用较高,采用无线方式构建灵活便捷智能家居安全监控系统,成为当前主流趋势。当前,应用于智能家居无线通信技术重要涉及Ir-DA红外线技术、蓝牙技术和Zigbee技术等,Ir-DA属于短距离、点对点半双工通信方式,使用不便且失误率高,不合用于家庭组网方式;蓝牙技术则由于网络容量有限,成本较高,不适于节点较多家庭网络应用。本项目通过采用传播范畴适中、安全可靠、网络容量大Zigbee技术,设计智能家居远程监控系统。重要内容1)信息显示。2)照明控制。3)家电控制。4)入侵监测。5)烟感监测。6)温度、湿度监测。7)远程监控,数据透传。8)选项设立。采用工具办法硬件环境1:NEUEBD-ARM开发套件硬件环境2:CC2530开发套件软件环境:1.UCOS2.5.1,提供UCOS内核构建2.ADS1.2、IAR7.51,提供集成开发环境进度安排1-2天:完毕项目规定书、模块筹划书、系统设计书、RTM3-4天:完毕模块概要设计、模块概要设计书、模块接口定义书、模块间EVENT流和数据流系统图5-7天:完毕模块详细设计模块详细设计书8-13天:完毕模块代码模块代码

14-16天:完毕项目报告参照资料1目和背景智能家居又称智能住宅,正朝着具备无线远程控制、多媒体控制、高速数据传播等功能方向发展,其核心技术为兼容性强家庭控制器和满足信息传播需要家庭网络。当前,传播网络多采用综合布线技术,限制了系统应用场合,并且费用较高,采用无线方式构建灵活便捷智能家居安全监控系统,成为当前主流趋势。当前,应用于智能家居无线通信技术重要涉及Ir-DA红外线技术、蓝牙技术和Zigbee技术等,Ir-DA属于短距离、点对点半双工通信方式,使用不便且失误率高,不合用于家庭组网方式;蓝牙技术则由于网络容量有限,成本较高,不适于节点较多家庭网络应用。本项目通过采用传播范畴适中、安全可靠、网络容量大Zigbee技术,设计智能家居远程监控系统。2功能描述和模块设计图1:智能家居监控平台示意图LCD主菜单显示显示当前时间日期,电器开关状态,与否闹钟启动。显示顾客操作菜单。显示设立菜单。照明控制使用LED、AD(1个)硬件资源。使用LED可模仿家中重要房间照明。通过照明控制子菜单控制灯亮灭。如果启动了自动光控功能,通过AD采集光照参数可实现照明自动开关。此外可通过小键盘模仿电灯开关。家电控制使用LED硬件资源。通过家电控制子菜单对家中电器进行开关控制。相应家电开关信息以及闹钟与否启动都在LCD主菜单中有显示。通过设立菜单传递信息可定期开关电器以及实现闹钟功能。定期时间到LCD屏会自动弹出提示框并且家电状态发生变化。4)入侵报警控制使用红外传感器硬件资源。使用红外传感器或接近开关采集数据,判断有无人员进入室内。报警参数有默认值,也可由顾客设立,可通过设立功能完毕。如遇报警,报警信息在屏幕上显示,同步发出触发蜂鸣器报警。5)温湿度控制使用温湿度传感器硬件资源。使用温湿度传感器采集温湿度数据,将监测数据显示在LCD上。报警参数有默认值,也可由顾客设立,可通过设立功能完毕。如遇报警,触发蜂鸣器动作,同步启动空调。6)远程监控。终端系统将发生事件数据定期通过Zigbee传播到服务器,服务器可依照实际状况进行家电设备远端控制。7)设立功能完毕如下内容设立:哪些房间采用自动控制功能。3系统构造图2系统构造图图3通信合同框架图4设计参照框架4代码实现4.1模块实现4.1.1账户登录模块函数名称函数类型概要阐明lineEditTextChanged(QStrings)模块内部函数判断文本与否发生变化槽函数zeroClicked()~nineClicked()模块内部函数0~9数字输入键盘loginBtnClicked()模块外部函数登陆按键,进入主页面forgrtPasswordClicked()模块外部函数忘掉密码按键,进入密码修改页面4.1.2主界面模块函数名称函数类型概要阐明mainWidget2smartHomeAppliances()模块外部函数点击按钮进入智能家电模块。mainWidget2securityWidget()模块外部函数点击按钮进入安防系统模块。mainWidget2toolWidget()模块外部函数点击按钮进入工具娱乐模块。Back_clicked模块外部函数返回登陆界面。4.1.3智能家电模块函数名称函数类型概要阐明smartHomeAppliances2lightWidget()模块外部函数点击按钮进入灯控界面。smartHomeAppliances2waterHeaterWidget()模块外部函数点击按钮进入热水器控制界面。smartHomeAppliances2temperatureWidget()模块外部函数点击按钮进入空调控制界面。smartHomeAppliances2humidityWidget()模块外部函数点击按钮进入加湿器控制界面。smartHomeAppliances2curtainWidget()模块外部函数点击按钮进入窗帘控制界面。smartHomeAppliances2televisionWidget()模块外部函数点击按钮进入电视控制界面Back_clicked模块外部函数返回上一界面4.1.3.1灯控模块函数名称函数类型概要阐明lightTurnOn()模块外部函数点击按钮打开灯。lightTurnOff()模块外部函数点击按钮关闭灯Back_clicked模块外部函数返回上一界面4.1.3.2温度模块函数名称函数类型概要阐明changeSwitch(inta)模块内部函数显示空调开光状态。addTemClicked()模块内部函数显示空调温度。addTemClicked()模块外部函数点击按钮发送温度加信息。subTemClicked();模块外部函数点击按钮发送温度减信息。Back_clicked模块外部函数返回上一界面4.1.3.3湿度模块函数名称函数类型概要阐明showRh(intrh)模块内部函数显示当前湿度。changeSwitch(inta)模块内部函数显示当前开关状态。changeOnClicked()模块外部函数点击按钮发送开状态。changeOffClicked()模块外部函数点击按钮发送关状态。addBtnClicked();模块外部函数点击按钮发送湿度加状态。subBtnClicked();模块外部函数点击按钮发送湿度减状态。Back_clicked模块外部函数返回上一界面4.1.3.4热水器模块函数名称函数类型概要阐明showTem(inttem);模块内部函数显示当前温度。changeSwitch(inta)模块内部函数显示开关状态。changeOnClicked()模块外部函数点击按钮发送开状态。changeOffClicked()模块外部函数点击按钮发送关状态。addBtnClicked();模块外部函数点击按钮发送升高水温状态。subBtnClicked();模块外部函数点击按钮发送减少水温状态。Back_clicked模块外部函数返回上一界面4.1.3.5窗帘模块函数名称函数类型概要阐明showSlider(intti);模块内部函数显示窗帘位置。sliderValue(inta);模块内部函数读取窗帘当前位置。Back_clicked模块外部函数返回上一界面4.1.3.6电视模块函数名称函数类型概要阐明openTvClicked();模块外部函数点击按钮发送电视开信号。closeTvClicked();模块外部函数点击按钮发送电视关信号addVmeClicked();模块外部函数点击按钮发送音量+信号subVolumeClicked();模块外部函数点击按钮发送音量减信号addProgramClicked()模块外部函数点击按钮发送节目+信号subProgramClicked();模块外部函数点击按钮发送节目-信号Back_clicked模块外部函数返回上一界面4.1.4安防模块函数名称函数类型概要阐明securityWidget2infraredWidget();模块外部函数点击按钮进入红外报警。security2LockWidget();模块外部函数点击按钮进入远程控制门锁security2SmokeWidget();模块外部函数点击按钮进入烟雾报警Back_clicked模块外部函数返回上一界面4.1.4.1红外报警模块函数名称函数类型概要阐明showLocation(inta);模块内部函数显示触发位置changeOnClicked();模块外部函数点击按钮发送红外启动信号changeOfficked();模块外部函数点击按钮发送红外启动信号Back_clicked模块外部函数返回上一界面4.1.4.2烟雾报警模块函数名称函数类型概要阐明changeSmoke(int);模块内部函数显示当前烟雾浓度。Back_clicked模块外部函数返回上一界面4.1.4.3门锁控制模块函数名称函数类型概要阐明changeLockState(int);模块内部函数显示当前门锁状态changeOn()模块外部函数点击按钮发送门开状态changeOff();模块外部函数点击按钮发送门开状态Back_clicked模块外部函数返回上一界面4.1.5小工具模块函数名称函数类型概要阐明toolWidget2calendarWidget();模块外部函数点击按钮进入日历toolWidget2stopwatchWidget()模块外部函数点击按钮进入秒表toolWidget2cWidget()模块外部函数点击按钮进入计算器toolWidget2alarmWidget()模块外部函数点击按钮进入闹钟toolWidget2mianWindow()模块外部函数点击按钮进入画板toolWidget2gameWidget()模块外部函数点击按钮进入2048游戏toolWidget2clockWidget()模块外部函数点击按钮进入时钟4.1.5.1日历模块函数名称函数类型概要阐明selfinfowidget()模块内部函数显示医生个人基本信息,显示医生打卡时间。button_schedual_clicked模块外部函数点击按钮进入日程界面Select_cases模块外部函数选取代办事项,并显示代办事项详细内容Back_clicked模块外部函数返回上一界面4.1.5.2时钟模块函数名称函数类型概要阐明selfinfowidget()模块内部函数显示医生个人基本信息,显示医生打卡时间。button_schedual_clicked模块外部函数点击按钮进入日程界面Select_cases模块外部函数选取代办事项,并显示代办事项详细内容Back_clicked模块外部函数返回上一界面4.1.5.3闹钟模块函数名称函数类型概要阐明selfinfowidget()模块内部函数显示医生个人基本信息,显示医生打卡时间。button_schedual_clicked模块外部函数点击按钮进入日程界面Select_cases模块外部函数选取代办事项,并显示代办事项详细内容Back_clicked模块外部函数返回上一界面4.1.5.4秒表模块函数名称函数类型概要阐明startStopwatchClicked()模块内部函数秒表开始计时resetStopwatchClicked()模块内部函数秒表重新计时stopStopwatchClicked()模块内部函数秒表停止计时4.1.5.5画板模块函数名称函数类型概要阐明voidopen()模块内部函数打开图片voidsave()模块内部函数保存图片voidpenColor()模块内部函数变化画笔颜色voidpenWidth()模块内部函数变化画笔宽度voidpenBrush()模块内部函数笔刷4.1.5.6计算器模块函数名称函数类型概要阐明selfinfowidget()模块内部函数显示医生个人基本信息,显示医生打卡时间。button_schedual_clicked模块外部函数点击按钮进入日程界面Select_cases模块外部函数选取代办事项,并显示代办事项详细内容Back_clicked模块外部函数返回上一界面4.1.5.7小游戏模块函数名称函数类型概要阐明selfinfowidget()模块内部函数显示医生个人基本信息,显示医生打卡时间。resizeEvent(QResizeEvent*)模块内部函数窗口尺寸变化触发事件onScoreInc(int)模块内部函数解决分数增长信号槽函数onGameOver()模块内部函数解决游戏结束信号槽函数onWin()模块内部函数解决游戏获胜信号槽函数Main.c:#include<QApplication>#include<QTextCodec>#include"head.h"#include"openpassword.h"intsfd;voidinit_network();intmain(intargc,char*argv[]){QApplicationa(argc,argv);QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8"));QTextCodec::setCodecForLocale(QTextCodec::codecForName("utf-8"));QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8"));openPasswordw;w.show();init_network();returna.exec();}voidinit_network(){sfd=socket(AF_INET,SOCK_DGRAM,0);if(sfd<0){qDebug("socket()failed!");return;}structsockaddr_inaddr;bzero(&addr,sizeof(addr));addr.sin_family=AF_INET;addr.sin_port=htons(9999);addr.sin_addr.s_addr=htonl(INADDR_ANY);intret;ret=bind(sfd,(structsockaddr*)&addr,sizeof(addr));if(ret!=0){qDebug("bind()failed!");return;}}#include"mainwidget.h"#include"ui_mainwidget.h"#include"head.h"#include<QTime>//#include<QTimer>mainWidget::mainWidget(QWidget*parent):QWidget(parent),ui(newUi::mainWidget){ui->setupUi(this);ui->dateTimeEdit->setDate(QDate::currentDate());//ui->dateTimeEdit->setTime(QTime::currentTime());//QTimer*timer=newQTimer(this);connect(timer,SIGNAL(timeout()),this,SLOT(timeoutslot()));//timeoutslot()timer->start(1000);sha=newsmartHomeAppliances;sw=newsecurityWidget;tw=newtoolWidget;}mainWidget.c:mainWidget::~mainWidget(){deleteui;}voidmainWidget::show(){QWidget::show();showFullScreen();}voidmainWidget::mainWidget2smartHomeAppliances(){QPalettepalette;palette.setBrush(QPalette::Background,QBrush(QImage(":/new/prefix1/jiaju.png").scaled(size(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation)));sha->setPalette(palette);sha->setAutoFillBackground(true);sha->setAutoFillBackground(true);sha->show();//sha->show();}voidmainWidget::mainWidget2securityWidget(){QPalettepalette;palette.setBrush(QPalette::Background,QBrush(QImage(":/new/prefix1/anfang.png").scaled(size(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation)));sw->setPalette(palette);sw->setAutoFillBackground(true);//sw->setAutoFillBackground(true);//sha->show();sw->show();}voidmainWidget::mainWidget2toolWidget(){//tw->show();QPalettepalette;palette.setBrush(QPalette::Background,QBrush(QImage(":/new/prefix1/tool.png").scaled(size(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation)));tw->setPalette(palette);tw->setAutoFillBackground(true);tw->setAutoFillBackground(true);tw->show();}voidmainWidget::timeoutslot(){QDatedate=ui->dateTimeEdit->date();QTimetime=ui->dateTimeEdit->time();QTimetime1(23,59,59);if(time==time1){date=date.addDays(1);}time=time.addSecs(1);ui->dateTimeEdit->setDate(date);ui->dateTimeEdit->setTime(time)冰箱控制:#include"infraredwidget.h"#include"ui_infraredwidget.h"#include"head.h"infraredWidget::infraredWidget(QWidget*parent):QWidget(parent),ui(newUi::infraredWidget){ui->setupUi(this);}infraredWidget::~infraredWidget(){deleteui;}voidinfraredWidget::show(){QWidget::show();showFullScreen();}voidinfraredWidget::changeOnClicked(){structsockaddr_inpeer_addr;bzero(&peer_addr,sizeof(peer_addr));peer_addr.sin_family=AF_INET;peer_addr.sin_port=htons(INFRARED_PORT);peer_addr.sin_addr.s_addr=inet_addr(INFRARED_IP);inta=1;sendto(sfd,&a,sizeof(a),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));ui->textBrowser->append("");}voidinfraredWidget::changeOffClicked(){structsockaddr_inpeer_addr;bzero(&peer_addr,sizeof(peer_addr));peer_addr.sin_family=AF_INET;peer_addr.sin_port=htons(INFRARED_PORT);peer_addr.sin_addr.s_addr=inet_addr(INFRARED_IP);inta=0;sendto(sfd,&a,sizeof(a),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));ui->textBrowser->append("");}voidinfraredWidget::showLocation(inta){if(a==0){ui->textBrowser->append();}if(a==1){ui->textBrowser->append(");}}门锁控制:#include"lockwidget.h"#include"ui_lockwidget.h"#include<QLabel>#include<QAbstractButton>#include"head.h"lockWidget::lockWidget(QWidget*parent):QWidget(parent),ui(newUi::lockWidget){ui->setupUi(this);//rt=newrecvThread;//QObject::connect(rt,SIGNAL(lockStateChange(int)),//this,SLOT(changeLockState(int)));//rt->start();}lockWidget::~lockWidget(){deleteui;}voidlockWidget::show(){QWidget::show();showFullScreen();}voidlockWidget::changeOn(){//ui->btn1->setChecked(true);ui->lineEdit->setText("ThegateisON!");structsockaddr_inaddr;bzero(&addr,sizeof(addr));addr.sin_family=AF_INET;addr.sin_port=htons(7002);addr.sin_addr.s_addr=inet_addr("192.168.1.222");//intkind=5;////sendto(sfd,&kind,sizeof(kind),0,(structsockaddr*)&addr,sizeof(addr));intbool2=1;sendto(sfd,&bool2,sizeof(bool2),0,(structsockaddr*)&addr,sizeof(addr));//ui->label_2->setText("theGATEisOn!");}voidlockWidget::changeOff(){ui->lineEdit->setText("ThegateisOFF!");//ui->btn2->setChecked(true);//ui->label_2->setText("theGateisOFF!");structsockaddr_inaddr;bzero(&addr,sizeof(addr));addr.sin_family=AF_INET;addr.sin_port=htons(7002);addr.sin_addr.s_addr=inet_addr("192.168.1.87");//intkind=5;////sendto(sfd,&kind,sizeof(kind),0,(structsockaddr*)&addr,sizeof(addr));intbool2=0;sendto(sfd,&bool2,sizeof(bool2),0,(structsockaddr*)&addr,sizeof(addr));}voidlockWidget::changeLockState(intbool1){if(bool1==0){//ui->setupUi(this);//ui->Ui_lockWidget;//close();//show();//update();//repaint();ui->lineEdit->setText("theGATEisOFF!");//qApp->processEvents();//this->updateGeometry();//qDebug("recv1111");}elseif(bool1==1){//ui->btn1->setCheckable(true);//ui->btn1->setFocus();//ui->btn2->setChecked(false);//ui->btn1->setChecked(true);//ui->label_2->update();//ui->label_2->setText("theGATEisOn!");//this->changeOff();//this->changeOn();//ui->setupUi(this);//ui->retranslateUi(lockWidget);//update();ui->lineEdit->setText("theGATEisON!");//this->updateGeometry();//qDebug("recv2222");}}远程灯控:#include"lockwidget.h"#include"ui_lockwidget.h"#include<QLabel>#include<QAbstractButton>#include"head.h"lockWidget::lockWidget(QWidget*parent):QWidget(parent),ui(newUi::lockWidget){ui->setupUi(this);//rt=newrecvThread;//QObject::connect(rt,SIGNAL(lockStateChange(int)),//this,SLOT(changeLockState(int)));//rt->start();}lockWidget::~lockWidget(){deleteui;}voidlockWidget::show(){QWidget::show();showFullScreen();}voidlockWidget::changeOn(){//ui->btn1->setChecked(true);ui->lineEdit->setText("ThegateisON!");structsockaddr_inaddr;bzero(&addr,sizeof(addr));addr.sin_family=AF_INET;addr.sin_port=htons(7002);addr.sin_addr.s_addr=inet_addr("192.168.1.222");//intkind=5;////sendto(sfd,&kind,sizeof(kind),0,(structsockaddr*)&addr,sizeof(addr));intbool2=1;sendto(sfd,&bool2,sizeof(bool2),0,(structsockaddr*)&addr,sizeof(addr));//ui->label_2->setText("theGATEisOn!");}voidlockWidget::changeOff(){ui->lineEdit->setText("ThegateisOFF!");//ui->btn2->setChecked(true);//ui->label_2->setText("theGateisOFF!");structsockaddr_inaddr;bzero(&addr,sizeof(addr));addr.sin_family=AF_INET;addr.sin_port=htons(7002);addr.sin_addr.s_addr=inet_addr("192.168.1.87");//intkind=5;////sendto(sfd,&kind,sizeof(kind),0,(structsockaddr*)&addr,sizeof(addr));intbool2=0;sendto(sfd,&bool2,sizeof(bool2),0,(structsockaddr*)&addr,sizeof(addr));}voidlockWidget::changeLockState(intbool1){if(bool1==0){//ui->setupUi(this);//ui->Ui_lockWidget;//close();//show();//update();//repaint();ui->lineEdit->setText("theGATEisOFF!");//qApp->processEvents();//this->updateGeometry();//qDebug("recv1111");}elseif(bool1==1){//ui->btn1->setCheckable(true);//ui->btn1->setFocus();//ui->btn2->setChecked(false);//ui->btn1->setChecked(true);//ui->label_2->update();//ui->label_2->setText("theGATEisOn!");//this->changeOff();//this->changeOn();//ui->setupUi(this);//ui->retranslateUi(lockWidget);//update();ui->lineEdit->setText("theGATEisON!");//this->updateGeometry();//qDebug("recv2222");}}湿度检测:#include"humiditywidget.h"#include"ui_humiditywidget.h"#include"head.h"humidityWidget::humidityWidget(QWidget*parent):QWidget(parent),ui(newUi::humidityWidget){ui->setupUi(this);}humidityWidget::~humidityWidget(){deleteui;}voidhumidityWidget::show(){QWidget::show();showFullScreen();}voidhumidityWidget::showRh(intrh){ui->lcdNumber->display(rh);}voidhumidityWidget::changeSwitch(inta){if(a==1){ui->closeButton->setChecked(false);ui->openButton->setChecked(true);}elseif(a==0){ui->openButton->setChecked(false);ui->closeButton->setChecked(true);}}voidhumidityWidget::changeOnClicked(){structsockaddr_inpeer_addr;bzero(&peer_addr,sizeof(peer_addr));peer_addr.sin_family=AF_INET;peer_addr.sin_port=htons(HUMIDITY_PORT);peer_addr.sin_addr.s_addr=inet_addr(HUMIDITY_IP);inttype=1;sendto(sfd,&type,sizeof(type),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));inta=1;sendto(sfd,&a,sizeof(a),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));}voidhumidityWidget::changeOffClicked(){structsockaddr_inpeer_addr;bzero(&peer_addr,sizeof(peer_addr));peer_addr.sin_family=AF_INET;peer_addr.sin_port=htons(HUMIDITY_PORT);peer_addr.sin_addr.s_addr=inet_addr(HUMIDITY_IP);inttype=1;sendto(sfd,&type,sizeof(type),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));inta=0;sendto(sfd,&a,sizeof(a),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));}voidhumidityWidget::addBtnClicked(){intrh=ui->lcdNumber->intValue();rh++;if(rh>=100){rh=10;}ui->lcdNumber->display(rh);structsockaddr_inpeer_addr;bzero(&peer_addr,sizeof(peer_addr));peer_addr.sin_family=AF_INET;peer_addr.sin_port=htons(HUMIDITY_PORT);peer_addr.sin_addr.s_addr=inet_addr(HUMIDITY_IP);inttype=2;sendto(sfd,&type,sizeof(type),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));sendto(sfd,&rh,sizeof(rh),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));}voidhumidityWidget::subBtnClicked(){intrh=ui->lcdNumber->intValue();rh--;if(rh<=0){rh=0;}ui->lcdNumber->display(rh);structsockaddr_inpeer_addr;bzero(&peer_addr,sizeof(peer_addr));peer_addr.sin_family=AF_INET;peer_addr.sin_port=htons(HUMIDITY_PORT);peer_addr.sin_addr.s_addr=inet_addr(HUMIDITY_IP);inttype=2;sendto(sfd,&type,sizeof(type),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));sendto(sfd,&rh,sizeof(rh),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));}电视模块:#include"televisionwidget.h"#include"ui_televisionwidget.h"#include"head.h"televisionWidget::televisionWidget(QWidget*parent):QWidget(parent),ui(newUi::televisionWidget){ui->setupUi(this);}televisionWidget::~televisionWidget(){deleteui;}voidtelevisionWidget::show(){QWidget::show();showFullScreen();}voidtelevisionWidget::addProgramClicked(){structsockaddr_inpeer_addr;bzero(&peer_addr,sizeof(peer_addr));peer_addr.sin_family=AF_INET;peer_addr.sin_port=htons(TV_PORT);peer_addr.sin_addr.s_addr=inet_addr(TV_IP);inttype=2;sendto(sfd,&type,sizeof(type),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));intb=1;sendto(sfd,&b,sizeof(b),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));}voidtelevisionWidget::subProgramClicked(){structsockaddr_inpeer_addr;bzero(&peer_addr,sizeof(peer_addr));peer_addr.sin_family=AF_INET;peer_addr.sin_port=htons(TV_PORT);peer_addr.sin_addr.s_addr=inet_addr(TV_IP);inttype=2;sendto(sfd,&type,sizeof(type),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));intb=0;sendto(sfd,&b,sizeof(b),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));}voidtelevisionWidget::addVolumeClicked(){structsockaddr_inpeer_addr;bzero(&peer_addr,sizeof(peer_addr));peer_addr.sin_family=AF_INET;peer_addr.sin_port=htons(TV_PORT);peer_addr.sin_addr.s_addr=inet_addr(TV_IP);inttype=3;sendto(sfd,&type,sizeof(type),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));intc=1;sendto(sfd,&c,sizeof(c),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));}voidtelevisionWidget::subVolumeClicked(){structsockaddr_inpeer_addr;bzero(&peer_addr,sizeof(peer_addr));peer_addr.sin_family=AF_INET;peer_addr.sin_port=htons(TV_PORT);peer_addr.sin_addr.s_addr=inet_addr(TV_IP);inttype=3;sendto(sfd,&type,sizeof(type),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));intc=0;sendto(sfd,&c,sizeof(c),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));}voidtelevisionWidget::openTvClicked(){structsockaddr_inpeer_addr;bzero(&peer_addr,sizeof(peer_addr));peer_addr.sin_family=AF_INET;peer_addr.sin_port=htons(TV_PORT);peer_addr.sin_addr.s_addr=inet_addr(TV_IP);inttype=1;sendto(sfd,&type,sizeof(type),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));inta=1;sendto(sfd,&a,sizeof(a),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));ui->addProgram->setEnabled(true);ui->addVolum->setEnabled(true);ui->subVolum->setEnabled(true);ui->subProgram->setEnabled(true);}voidtelevisionWidget::closeTvClicked(){structsockaddr_inpeer_addr;bzero(&peer_addr,sizeof(peer_addr));peer_addr.sin_family=AF_INET;peer_addr.sin_port=htons(TV_PORT);peer_addr.sin_addr.s_addr=inet_addr(TV_IP);inttype=1;sendto(sfd,&type,sizeof(type),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));inta=0;sendto(sfd,&a,sizeof(a),0,(structsockaddr*)&peer_addr,sizeof(peer_addr));ui->addProgram->setEnabled(false);ui->addVolum->setEnabled(false);ui->subVolum->setEnabled(false);ui->subProgram->setEnabled(false);}热水器模块:#include"waterheaterwidget.h"#include"ui_waterheaterwidget.h"#include"head.h"waterHeaterWidget::waterHeaterWidget(QWidget*parent):QWidget(parent),ui(newUi::waterHeaterWidget){ui->setupUi(this);}waterHeaterWidget::~waterHeaterWidget(){deleteui;}voidwaterHeaterWidget::show(){QWidget::show();showFullScreen();}voidwaterHeaterWidget::showTem(inttem){ui->lcdNumber->display(tem);}voidwaterHeaterWidget::changeSwitch(inta){if(a==1){ui->closeButton->setChecked(false);u

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论