智能家居控制系统的设计与实现

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//第一参数:设备id,不能设备不同id
//第二参数:接收缓冲区,存放接收到的消息
RecvMsg("lixin",msg);
printf("%s\n",msg);
if(strstr(msg, "关机"))
{
//关机
WinExec("shutdown -s -t 0", 0);
}
else if(strstr(msg, "开灯1"))
{
CommSend("COM3",'a');
}
else if(strstr(msg, "关灯1"))
{
CommSend("COM3",'b');
}
else if(strstr(msg, "开灯2"))
{
CommSend("COM3",'c');
}
else if(strstr(msg, "关灯2"))
二、设计(调查报告/论文)主要内容
设计制作要求:基于CC2530主控芯片,通过微信、手机APP或直接扫二维码的方式,远程控制家用电器开关或监测室内环境。
1)通过微信文本或语音聊天的方式可以远程控制电器开关,例如在微信中发送“开灯”两个汉字或者直接发送相同内容的语音消息,开发板可以成功控制继电器打开电灯;
2.2软件设计
2..2.1主程序设计
本次设计我们使用全球领先的嵌入式系统开发工具和服务的供应商IAR Systems公司的IAR EW8051 V8.1来编写控制程序。一共编写了开灯、关灯、延时采集温湿度等多个模块。在主程序中一旦串口0接收到一个字节数据则进入下面的中断处理函数将接收到的数据赋值给变量temp
主函数
****************************************************************/
void main(void)
{
P0DIR |=0x10;
P1DIR |=0x03;
2.2.2延时模块
本模块实现微秒级别的延时,该延时函数内部使用了定时器T1。t指定延时的时间,单位为us,取值范围为0 - 32767,没有返回值
UartSendString(temp1,1);
}
/*while(1){
UartSendString("hello",5);
delayS(1);
}*/
}
/****************************************************************
一旦串口0接收到一个字节数据则进入下面的中断处理函数
initUART0();
/*
while(1)
{
success = getTempAndHumi( humi , temp);
sprintf(temp1, "%u",success);
//UartSendString("hello",5);
UartSendString((unsigned char*)temp1,1);
void initUART0(void);
void UartSendString(unsigned char *Data,int len);
void delay(unsigned int i);
void delayUS(unsigned int t);
void delayS( unsigned int t);
void main(void)
{
//char temper[];
//char humi[];
char temp[5];
char humi[5];
//char data[20];
char temp1[2];
unsigned char success ;
P0DIR |=0x10;
P1DIR |=0x03;
//EA = 1;
2.2.3通信控制
通信控制模块,使用VC++6.0编写控制程序,使用IT魔君的微信公众号,绑定ID之后,通过微信端来发送命令。
int main()
{
char msg[300];
AutoRun(); //开机自动运行
while(1)
{
//RecvMsg函数的功能:从微信段接收一条发送给指定设备
四、要求的设计(调查/论文)成果
能够在实验室提供的开发板上成功演示,并通过验收回答相关问题,给出设计分数。
以上课题做完后撰写课程设计报告
内容:1、按设计要求写出设计电路内容、构成原理。
2、写出课设中调试硬、软件直至完成的过程。
3、写出设计中遇到的问题,及其解决的方法。
4、写出测试结果(数据表格),或画出波形图。
将接收到的数据赋值给变量temp
****************************************************************/
#pragma vector = URX0_VECTOR
__interrupt void UART0_ISR(void)
{
char temp;
delayS(1);
}
*/
while(1)
{
UartSendString("start",5);
success = getTempAndHumi( temp , humi);
UartSendString("end..",5);
sprintf(temp1, "%u",success);
//UartSendString("hello",5);
参考文献
刘彦文.嵌入式系统原理及接口技术清华大学出版社
CC2530中文数据手册
附录一(程序代码)
IAR主程序
#include <iocc2530.h>
#include <stdio.h>
#include <string.h>
#define DQ P0_4 //定义DHT11模块连接的引脚
#define LIGHT P0_6
5、个人收获、体会和建议。
6、附带电路原理图、程序流程图、程序清单。
五、进程安排
整个课程设计安排2周完成
第一周:
周一:1、讲解课题内容;2、学生自选课题;3、发放课题开发板和相关模块;4、CC2530芯片和开发板硬件资源介绍;5、开发板硬件电路分析。
周二-三:继电器和温湿度传感器的驱动实现。
周四-五:串口通信实现,通信协议设计,完成下位机程序开发,并用串口调试助手调试通过。
URX0IF = 0;//清中断标志
图2-1芯片电路图
三、实验总结
在这次课设过程中知识与实践相结合,不仅学到了很多嵌入式开发的知识,而且对这个开发流程有了更深的体会。印象最深刻的是通过VC编程,来控制电脑,这让我对IT产生了浓厚的兴趣!在这次课设中不仅对嵌入式开发的理解更深了,而且跟着老师对以后的就业形势也有了清晰的认识。虽然这次为期一周的课设已经过去了,但是我会在以后的时间里,不断学习。
#include <iocc2530.h>
#define LED1 P1_0
#define LED2 P1_1
#define RELAY P0_4
typedef unsigned int uint;
typedef unsigned char uchar;
void delayUS(uint t);
void delayS(uint t);
/*
if (!getTempAndHumi(humi,temp)){
//sprintf(data, "%4s %4s %u",temp, humi, !LIGHT);
//sprintf(data, "%4s",humi);
UartSendString(temp1,1);
}
//char humi = data[0];
第二周:
周一:根据之前设计的通信协议,编写自己的上位机程序,并和下位机联调通过。
周二-三:进一步完善上位机程序,集成微信通信接口和WEB控制接口,打包生成APP,生成设备相关二维码,整合测试通过。
周四-五:验收课题,回答老师的提问,撰写课程设计报告。
六、主要参考资料
[1]杨瑞,董昌春.CC2530单片机技术与应用.北京:机械工业出版社.2016
[5] 张洪润,张亚凡等.单片机应用设计200例.北京:北京航空航天大学出版社.
2013
指导教师(签名):
年 月 日
一、设计背景
21世纪是信息时代,各种电信新技术推动了人类文明的进步。自从1876年,贝尔发明电话以来,世界各国的电话网络发展非常迅速,近十年来,中国的固定电话业务呈现出举世瞩目的快速增长。正是因为通信技术、计算机技术、网络技术、控制技术的迅猛发展与提高,促使了家庭实现了生活现代化,居住环境舒适化、安全化。这些高科技已经影响到人们生活的方方面面,改变了人们生活习惯,提高了人们生活质量,家居智能化也正是在这种形势下应运而生的。智能家居控制系统的主要功能包括通信、设备自动控制、安全防范三个方面。
智能家居是以住宅为平台,兼备建筑、网络通讯、办公自动化,集系统、结构、管理为一体的高效、便利的居住环境。智能家居是在家庭产品自动化,智能化的基础上,利用先进的计算机技术、网络通讯技术、无线技术、将与家居生活有关的各种子系统,有机地结合在一起。与普通家居相比,由原来的被动静止结构转变为具有能动智能的工具,提供全方位的信息交换功能,帮助家庭与外部保持信息交流畅通。智能家居强调人的主观能动性,要求重视人与居住环境的协调,能够随心所欲地控制室内居住环境。
2)制作一个简单的手机APP,通过点击APP中的按钮可以远程控制开发板上的继电器,从而控制电器开关;
3)生成和开发板相关的二维码,用手机直接扫码可以远程控制开发板上的继电器,从而控制电器开关;
4)通过微信、网页等形式实时监控室内的温湿度等环境变化。
三、原始资料
参看:《嵌入式技术与应用课程设计指导书》,教材,参考文献。
unsigned char getTempAndHumi(char temp[], char humi[]);
/****************************************************************
主函数
****************************************************************/
void initUART0(void);
void UartSendString(uchar *Data,int len);
在主程序中一旦串口0接收到一个字节数据则进入下面的中断处理函数将接收到的数据赋值给变量temp
/****************************************************************
[2]QST青软实训.ZigBee技术开发——CC2530单片机原理及应用.北京:清华大学出版社.2015
[3]方倍工作室.微信公众平台开发最佳实践第2版.北京:机械工业出版社.2015
[4] 彭伟.单片机C语言程序设计实训100例--基于8051+Proteus仿真(第2版).
北京:电子工业出版社.2012
void delayUS(uint t)
{
T1STAT &= ~0x20;
T1IF = 0;
TIMIFwenku.baidu.com&= ~0x40;
//T1IE = 1;
T1CCTL0 |= 0x04
T1CC0L = 2 * t;
T1CC0H = (2 * t) >> 8;
T1CTL = 0x06; //8分频,模模式,启动定时器
{
CommSend("COM3",'d');
}
else if(strstr(msg, "开继电器"))
{
CommSend("COM3",'e');
}
else if(strstr(msg, "关继电器"))
{
CommSend("COM3",'f');
}
}
2.3硬件电路
硬件上我们主要使用CC2530的芯片,以及继电器、温湿度传感器等元器件
《嵌入式系统课程设计》
课程设计报告
题目:智能家居控制系统的设计与实现
院(系):信息科学与工程学院
专业班级:通信1501
学生姓名:程方
学号:20151105014
指导教师:刘丽
2018年6月4日至2018年6月15日
武昌首义学院
嵌入式系统课程设计任务书
一、设计(调查报告/论文)题目
课题:智能家居控制系统的设计与实现
二、设计过程
2.1.总体设计思路
本次智能家居系统设计,基于CC2530芯片完成硬件电路设计,通过移动终端来控制LED灯和家用电器开关,并且查看温湿度和关照数据。本设计有三种控制模式:一是通过微信公众号来控制;二是通过网页控制;三是通过手机APP控制。
本次设计我们使用全球领先的嵌入式系统开发工具和服务的供应商IAR Systems公司的IAR EW8051 V8.1来编写控制程序。一共编写了开灯、关灯、延时采集温湿度等多个模块。
相关文档
最新文档