《2022年物联网智能家居系统实训报告 .pdf》由会员分享,可在线阅读,更多相关《2022年物联网智能家居系统实训报告 .pdf(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、天津电子信息职业技术学院综合实训报告课题名称智能家居整体设计姓名学号班级物联 S14-1 专业物联网应用技术所 在 系网络技术系指导教师完成日期2016.12.2 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 20 页 - - - - - - - - - 实习时间: 2016-11-2017-4 实习地点:天津圣象网络科技有限公司摘要:在上世纪90 年代物联网概念雏形已基本形成,至今通过20 年的发展物联网技术已逐步深入到我们的生活当中,物联网技术是以利用计算机、通信、
2、网络、电力自动化、信息、结构化布线、无线等技术将所有不同的设备应用和综合功能互联为一体的系统。然而智能家居在物联网技术的背景下又得到了进一步发展,它是以住宅为平台,兼备网络建筑、网络家电、通信、家电设备自动化、远程医疗、家庭办公、娱乐等功能,集系统、结构、服务、管理为一体的安全、便利、舒适、节能、娱乐、高效环保的居住环境。其从控制层次上来分一般有中央控制中心、家居智能控制终端、小区智能控制系统、家庭网关和外部网络几个部分组成。关键字:物联网智能家居安全控制名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -
3、- - - - 第 2 页,共 20 页 - - - - - - - - - - 1 - 目录一、方案背景 - 2 -二、总体结构和功能特点 - 2 -1、智能家居系统总体结构 - 2 -2、智能家居系统总体功能 - 2 -三、智能家居给生活带来的便利 - 3 -四、技术介绍 - 3 -五、实训内容 - 6 -六、实习心得 - 18 -名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 20 页 - - - - - - - - - - 2 - 一、方案背景智能家居概念的起源很
4、早,但一直未有具体的建筑案例出现;直到1984 年美国联合科技公司 (United Techno1ogies Building System)将建筑设备信息化、整合化概念应用于美国康乃迪克州 (Conneticut)哈特佛市 (Hartford)的 CityPlaceBuilding时,才出现了首栋的“智能型建筑” , 从此也揭开了全世界争相建造智能家居的序幕。经过多年的需求累积,目前通常把智能家居定义为利用计算机、网络和综合布线技术, 通过家庭信息管理平台将与家居生活有关的各种子系统有机地组合成一个系统。具体来说,就是首先在一个家居中建立一个通讯网络,为家庭信息提供必要的通路, 在家庭网络操
5、作系统的控制下, 通过相应的硬件和执行机构, 实现对所有家庭网络上的家电和设备的控制和监测。其次,它们都要通过一定的网络平台,构成与外界的通讯通道,以实现与家庭以外的世界沟通信息,满足远程控制、 监测和交换信息的需求。 最终达到满足人们对安全、舒适、方便和绿色环保的需求。二、总体结构和功能特点1、智能家居系统总体结构主要有智能安防监控、智能家电控制、智能娱乐服务、智能灯光控制、可视对讲系统、远程监控系远程医疗监护、网络教育等模块2、智能家居系统总体功能(1)安防监控:包括各种报警探测器的讯息采集,开关门报警等如无线门磁、无线紧急按钮、无线红外动作探测器、无线煤气探测、无线火警探测等,并完成与住
6、宅小区物业管理和110报警的联网。(2)家电控制:利用计算机、移动电话、 PDA 通过高速宽带接入Internet,并对灯具、窗帘、空调、冰箱、电视、洗衣机等家用电器进行远程控制、定时控制。(3)家居商务和办公: 实现网上购物、 网上商务联系、视频会议。基于 Internet的电子商务使每天的工作事务变得更加容易和简单。网上娱乐同样简单方便。 如:家庭影院、无线视频传输系统、在线视频点播、交互式电子游戏等,在智能家居中,你可以和家庭成员或其它游戏爱好者一起通过计算机、电视、甚至可以用PDA 在线玩各种网络游戏。(4)背景音乐:在居室的任何一间房里,包括厨房、卫生间和阳台,均安装背景音乐线,通过
7、多个音源,可以让每个房间都听到美妙的背景音乐。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 20 页 - - - - - - - - - - 3 - (5)家庭医疗保健和监护:利用Internet,实现家庭的远程医疗和监护。Internet在智能家居医疗保健中的作用有很大的潜力,不仅助您身心更加健康, 而且会降低医疗保健成本。每天,你都可以在家中将测量的血压、体温、脉搏、葡萄糖含量等参数传递给医疗保健专家, 并和医疗保健专家在线咨询和讨论,省去了许多在医院排队等候的麻烦
8、。而对于家有老人和孩子的家庭,配备求助系统(按键),保障家人的健康和安全。(7)讯息服务: 通过 Internet可在任何时间任何地点获得和交换讯息,讯息传输可以以多种形式,从静态文本、图形到动态的音频、视频讯息。同时,Internet 改变了人们的通讯交流方式, 使人们能通过文本、 图形、多媒体迅速地沟通讯息。 E-mail、短讯息、聊天室等通讯方式对生活产生了很大影响;在旅行中父母可使用聊天工具和视频会议工具保持和孩子联系。在智能家居中,您还可以用手提电话或PDA 通过无线网络收发 E-mail,接受最新的股市行情。(8)网络教育。网络教学将课堂带进了家庭,可帮助老师巩固课程,激发孩子们的
9、好奇心。 现在学校和 家长通过家居中的基于Internet的教育工具可以合作得更加紧密,并在家庭和课堂之间建立了桥梁。同时,在智能家居中,不管那个年龄段的人都可以享受教育资源,可进行终生教育和学习。三、智能家居给生活带来的便利1、省费用:不需要时,家中能源消耗设备可以自动关闭,这样可以降低您的生活费用。2、用方便:智能化系统提供远程遥控接口,在您外出时,还可以通过电话或上网来调整和控制家电设备。3、全性高:套家庭智能化系统在紧急情况时可以防御坏人侵入并及时报警,有效保证您的家居安全。4、变生活方式:你可以在家办公,在家炒股、炒汇、做期货以及进行远程会议、在家购物、在家培训等。四、技术介绍随着社
10、会、 经济水平的发展, 人们对家居品质的要求也越来越高,要求居住环境舒适化、安全化,家居生活人性化、智能化。智能家居是3C技术(即)向传统家电产业渗透发展的必然结果。 从社会背景的层面来看, 近年来信息化的高度进展, 通讯名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 20 页 - - - - - - - - - - 4 - 的自由化与高层次化、 业务量的急速增加与人类对工作环境的安全性、舒适性、效率性要求的提高, 造成家居智能化的需求大为增加;此外在科学技术方面, 由于
11、计算机控制技术的发展与电子信息通讯技术的成长,促成了智能家居的诞生。 现在的中国正迎来一个 数字城市 、 数字社区 建设与发展的热潮, 3G 技术和互联网应用对智能家居的发展也起到很重要的推动作用,智能家居的日渐兴起影响到人们生活的方方面面,改变了人们的生活习惯,提高了人们的生活质量,促使家庭实现了生活现代化,给人们的家居生活带来了全新的感受,它必将成为一种发展趋势。目前市场上出现得智能家居控制系统主要有:(1)X-10 系统(美国),该系统是利用电力线作为网络平台,采用集中控制方式实现。这套系统的功能较为强大,与其它家居控制系统如ABB 、C_BUS 等比起来更容易接收,使用也相对简单。因为
12、实现同样的功能,X-10 家居控制系统是利用220v电力线将发射器发出的X-10 信号传送给接收器从而实现智能化的控制,因此采用这套系统不需要额外的布线, 这也是这套系统的最大的一个优势,因为其它系统基本上都需要布低压线,在墙上或地面开槽、钻孔,施工难度大、费用高、工期长。但由于缺乏在国内市场推广的条件且价格昂贵,该系统在国内应用极少。(2)EIB 系统(德国),该系统采用预埋总线及中央控制方式实现控制功能。但由于其工程要求复杂严苛,并且价格较高,因此一直无法打开国内市场。(3)8X 系统(新加坡),该系统采用预处理总线跟集中控制方式来实现功能。它的优点在于利用的产品对系统进行扩展,系统较为成
13、熟, 比较适合中国国情。 但是由于系统架构、 灵活性及产品价格等方面还难以达到要求,所以目前在国内还较少应用。对于我国的智能家居进展目前,主要采用国外的一些技术产品,但也有一些企业推出了自己的产品,主要有:(1)e 家庭(海尔),该系列产品以海尔电脑作为控制中心,各种网络家电作为终端设备, 海尔移动电话作为移动数字控制中心。海尔在技术上同微软合作,利用微软的Windows Me技术和海尔的网络家电,使“e 家庭”已具雏形,已推出了网络洗衣机、网络冰箱、网络空调、网络微波炉等一系列网络家电。(2) e-home数字家园(清华同方),该智能家居控制系统是专门针对中国家庭设计的,遵循国际技术标准,采
14、用嵌入式软、硬件技术,提供网络、网络节点及末端设备。产品以功能模块开发为主, 基于国外成熟的智能家居标准之上。其智能家居控制系统主要有以下三个部分: A系列:遵循 EIB 协议的家庭控制产品,适用于中高档名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 20 页 - - - - - - - - - - 5 - 住宅区。 B系列:遵循 X-10 协议的家庭控制产品,适用于中档住宅区。易家三代:配电箱集中安装式家庭控制产品。国内各大软、硬件机构正在积极的研制、开发更为符合市场的
15、智能化家居设备,以解决当前智能化产品实用性差、使用复杂及产品价格昂贵等缺点, 而技术创新性也逐步向国际先进水平靠拢,这样的未来值得期待。 4 、存在的不足或有待深入研究解决的问题;不足之处:由于我国的智能家居相对于国外起步较晚,还缺乏统一明确的国际标准,许多公司开发出的产品都是基于自己组的网络和信息交换协议,很多产品是针对特定的组网环境开发的,部分核心技术没有对外公布,技术复杂,直接导致了使用范围的局限性。再者,缺乏对应的第三方产品, 各个接入设备之间不能兼容,互操作性差, 不利于产品的扩充,因而进一步局限了产品的发展。再加上,有的系统成本过高,严重影响了产品的普及。 因此设计一个符合国家国情
16、和规范的集远程控制和本地控制为一体的智能家居控制系统是非常具有现实意义的,且势在必行。主要问题: 根据前面提到的一些调查结果及数据可以看出, 虽然目前智能家居系统有了一定的发展,并且市场上也开始出现相应的产品, 但从总体的发展来看, 不容乐观,特别是统一标准和权威产品的缺乏严重影响了家居智能化的发展。随着科技的提高, 经济的发展,人们的物质生活水平的提高, 对家居环境的要求也越来越高, 作为家居智能化的核心部分智能家居控制系统也越发显得重要。 家居智能化控制的开发和建设是未来国家、经济发展的必然趋势。智能家居控制器可以为系统提供智能控制方案,使住户的控制更便捷,更高效,更能为家庭的日常活动节约
17、不必要的能耗。而且在现在这个注重绿色环保的世界里,智能的为住户控制好空气的湿度、温度等,检查分析空气成分,让住户安心入住。同时,智能家居控制器可以根据住户的要求调整方案,加强紧急处理, 危机救护等急救控制,充分达到只要是“用户想要的,就是我们追求的”宗旨。经过 2013 年的哥本哈根会议,我国更加明确了节能减排,绿色建筑的目标,这就使住宅智能化凸显出了其合理规划,最大限度的节约能源的优势。 如果我国大力推广绿色建筑,仅在铺设智能化系统上所需的新设备的生产上就有2000 亿到 3000 亿人民币的新市场。而中国“智能家居网络”必在“智能化住宅”的框架下形成一个新型IT产业,而这一切必将对未来几十
18、年我国房地产的健康有效发展起着深远的影响。作为智能家居的核心系统的智能家居的控制系统,它的设计功能的完善必将推动住宅智能化的发展。 而系统功能的集成化、 用户使用的傻瓜化以及市场的平民化将是智能家居控制器的发展趋势, 系统也将逐步迈向绿色化。 最终,我想全人类的梦想是智能家居控制系统将囊括所有的家事杂物,让我们真正的享受舒适温馨的家庭生活。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 20 页 - - - - - - - - - - 6 - 五、实训内容嵌入式单片机智能
19、家居实训代码内容:#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
20、.h #include tools.h #include spi_uart.h #include temp_hum.h #include collect_data.h #include led_spk_fan.h #include menu.h extern void LED_Test(void); extern void Speaker_Test(void); extern void Fan_Test(void); extern void ADC_Test(void); extern void CAN_Test_ROM(void); extern void CAN_Test(void); #
21、define ID_NUM 2 #define ntype 1 #define itype 2 #define rtype 4 #define transhead 0 xaa #define LED_ON 0 #define LED_OFF 1 #define FAN_ON 2 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 20 页 - - - - - - - - - - 7 - #define FAN_OFF 3 #define LED7_ON 4 #define L
22、ED7_OFF 5 #define SPEAKER_ON 6 #define SPEAKER_OFF 7 #define ANSWER 8 volatile uint32_t counter1 = 0; volatile uint32_t counter2 = 0; static const unsigned char aucCRCHi = 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0
23、x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0
24、 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41,
25、0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81,
26、 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0
27、, 0 x80, 0 x41, 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 20 页 - - - - - - - - - - 8 - 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0
28、 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x01, 0 xC0, 0 x80, 0 x41, 0 x00, 0 xC1, 0 x81, 0 x40 ; static const unsigne
29、d char aucCRCLo = 0 x00, 0 xC0, 0 xC1, 0 x01, 0 xC3, 0 x03, 0 x02, 0 xC2, 0 xC6, 0 x06, 0 x07, 0 xC7, 0 x05, 0 xC5, 0 xC4, 0 x04, 0 xCC, 0 x0C, 0 x0D, 0 xCD, 0 x0F, 0 xCF, 0 xCE, 0 x0E, 0 x0A, 0 xCA, 0 xCB, 0 x0B, 0 xC9, 0 x09, 0 x08, 0 xC8, 0 xD8, 0 x18, 0 x19, 0 xD9, 0 x1B, 0 xDB, 0 xDA, 0 x1A, 0
30、x1E, 0 xDE, 0 xDF, 0 x1F, 0 xDD, 0 x1D, 0 x1C, 0 xDC, 0 x14, 0 xD4, 0 xD5, 0 x15, 0 xD7, 0 x17, 0 x16, 0 xD6, 0 xD2, 0 x12, 0 x13, 0 xD3, 0 x11, 0 xD1, 0 xD0, 0 x10, 0 xF0, 0 x30, 0 x31, 0 xF1, 0 x33, 0 xF3, 0 xF2, 0 x32, 0 x36, 0 xF6, 0 xF7, 0 x37, 0 xF5, 0 x35, 0 x34, 0 xF4, 0 x3C, 0 xFC, 0 xFD, 0
31、 x3D, 0 xFF, 0 x3F, 0 x3E, 0 xFE, 0 xFA, 0 x3A, 0 x3B, 0 xFB, 0 x39, 0 xF9, 0 xF8, 0 x38, 0 x28, 0 xE8, 0 xE9, 0 x29, 0 xEB, 0 x2B, 0 x2A, 0 xEA, 0 xEE, 0 x2E, 0 x2F, 0 xEF, 0 x2D, 0 xED, 0 xEC, 0 x2C, 0 xE4, 0 x24, 0 x25, 0 xE5, 0 x27, 0 xE7, 0 xE6, 0 x26, 0 x22, 0 xE2, 0 xE3, 0 x23, 0 xE1, 0 x21,
32、0 x20, 0 xE0, 0 xA0, 0 x60, 0 x61, 0 xA1, 0 x63, 0 xA3, 0 xA2, 0 x62, 0 x66, 0 xA6, 0 xA7, 0 x67, 0 xA5, 0 x65, 0 x64, 0 xA4, 0 x6C, 0 xAC, 0 xAD, 0 x6D, 0 xAF, 0 x6F, 0 x6E, 0 xAE, 0 xAA, 0 x6A, 0 x6B, 0 xAB, 0 x69, 0 xA9, 0 xA8, 0 x68, 0 x78, 0 xB8, 0 xB9, 0 x79, 0 xBB, 0 x7B, 0 x7A, 0 xBA, 0 xBE,
33、 0 x7E, 0 x7F, 0 xBF, 0 x7D, 0 xBD, 0 xBC, 0 x7C, 0 xB4, 0 x74, 0 x75, 0 xB5, 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 20 页 - - - - - - - - - - 9 - 0 x77, 0 xB7, 0 xB6, 0 x76, 0 x72, 0 xB2, 0 xB3, 0 x73, 0 xB1, 0 x71, 0 x70, 0 xB0, 0 x50, 0 x90, 0 x91, 0
34、 x51, 0 x93, 0 x53, 0 x52, 0 x92, 0 x96, 0 x56, 0 x57, 0 x97, 0 x55, 0 x95, 0 x94, 0 x54, 0 x9C, 0 x5C, 0 x5D, 0 x9D, 0 x5F, 0 x9F, 0 x9E, 0 x5E, 0 x5A, 0 x9A, 0 x9B, 0 x5B, 0 x99, 0 x59, 0 x58, 0 x98, 0 x88, 0 x48, 0 x49, 0 x89, 0 x4B, 0 x8B, 0 x8A, 0 x4A, 0 x4E, 0 x8E, 0 x8F, 0 x4F, 0 x8D, 0 x4D,
35、0 x4C, 0 x8C, 0 x44, 0 x84, 0 x85, 0 x45, 0 x87, 0 x47, 0 x46, 0 x86, 0 x82, 0 x42, 0 x43, 0 x83, 0 x41, 0 x81, 0 x80, 0 x40 ; typedef struct /数据封装 uint8_t head; /数据头uint8_t dev_no; /房间号uint8_t type; /数据类型uint8_t len; /数据长度uint8_t ndata; uint8_t temp2; uint8_t hum2; uint8_t light2; uint8_t adc2; uin
36、t8_t acc3; uint8_t rfid4; uint_least16_t check; transdata; int32_t xoff = 0; /初始化三轴信息int32_t yoff = 0; int32_t zoff = 0; int8_t x = 0; int8_t y = 0; int8_t z = 0; /初始化三轴信息void SysTick_Handler(void) /线程 static uint32_t Tick=0; static uint8_t cnt=0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -
37、 - - 名师精心整理 - - - - - - - 第 11 页,共 20 页 - - - - - - - - - - 10 - Tick +; if(Tick = 500) cnt +; cnt &= 0 x1f; else if(Tick = 1000) counter1+; counter2+; Tick = 0; void collect_data(uint8_t *temp,uint8_t *hum,uint8_t *light) /显示温湿度和亮度函数 uint8_t i; char buf16; uint32_t light_data; i = Read_Temp_Hum(tem
38、p, hum); /采集温湿度I2CInit(I2CMASTER, 0); /初始化亮度函数light_init(); light_enable(); light_setRange(LIGHT_RANGE_4000); /初始化亮度函数light_data = light_read(); /采集亮度light0 = (light_data 8); /左移八位,使光亮度值在整数位上light1 = (light_data & 0 xff); if(i != 0) OLED_ClearScreen(); /清屏snprintf(buf, 16, Temp: %d.%d , temp0, temp1
39、); OLED_DisStrLine(1, 0, (uint8_t *)buf); /显示温度snprintf(buf, 16, Hum: %d.%d , hum0, hum1); OLED_DisStrLine(2, 0, (uint8_t *)buf); /显示湿度snprintf(buf, 20, Light: %d , light_data); OLED_DisStrLine(3, 0, (uint8_t *)buf); /显示亮度if(temp030) /判断温度高位是否超过阀值 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -
40、 - - 名师精心整理 - - - - - - - 第 12 页,共 20 页 - - - - - - - - - - 11 - GPIOSetValue(PORT3, 0, 0); /Turn on led1 speaker_op(1); /Turn on speaker GPIOSetValue(PORT0, 2, 0); / Turn on Fan if(temp030) GPIOSetValue(PORT0, 2, 1); / Turn off Fan GPIOSetValue(PORT3, 0, 1); /Turn off led1 speaker_op(0); /Turn off
41、speaker if(light_data 30 | x 30 | y 30 | z -30) /判断是否超过设定的阀值 speaker_op(1); /turn on spear GPIOSetValue(PORT3, 0, 0); /Turn on led1 else speaker_op(0); /Turn off speaker GPIOSetValue(PORT3, 0, 1); /Turn off led1 void send_data(uint8_t *data, uint8_t len) /发送信息函数 uint8_t i = 0,buf16; for(i = 0;ilen;i
42、+) ZigBee_PutChar(datai); /利用 zigbee 发送数据名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 20 页 - - - - - - - - - - 13 - void send_zigbee(uint8_t *data) ZigBee_PutString(data); return; uint_least16_t usMBCRC16( uint8_t * pucFrame,uint8_t usLen ) /CRC 检验函数 uint8_t
43、 ucCRCHi = 0 x0; uint8_t ucCRCLo = 0 x0; int iIndex; while( usLen- ) iIndex = ucCRCLo *( pucFrame+ ); ucCRCLo = (uint8_t)( ucCRCHi aucCRCHiiIndex ); ucCRCHi = aucCRCLoiIndex; return (uint_least16_t)( ucCRCHi 8; buf16 = data.check & 0 xff; send_data(buf,17); /发送信息和CRC 检验位 if(data.type = rtype) buf2 =
44、 data.type; buf3 = 4; buf4 = data.rfid0; buf5 = data.rfid1; buf6 = data.rfid2; buf7 = data.rfid3; data.check = usMBCRC16(buf,8); /根据发送数据设置CRC 检验位buf8 = data.check 8; buf9 = data.check & 0 xff; send_data(buf,10); /发送信息和CRC 检验位 if(data.type = ntype) buf2 = data.type; buf3 = 1; buf4 = data.ndata; data.
45、check = usMBCRC16(buf,5); /根据发送数据设置CRC 检验位buf5 = data.check 8; buf6 = data.check & 0 xff; send_data(buf,7); /发送信息和CRC 检验位 Led7_On(void) /数码管显示函数 uint32_t i = 0; while(i PIO0_1 &= 0 x07; LPC_IOCON-PIO0_1 |= 0 x01; /* CLK OUT */ GPIOSetDir(PORT3, 0, 1); / Set PIO3_0 to output GPIOSetValue(PORT3, 0, 1)
46、; / PIO3_0 output 1, close LED1 GPIOSetDir(PORT3, 1, 1); / Set PIO3_1 to output GPIOSetValue(PORT3, 1, 1); / PIO1_1 output 1, close LED2 GPIOSetDir(PORT0, 2, 1); / Set PIO0_2 to output GPIOSetValue(PORT0, 2, 1); / PIO0_2 output 1, close FAN LPC_IOCON-R_PIO1_1 &= 0 x07; LPC_IOCON-R_PIO1_1 |= 0 x01; G
47、PIOSetDir(PORT1, 1, 1); / Set PIO3_2 to output GPIOSetValue(PORT1, 1, 1); / PIO3_2 output 1, Speaker turn off Seg7Led_Init(); /初始化数码管Seg7Led_Put( ); / Output SysTick_Config(48000); GPIOSetValue(PORT3, 0, 0); / PIO3_0 output 0, Turn on LED1 GPIOSetValue(PORT3, 1, 0); / PIO3_1 output 0, Turn on LED2 d
48、elay_ms(200); GPIOSetValue(PORT3, 0, 1); / PIO3_0 output 1, Turn off LED1 GPIOSetValue(PORT3, 1, 1); / PIO3_1 output 1, Turn off LED2 SPI_IOConfig(0); SPI_Init(0, 8, 2); /初始化 M0 板的显示屏OLED_Init_I(); UARTInit(115200); /初始化串口NVIC_SetPriority(UART_IRQn, 2); printf(rnrnFS_11C14 Main Menurn); 名师资料总结 - - -
49、精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 20 页 - - - - - - - - - - 16 - delay_ms(250); SPI_IOConfig(1); /* 初始化 zigbee 发送设备*/ SPI_Init(1, 8, 2); SPI752_Init(1, 115200); /* 初始化 zigbee 发送设备*/ for(k =0 ; k 9) k = 0; Seg7Led_Put(k); k+; delay_ms(250); if(counter1 1) colle
50、ct_data(data.temp,data.hum,data.light); /显示温湿度和亮度函数adc_set(data.adc); /显示电池函数acc_set(data.acc); /显示三轴函数data.type = itype; /设置发送数据类型data_pakget_trans(data); /发送数据counter1 = 0; if(ZigBee_GetChar(p) /接收上层发下来的命令 if (i 8) = p5 ) if (p1 - 0 = ID_NUM) /如果设备号一致则执行命令 switch (p4) /如果有设备已开启信息 case LED_ON: GPIO