**学院物理与电子科学学院
电子信息工程专业实训报告
智能家居实训
学 生:丁*鹏、马*、龚*娜、蒋*菊、程*辉
学 号:201903******、201903******、 201903******、201903******、
201903******
专 业:电子信息工程
班 级:2019级电子信息工程(2)班
指导教师:张豪
实训时间:2022.5. 23 - 2022. 5. 26
成员分工及职责表
负责人:丁武鹏
成员:马倩、龚旭娜、蒋煜菊、程开辉
成员具体分工如下表所示:
姓名 | 学号 | 负责任务 |
丁*鹏 | 201903****** | 负责协调团队成员做好自己的本职工作,引领团队取得成功 |
马* | 201903****** | 主要负责代码编写、环境搭建 |
龚*娜 | 201903****** | 撰写项目报告 |
蒋*菊 | 201903****** | 主要负责对代码的调试 |
程*辉 | 201903****** | 主要负责PPT的编写与讲解 |
目 录
第1章 引言
-
- 编写目的
为确保本系统的开发工作顺利进行,特将项目的需求及开发了作中所涉及的相关问题以书面形式加以约定,并作为项目开发工作的基础性文件,以便项目团队根据本计划书开展和检查工作。
1.2 项目背景
1.随着3C(Computer ,ConsumerElectronic,Communication)技术、网络技术及家居智能化技术的不断发展及其在家居领域的不断深入应用,未来的家庭将是智能化、数字化、网络化的家庭,智能家居系统也随之应运而生。
2、智能家居是人们的一种居住环境,其以住宅为平台安装有智能家居系统,实现家庭生活更加安全,节能,智能,便利和舒适。以住宅为平台,利用综合布线技术、网络通信技术、智能家居-系统设计方案安全防范技术、自动控制技术、音视频技术将家居生活有关的设施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安全性、便利性、舒适性、艺术性,并实现环保节能的居住环境。
3、智能家居又称智能住宅,在国外常用Smart Home 表示。智能家居是利用先进的计算机技术、网络通讯技术、综合布线技术、依照人体工程学原理,融合个性需求,将与家居生活有关的各个子系统如安防、灯光控制、窗帘控制、煤气阀控制、信息家电、场景联动、地板采暖等有机地结合在一起, 通过网络化综合智能控制和管理,实现“以人为本”的全新家居生活体验。
第2章 项目设计方案
2.1 开发平台
QT、虚拟机、win7终端
2.2 开发语言
C语言
2.3 硬件开发平台
ARM开发板、计算机、摄像头
2.4 设计实现方案
搭建服务器:
1.创建监听套接字
2.绑定ip及其端口号
3.开启监听
4.处理客户端连接请求
5.数据交互
2.5 软件流程图
第3章 项目设计实现
3.1 主程序设计
代码:
void Widget::get_ans(QNetworkReply *re)
{
QByteArray buf = re->readAll();
QJsonDocument doc = QJsonDocument::fromJson(buf);
QJsonObject obj = doc.object();
if(obj.contains("result"))
{
QJsonArray arr = obj.value("result").toArray();
QString ans = arr[0].toString();
ui->lineEdit->setText(ans);
if(ans=="开启摄像头。")
{
my_timer->start(50);
}
else if(ans=="关闭摄像头。")
{
my_timer->stop();
}
else if(ans=="关灯。")
{
char cmd_buf[10] = "led_off";
my_sock_cmd->write(cmd_buf,sizeof(cmd_buf));
}
else if(ans=="开灯。")
{
char cmd_buf[10] = "led_on";
my_sock_cmd->write(cmd_buf,sizeof(cmd_buf));
}
}
}
void Widget::on_pushButton_5_clicked()
{
char cmd_buf[10] = "pwm_on";
my_sock_cmd->write(cmd_buf,sizeof(cmd_buf));
}
void Widget::on_pushButton_6_clicked()
{
char cmd_buf[10] = "pwm_off";
my_sock_cmd->write(cmd_buf,sizeof(cmd_buf));
}
void Widget::on_pushButton_11_clicked()
{
char cmd_buf[10] = "led_on1";
my_sock_cmd->write(cmd_buf,sizeof(cmd_buf));
}
void Widget::on_pushButton_12_clicked()
{
char cmd_buf[10] = "led_off1";
my_sock_cmd->write(cmd_buf,sizeof(cmd_buf));
}
void Widget::on_pushButton_7_clicked()
{
char cmd_buf[10] = "led_on3";
my_sock_cmd->write(cmd_buf,sizeof(cmd_buf));
}
void Widget::on_pushButton_10_clicked()
{
char cmd_buf[10] = "led_off3";
my_sock_cmd->write(cmd_buf,sizeof(cmd_buf));
}
void Widget::on_pushButton_8_clicked()
{
char cmd_buf[10] = "led_on4";
my_sock_cmd->write(cmd_buf,sizeof(cmd_buf));
}
void Widget::on_pushButton_9_clicked()
{
char cmd_buf[10] = "led_off4";
my_sock_cmd->write(cmd_buf,sizeof(cmd_buf));
}
3.2 程序运行效果
第4章 总结与体会
本次的实训主要任务是智能管家实训系统的设计与实现,系统中利用arm开发板做服务器,将制作的客户端与之连接,实现对LED、蜂鸣器和摄像头的智能语音控制,并在实验室环境中做了大量的测试,程序运行良好。总之,用Linux系统设计分析智能管家,有利于提升基于物联网智能管家系统设计水平,促进在实际中的推广应用,具有积极作用和价值意义。通过一周的学习,学到了很多专业知识,为我们今后的学习和工作起到了重要的作用。