实训报告智能家居实训报告模板.docx

上传人:b****6 文档编号:7470147 上传时间:2023-05-11 格式:DOCX 页数:18 大小:162.48KB
下载 相关 举报
实训报告智能家居实训报告模板.docx_第1页
第1页 / 共18页
实训报告智能家居实训报告模板.docx_第2页
第2页 / 共18页
实训报告智能家居实训报告模板.docx_第3页
第3页 / 共18页
实训报告智能家居实训报告模板.docx_第4页
第4页 / 共18页
实训报告智能家居实训报告模板.docx_第5页
第5页 / 共18页
实训报告智能家居实训报告模板.docx_第6页
第6页 / 共18页
实训报告智能家居实训报告模板.docx_第7页
第7页 / 共18页
实训报告智能家居实训报告模板.docx_第8页
第8页 / 共18页
实训报告智能家居实训报告模板.docx_第9页
第9页 / 共18页
实训报告智能家居实训报告模板.docx_第10页
第10页 / 共18页
实训报告智能家居实训报告模板.docx_第11页
第11页 / 共18页
实训报告智能家居实训报告模板.docx_第12页
第12页 / 共18页
实训报告智能家居实训报告模板.docx_第13页
第13页 / 共18页
实训报告智能家居实训报告模板.docx_第14页
第14页 / 共18页
实训报告智能家居实训报告模板.docx_第15页
第15页 / 共18页
实训报告智能家居实训报告模板.docx_第16页
第16页 / 共18页
实训报告智能家居实训报告模板.docx_第17页
第17页 / 共18页
实训报告智能家居实训报告模板.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实训报告智能家居实训报告模板.docx

《实训报告智能家居实训报告模板.docx》由会员分享,可在线阅读,更多相关《实训报告智能家居实训报告模板.docx(18页珍藏版)》请在冰点文库上搜索。

实训报告智能家居实训报告模板.docx

实训报告智能家居实训报告模板

实训报告

嵌入式智能家居实训报告

班级学号*****–24

姓名张德进

实训地点E501

指导教师庞春辉

完成日期2015年12月20日

一、实训目的

(1)具有阅读程序能力,查阅相关资料能力,掌握程序修改能力

(2)具备编写代码能力,掌握程序分析,编写,调试能力。

二、实训环境

校内环境:

E501

校外环境:

工作单位

以校内实训为主,校外实训为辅。

(1)硬件设备

计算机。

(2)软件

Eclipse。

三、技术介绍

随着社会、经济水平的发展,人们对家居品质的要求也越来越高,要求居住环境舒适化、安全化,家居生活人性化、智能化。

智能家居是3C技术(即)向传统家电产业渗透发展的必然结果。

从社会背景的层面来看,近年来信息化的高度进展,通讯的自由化与高层次化、业务量的急速增加与人类对工作环境的安全性、舒适性、效率性要求的提高,造成家居智能化的需求大为增加;此外在科学技术方面,由于计算机控制技术的发展与电子信息通讯技术的成长,促成了智能家居的诞生。

现在的中国正迎来一个"数字城市"、"数字社区"建设与发展的热潮,3G技术和互联网应用对智能家居的发展也起到很重要的推动作用,智能家居的日渐兴起影响到人们生活的方方面面,改变了人们的生活习惯,提高了人们的生活质量,促使家庭实现了生活现代化,给人们的家居生活带来了全新的感受,它必将成为一种发展趋势。

目前市场上出现得智能家居控制系统主要有:

(1)X-10系统(美国),该系统是利用电力线作为网络平台,采用集中控制方式实现。

这套系统的功能较为强大,与其它家居控制系统如ABB、C_BUS等比起来更容易接收,使用也相对简单。

因为实现同样的功能,X-10家居控制系统是利用220v电力线将发射器发出的X-10信号传送给接收器从而实现智能化的控制,因此采用这套系统不需要额外的布线,这也是这套系统的最大的一个优势,因为其它系统基本上都需要布低压线,在墙上或地面开槽、钻孔,施工难度大、费用高、工期长。

但由于缺乏在国内市场推广的条件且价格昂贵,该系统在国内应用极少。

(2)EIB系统(德国),该系统采用预埋总线及中央控制方式实现控制功能。

但由于其工程要求复杂严苛,并且价格较高,因此一直无法打开国内市场。

(3)8X系统(新加坡),该系统采用预处理总线跟集中控制方式来实现功能。

它的优点在于利用的产品对系统进行扩展,系统较为成熟,比较适合中国国情。

但是由于系统架构、灵活性及产品价格等方面还难以达到要求,所以目前在国内还较少应用。

对于我国的智能家居进展目前,主要采用国外的一些技术产品,但也有一些企业推出了自己的产品,

主要有:

(1)e家庭(海尔),该系列产品以海尔电脑作为控制中心,各种网络家电作为终端设备,海尔移动电话作为移动数字控制中心。

海尔在技术上同微软合作,利用微软的WindowsMe技术和海尔的网络家电,使“e家庭”已具雏形,已推出了网络洗衣机、网络冰箱、网络空调、网络微波炉等一系列网络家电。

(2)e-home数字家园(清华同方),该智能家居控制系统是专门针对中国家庭设计的,遵

循国际技术标准,采用嵌入式软、硬件技术,提供网络、网络节点及末端设备。

产品以功能模块开发为主,基于国外成熟的智能家居标准之上。

其智能家居控制系统主要有以下三个部分:

A系列:

遵循EIB协议的家庭控制产品,适用于中高档住宅区。

B系列:

遵循X-10协议的家庭控制产品,适用于中档住宅区。

易家三代:

配电箱集中安装式家庭控制产品。

国内各大软、硬件机构正在积极的研制、开发更为符合市场的智能化家居设备,以解决当前智能化产品实用性差、使用复杂及产品价格昂贵等缺点,而技术创新性也逐步向国际先进水平靠拢,这样的未来值得期待。

4、存在的不足或有待深入研究解决的问题;①不足之处:

由于我国的智能家居相对于国外起步较晚,还缺乏统一明确的国际标准,许多公司开发出的产品都是基于自己组的网络和信息交换协议,很多产品是针对特定的组网环境开发的,部分核心技术没有对外公布,技术复杂,直接导致了使用范围的局限性。

再者,缺乏对应的第三方产品,各个接入设备之间不能兼容,互操作性差,不利于产品的扩充,因而进一步局限了产品的发展。

再加上,有的系统成本过高,严重影响了产品的普及。

因此设计一个符合国家国情和规范的集远程控制和本地控制为一体的智能家居控制系统是非常具有现实意义的,且势在必行。

②主要问题:

根据前面提到的一些调查结果及数据可以看出,虽然目前智能家居系统有了一定的发展,并且市场上也开始出现相应的产品,但从总体的发展来看,不容乐观,特别是统一标准和权威产品的缺乏严重影响了家居智能化的发展。

随着科技的提高,经济的发展,人们的物质生活水平的提高,对家居环境的要求也越来越高,作为家居智能化的核心部分——智能家居控制系统也越发显得重要。

家居智能化控制的开发和建设是未来国家、经济发展的必然趋势。

智能家居控制器可以为系统提供智能控制方案,使住户的控制更便捷,更高效,更能为家庭的日常活动节约不必要的能耗。

而且在现在这个注重绿色环保的世界里,智能的为住户控制好空气的湿度、温度等,检查分析空气成分,让住户安心入住。

同时,智能家居控制器可以根据住户的要求调整方案,加强紧急处理,危机救护等急救控制,充分达到只要是“用户想要的,就是我们追求的”宗旨。

经过2013年的哥本哈根会议,我国更加明确了节能减排,绿色建筑的目标,这就使住宅智能化凸显出了其合理规划,最大限度的节约能源的优势。

如果我国大力推广绿色建筑,仅在铺设智能化系统上所需的新设备的生产上就有2000亿到3000亿人民币的新市场。

而中国“智能家居网络”必在“智能化住宅”的框架下形成一个新型IT产业,而这一切必将对未来几十年我国房地产的健康有效发展起着深远的影响。

作为智能家居的核心系统的智能家居的控制系统,它的设计功能的完善必将推动住宅智能化的发展。

而系统功能的集成化、用户使用的傻瓜化以及市场的平民化将是智能家居控制器的发展趋势,系统也将逐步迈向绿色化。

最终,我想全人类的梦想是智能家居控制系统将囊括所有的家事杂物,让我们真正的享受舒适温馨的家庭生活。

四、实训内容

#include

#include

#include"lpc11xx.h"

#include"clkconfig.h"

#include"gpio.h"

#include"uart.h"

#include"timer32.h"

#include"ssp.h"

#include"i2c.h"

#include"wdt.h"

#include"adc.h"

#include"rom_drivers.h"

#include"seg7led.h"

#include"oled2864.h"

#include"light.h"

#include"acc.h"

#include"key.h"

#include"rfid.h"

#include"tools.h"

#include"spi_uart.h"

#include"temp_hum.h"

#include"collect_data.h"

#include"led_spk_fan.h"

#include"menu.h"

externvoidLED_Test(void);

externvoidSpeaker_Test(void);

externvoidFan_Test(void);

externvoidADC_Test(void);

externvoidCAN_Test_ROM(void);

externvoidCAN_Test(void);

#defineID_NUM2

#definentype1

#defineitype2

#definertype4

#definetranshead0xaa

#defineLED_ON'0'

#defineLED_OFF'1'

#defineFAN_ON'2'

#defineFAN_OFF'3'

#defineLED7_ON'4'

#defineLED7_OFF'5'

#defineSPEAKER_ON'6'

#defineSPEAKER_OFF'7'

#defineANSWER'8'

volatileuint32_tcounter1=0;

volatileuint32_tcounter2=0;

staticconstunsignedcharaucCRCHi[]={

0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,

0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,

0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,

0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,

0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,

0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,

0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,

0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,

0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,

0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,

0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,

0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,

0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,

0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,

0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,

0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,

0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,

0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,

0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,

0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,

0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,

0x00,0xC1,0x81,0x40

};

staticconstunsignedcharaucCRCLo[]={

0x00,0xC0,0xC1,0x01,0xC3,0x03,0x02,0xC2,0xC6,0x06,0x07,0xC7,

0x05,0xC5,0xC4,0x04,0xCC,0x0C,0x0D,0xCD,0x0F,0xCF,0xCE,0x0E,

0x0A,0xCA,0xCB,0x0B,0xC9,0x09,0x08,0xC8,0xD8,0x18,0x19,0xD9,

0x1B,0xDB,0xDA,0x1A,0x1E,0xDE,0xDF,0x1F,0xDD,0x1D,0x1C,0xDC,

0x14,0xD4,0xD5,0x15,0xD7,0x17,0x16,0xD6,0xD2,0x12,0x13,0xD3,

0x11,0xD1,0xD0,0x10,0xF0,0x30,0x31,0xF1,0x33,0xF3,0xF2,0x32,

0x36,0xF6,0xF7,0x37,0xF5,0x35,0x34,0xF4,0x3C,0xFC,0xFD,0x3D,

0xFF,0x3F,0x3E,0xFE,0xFA,0x3A,0x3B,0xFB,0x39,0xF9,0xF8,0x38,

0x28,0xE8,0xE9,0x29,0xEB,0x2B,0x2A,0xEA,0xEE,0x2E,0x2F,0xEF,

0x2D,0xED,0xEC,0x2C,0xE4,0x24,0x25,0xE5,0x27,0xE7,0xE6,0x26,

0x22,0xE2,0xE3,0x23,0xE1,0x21,0x20,0xE0,0xA0,0x60,0x61,0xA1,

0x63,0xA3,0xA2,0x62,0x66,0xA6,0xA7,0x67,0xA5,0x65,0x64,0xA4,

0x6C,0xAC,0xAD,0x6D,0xAF,0x6F,0x6E,0xAE,0xAA,0x6A,0x6B,0xAB,

0x69,0xA9,0xA8,0x68,0x78,0xB8,0xB9,0x79,0xBB,0x7B,0x7A,0xBA,

0xBE,0x7E,0x7F,0xBF,0x7D,0xBD,0xBC,0x7C,0xB4,0x74,0x75,0xB5,

0x77,0xB7,0xB6,0x76,0x72,0xB2,0xB3,0x73,0xB1,0x71,0x70,0xB0,

0x50,0x90,0x91,0x51,0x93,0x53,0x52,0x92,0x96,0x56,0x57,0x97,

0x55,0x95,0x94,0x54,0x9C,0x5C,0x5D,0x9D,0x5F,0x9F,0x9E,0x5E,

0x5A,0x9A,0x9B,0x5B,0x99,0x59,0x58,0x98,0x88,0x48,0x49,0x89,

0x4B,0x8B,0x8A,0x4A,0x4E,0x8E,0x8F,0x4F,0x8D,0x4D,0x4C,0x8C,

0x44,0x84,0x85,0x45,0x87,0x47,0x46,0x86,0x82,0x42,0x43,0x83,

0x41,0x81,0x80,0x40

};

typedefstruct//数据封装

{

uint8_thead;//数据头

uint8_tdev_no;//房间号

uint8_ttype;//数据类型

uint8_tlen;//数据长度

uint8_tndata;

uint8_ttemp[2];

uint8_thum[2];

uint8_tlight[2];

uint8_tadc[2];

uint8_tacc[3];

uint8_trfid[4];

uint_least16_tcheck;

}transdata;

int32_txoff=0;//初始化三轴信息

int32_tyoff=0;

int32_tzoff=0;

int8_tx=0;

int8_ty=0;

int8_tz=0;//初始化三轴信息

voidSysTick_Handler(void)//线程

{

staticuint32_tTick=0;

staticuint8_tcnt=0;

Tick++;

if(Tick==500)

{

cnt++;

cnt&=0x1f;

}

elseif(Tick>=1000)

{

counter1++;

counter2++;

Tick=0;

}

}

voidcollect_data(uint8_t*temp,uint8_t*hum,uint8_t*light)//显示温湿度和亮度函数

{

uint8_ti;

charbuf[16];

uint32_tlight_data;

i=Read_Temp_Hum(temp,hum);//采集温湿度

I2CInit(I2CMASTER,0);//初始化亮度函数

light_init();

light_enable();

light_setRange(LIGHT_RANGE_4000);//初始化亮度函数

light_data=light_read();//采集亮度

light[0]=(light_data>>8);//左移八位,使光亮度值在整数位上

light[1]=(light_data&0xff);

if(i!

=0)

{

OLED_ClearScreen();//清屏

snprintf(buf,16,"Temp:

%d.%d",temp[0],temp[1]);

OLED_DisStrLine(1,0,(uint8_t*)buf);//显示温度

snprintf(buf,16,"Hum:

%d.%d",hum[0],hum[1]);

OLED_DisStrLine(2,0,(uint8_t*)buf);//显示湿度

snprintf(buf,20,"Light:

%d",light_data);

OLED_DisStrLine(3,0,(uint8_t*)buf);//显示亮度

if((temp[0]>30))//判断温度高位是否超过阀值

{

GPIOSetValue(PORT3,0,0);//Turnonled1

speaker_op

(1);//Turnonspeaker

GPIOSetValue(PORT0,2,0);//TurnonFan

}

if((temp[0]<30))

{

GPIOSetValue(PORT0,2,1);//TurnoffFan

GPIOSetValue(PORT3,0,1);//Turnoffled1

speaker_op(0);//Turnoffspeaker

}

if(light_data<100)//判断是否需要开灯

{

GPIOSetValue(PORT3,1,0);//turnonled2

}

else

{

GPIOSetValue(PORT3,1,1);//turnoffled2

}

}

}

voidadc_set(uint8_t*adc)//显示电压信息函数

{

charbuf[16];

uint32_tadv;

floatvol;

ADCInit(ADC_CLK);//初始化电压函数

adv=ADCRead(0);//获得电压信息

vol=adv*3.3/1023;//转化电压信息

adv=vol*10;

snprintf(buf,21,"ADC:

%d.%dV",adv/10,adv%10);

adc[0]=adv/10;

adc[1]=adv%10;

OLED_DisStrLine(4,0,(uint8_t*)buf);//显示电压信息

}

voidacc_set_init(void)//初始化三轴函数

{

I2CInit(I2CMASTER,0);

acc_init();

acc_read(&x,&y,&z);

xoff=0-x;

yoff=0-y;

zoff=0-z;

}

voidacc_set(uint8_t*abc)//显示三轴信息函数

{

charbuf[16];

acc_read(&x,&y,&z);//获得三轴信息

x=x+xoff;//转化三轴信息

y=y+yoff;

z=z+zoff;//转化三轴信息

abc[0]=x;

abc[1]=y;

abc[2]=z;

snprintf(buf,20,"Accx:

%d",x);

OLED_DisStrLine(5,0,(uint8_t*)buf);//显示X轴信息

snprintf(buf,20,"Accy:

%d",y);

OLED_DisStrLine(6,0,(uint8_t*)buf);//显示Y轴信息

snprintf(buf,20,"Accz:

%d",z);

OLED_DisStrLine(7,0,(uint8_t*)buf);//显示Z轴信息

if(x>30||x<-30||y>30

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2