物联网智能家居系统实训报告_第1页
物联网智能家居系统实训报告_第2页
物联网智能家居系统实训报告_第3页
物联网智能家居系统实训报告_第4页
物联网智能家居系统实训报告_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、* *综合实训报告课题名称智能家居整体设计姓名学号_班级物勿联S14-1专业物联网应用技术所在系_网N络技术系指导教师完成日期2016.12.2实习时间: 2016-112017-4 实习地点:天津圣象网络科技有限公司摘要: 在上世纪 90 年代物联网概念雏形已基本形成,至今通过20 年的发展物联网技术已逐步深入到我们的生活当中,物联网技术是以利用计算机、通信、网络、电力自动化、信息、结构化 布线、无线等技术将所有不同的设备应用和综合功能互联为一体的系统。然而智能家居在物联网 技术的背景下又得到了进一步发展,它是以住宅为平台,兼备网络建筑、网络家电、通信、家电 设备自动化、远程医疗、家庭办公、

2、娱乐等功能,集系统、结构、服务、管理为一体的安全、便 利、舒适、节能、娱乐、高效环保的居住环境。其从控制层次上来分一般有中央控制中心、家居 智能控制终端、小区智能控制系统、家庭网关和外部网络几个部分组成。关键字: 物联网 智能家居 安全 控制目录一、 方案背景-二、总体结构和功能特点 -2 -1、 智能家居系统总体结构 -2 -2、智能家居系统总体功能- 2-三、智能家居给生活带来的便利- 4-四、技术介绍- 4 -五、实训内容- 6 -六、实习心得 - 31 -、方案背景智能家居概念的起源很早,但一直未有具体的建筑案例出现;直到 1984 年美国 联合科技公司 (UnitedTechno1o

3、gies Building System) 将建筑设备信息化、 整合化概念应用于美国康 乃迪克州 (Conneticut) 哈特佛市 (Hartford) 的 CityPlaceBuilding 时,才出现了首栋 的“智能型建筑” ,从此也揭开了全世界争相建造智能家居的序幕。经过多年的需求 累积, 目前通常把智能家居定义为利用计算机、 网络和综合布线技术, 通过家庭信息 管理平台将与家居生活有关的各种子系统有机地组合成一个系统。 具体来说, 就是首 先在一个家居中建立一个通讯网络, 为家庭信息提供必要的通路, 在家庭网络操作系 统的控制下, 通过相应的硬件和执行机构, 实现对所有家庭网络上的家

4、电和设备的控 制和监测。其次,它们都要通过一定的网络平台,构成与外界的通讯通道,以实现与 家庭以外的世界沟通信息, 满足远程控制、 监测和交换信息的需求。 最终达到满足人 们对安全、舒适、方便和绿色环保的需求。二、总体结构和功能特点1 、 智能家居系统总体结构主要有智能安防监控、智能家电控制、智能娱乐服务、智能灯光控制、可视对讲 系统、远程监控系远程医疗监护、网络教育等模块2 、 智能家居系统总体功能(1)安防监控:包括各种报警探测器的讯息采集,开关门报警等如无线门磁、 无线紧急按钮、无线红外动作探测器、无线煤气探测、无线火警探测等,并完成与住 宅小区物业管理和 110 报警的联网。2 )家电

5、控制:利用计算机、移动电话、 PDA 通过高速宽带接入 Internet ,并 对灯具、窗帘、空调、冰箱、电视、洗衣机等家用电器进行远程控制、定时控制。(3 )家居商务和办公: 实现网上购物、网上商务联系、视频会议。 基于 Internet 的电子商务使每天的工作事务变得更加容易和简单。 网上娱乐同样简单方便。 如:家 庭影院、无线视频传输系统、在线视频点播、交互式电子游戏等,在智能家居中,你 可以和家庭成员或其它游戏爱好者一 起通过计算机、电视、甚至可以用 PDA 在线 玩各种网络游戏。(4)背景音乐:在居室的任何一间房里,包括厨房、卫生间和阳台,均安装背 景音乐线,通过多个音源,可以让每个

6、房间都听到美妙的背景音乐。(5 )家庭医疗保健和监护: 利用 Internet ,实现家庭的远程医疗和监护。 Internet 在智能家居医疗保健中的作用有很大的潜力, 不仅助您身心更加健康, 而且会降低医 疗保健成本。每天,你都可以在家中将测量的血压、体温、脉搏、葡萄糖含量等参数 传递给医疗保健专家, 并和医疗保健专家在线咨询和讨论, 省去了许多在医院排队等 候的麻烦。而对于家有老人和孩子的家庭,配备求助系统(按键) ,保障家人的健康 和安全。(7 )讯息服务:通过 Internet 可在任何时间任何地点获得和交换讯息,讯息传 输可以以多种形式,从静态文本、图形到动态的音频、视频讯息。同时,

7、 Internet 改变了人们的通讯交流方式,使人们能通过文本、图形、多媒体迅速地沟通讯息。 E-mail 、短讯息、 聊天室等通讯方式对生活产生了很大影响; 在旅行中父母可使用聊 天工具和视频会议工具保持和孩子联系。 在智能家居中, 您还可以用手提电话或 PDA 通过无线网络收发 E-mail ,接受最新的股市行情。(8)网络教育。网络教学将课堂带进了家庭,可帮助老师巩固课程,激发孩子 们的好奇心。现在学校和 家长通过家居中的基于 Internet 的教育工具可以合作得更加紧密,并在家庭和课堂之间建立了桥梁。 同时,在智能家居中,不管那个年龄段的人都可以享受教育资源,可进行终生教育和学习。三

8、、智能家居给生活带来的便利1 、省费用:不需要时,家中能源消耗设备可以自动关闭,这样可以降低您的生 活费用。2、用方便:智能化系统提供远程遥控接口,在您外出时,还可以通过电话或上 网来调整和控制家电设备。3 、全性高:套家庭智能化系统在紧急情况时可以防御坏人侵入并及时报警,有 效保证您的家居安全。4、变生活方式:你可以在家办公,在家炒股、炒汇、做期货以及进行远程会议、 在家购物、在家培训等。四、技术介绍随着社会、 经济水平的发展, 人们对家居品质的要求也越来越高, 要求居住环境 舒适化、安全化,家居生活人性化、智能化。智能家居是 3C 技术(即)向传统家电 产业渗透发展的必然结果。 从社会背景

9、的层面来看, 近年来信息化的高度进展, 通讯 的自由化与高层次化、 业务量的急速增加与人类对工作环境的安全性、 舒适性、 效率 性要求的提高, 造成家居智能化的需求大为增加; 此外在科学技术方面, 由于计算机 控制技术的发展与电子信息通讯技术的成长, 促成了智能家居的诞生。 现在的中国正 迎来一个 "数字城市 "、"数字社区 "建设与发展的热潮, 3G 技术和互联网应用对智能 家居的发展也起到很重要的推动作用, 智能家居的日渐兴起影响到人们生活的方方面 面,改变了人们的生活习惯,提高了人们的生活质量,促使家庭实现了生活现代化, 给人们的家居生活带来了全新

10、的感受,它必将成为一种发展趋势。目前市场上出现得智能家居控制系统主要有:(1 )X-10 系统(美国),该系统是利用电力线作为网络平台,采用集中控制方 式实现。这套系统的功能较为强大,与其它家居控制系统如 ABB、C_BUS 等比起来 更容易接收,使用也相对简单。因为实现同样的功能, X-10 家居控制系统是利用 220v 电力线将发射器发出的 X-10 信号传送给接收器从而实现智能化的控制, 因此采用这 套系统不需要额外的布线, 这也是这套系统的最大的一个优势, 因为其它系统基本上 都需要布低压线,在墙上或地面开槽、钻孔,施工难度大、费用高、工期长。但由于 缺乏在国内市场推广的条件且价格昂贵

11、,该系统在国内应用极少。(2)EIB 系统(德国),该系统采用预埋总线及中央控制方式实现控制功能。但 由于其工程要求复杂严苛,并且价格较高,因此一直无法打开国内市场。(3 )8X 系统(新加坡),该系统采用预处理总线跟集中控制方式来实现功能。 它的优点在于利用的产品对系统进行扩展, 系统较为成熟, 比较适合中国国情。 但是 由于系统架构、 灵活性及产品价格等方面还难以达到要求, 所以目前在国内还较少应 用。 对于我国的智能家居进展目前, 主要采用国外的一些技术产品, 但也有一些企 业推出了自己的产品,主要有: (1 )e 家庭(海尔),该系列产品以海尔电脑作为控制中心,各种网 络家电作为终端设

12、备, 海尔移动电话作为移动数字控制中心。 海尔在技术上同微软合 作,利用微软的 Windows Me 技术和海尔的网络家电,使“ e 家庭”已具雏形,已 推出了网络洗衣机、网络冰箱、网络空调、网络微波炉等一系列网络家电。( 2)e-home 数字家园(清华同方) ,该智能家居控制系统是专门针对中国家庭设计的, 遵循国际技术标准,采用嵌入式软、硬件技术,提供网络、网络节点及末端设备。 产品以功能模块开发为主, 基于国外成熟的智能家居标准之上。 其智能家居控制系统 主要有以下三个部分: A 系列:遵循 EIB 协议的家庭控制产品,适用于中高档 住宅区。 B 系列:遵循 X-10 协议的家庭控制产品

13、,适用于中档住宅区。 易 家三代:配电箱集中安装式家庭控制产品。 国内各大软、硬件机构正在积极的 研制、 开发更为符合市场的智能化家居设备, 以解决当前智能化产品实用性差、 使用 复杂及产品价格昂贵等缺点, 而技术创新性也逐步向国际先进水平靠拢, 这样的未来 值得期待。 4、存在的不足或有待深入研究解决的问题;不足之处:由于我国的智能家居相对于国外起步较晚, 还缺乏统一明确的国际标准,许多公司开发出的 产品都是基于自己组的网络和信息交换协议,很多产品是针对特定的组网环境开发 的,部分核心技术没有对外公布,技术复杂,直接导致了使用范围的局限性。再者, 缺乏对应的第三方产品, 各个接入设备之间不能

14、兼容, 互操作性差, 不利于产品的扩 充,因而进一步局限了产品的发展。再加上,有的系统成本过高,严重影响了产品的 普及。因此设计一个符合国家国情和规范的集远程控制和本地控制为一体的智能家居 控制系统是非常具有现实意义的, 且势在必行。 主要问题: 根据前面提到的一些 调查结果及数据可以看出, 虽然目前智能家居系统有了一定的发展, 并且市场上也开 始出现相应的产品, 但从总体的发展来看, 不容乐观, 特别是统一标准和权威产品的 缺乏严重影响了家居智能化的发展。 随着科技的提高, 经济的发展,人们的物质生活 水平的提高,对家居环境的要求也越来越高,作为家居智能化的核心部分智能 家居控制系统也越发显

15、得重要。 家居智能化控制的开发和建设是未来国家、 经济发展 的必然趋势。智能家居控制器可以为系统提供智能控制方案,使住户的控制更便捷,更高效, 更能为家庭的日常活动节约不必要的能耗。而且在现在这个注重绿色环保的世界里, 智能的为住户控制好空气的湿度、温度等,检查分析空气成分,让住户安心入住。同 时,智能家居控制器可以根据住户的要求调整方案, 加强紧急处理, 危机救护等急救 控制,充分达到只要是“用户想要的,就是我们追求的”宗旨。经过 2013 年的哥本哈根会议,我国更加明确了节能减排,绿色建筑的目标,这就使 住宅智能化凸显出了其合理规划, 最大限度的节约能源的优势。 如果我国大力推广绿 色建筑

16、,仅在铺设智能化系统上所需的新设备的生产上就有 2000 亿到 3000 亿人民 币的新市场。而中国“智能家居网络”必在“智能化住宅”的框架下形成一个新型 IT 产业,而这一切必将对未来几十年我国房地产的健康有效发展起着深远的影响。 作 为智能家居的核心系统的智能家居的控制系统, 它的设计功能的完善必将推动住宅智 能化的发展。而系统功能的集成化、 用户使用的傻瓜化以及市场的平民化将是智能家 居控制器的发展趋势, 系统也将逐步迈向绿色化。 最终,我想全人类的梦想是智能家 居控制系统将囊括所有的家事杂物,让我们真正的享受舒适温馨的家庭生活。五、实训内容嵌入式单片机智能家居实训代码内容:#inclu

17、de <stdio.h>#include <string.h> #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"#inclu

18、de "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 "

19、;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);#define ID_NUM 2#define ntype 1#define itype 2

20、#define rtype 4#define transhead0xaa#define LED_ON'0'#define LED_OFF'1'#define FAN_ON'2'#define FAN_OFF'3'#define LED7_ON'4'#define LED7_OFF'5'#define SPEAKER_ON '6'#define SPEAKER_OFF'7'#define ANSWER'8'* *0x00, 0xC1, 0x81, 0x4

21、0, 0x1, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,volatile uint32_t counter1 = 0;volatile uint32_t counter2 = 0;static const unsigned char aucCRCHi = 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, 0xC

22、1, 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, 0

23、x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,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,

24、 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, 0xC

25、0, 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

26、,0x00, 0xC1, 0x81, 0x40;static const unsigned char aucCRCLo = 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, 0

27、x1E, 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, 0x

28、3B, 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,

29、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

30、,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,

31、0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83,0x41, 0x81, 0x80, 0x40;/ 数据封装typedef structuint8_thead;/ 数据头uint8_tdev_no;/ 房间号uint8_ttype;/ 数据类型uint8_tlen;/ 数据长度uint8_tndata;uint8_ttemp2;uint8_t hum2;* *uint8_t light2;uint8_t adc2;uint8_t acc3;uint8_t rfid4;uint_least16_t check;transdata

32、;int32_txoff = 0;/ 初始化三轴信息int32_tyoff = 0;int32_tzoff = 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;Tick +;if(Tick = 500)cnt +;cnt &= 0x1f;else if(Tick >= 1000)counter1+;counter2+;Tick = 0;void collect_data(uint8

33、_t *temp,uint8_t *hum,uint8_t *light) / 显示温湿度和亮度函数uint8_t i;char buf16;uint32_t light_data;i = Read_Temp_Hum(temp, hum); / 采集温湿度I2CInit(I2CMASTER, 0); / 初始化亮度函数light_init();* *light_setRange(LIGHT_RANGE_4000);/ 初始化亮度函数light_enable();light_data = light_read();/ 采集亮度/ 左移八位,使光亮度值在整数位上light0 = (light_da

34、ta >> 8);light1 = (light_data & 0xff);if(i != 0)OLED_ClearScreen(); / 清屏snprintf(buf, 16, "Temp: %d.%d", temp0, temp1);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

35、, "Light: %d ", light_data);OLED_DisStrLine(3, 0, (uint8_t *)buf); / 显示亮度if(temp0>30) / 判断温度高位是否超过阀值GPIOSetValue(PORT3, 0, 0);/Turn on led1speaker_op(1);/Turn on speaker* *GPIOSetValue(PORT0, 2, 0);if(temp0<30)GPIOSetValue(PORT0, 2, 1);GPIOSetValue(PORT3, 0, 1);speaker_op(0);if(light

36、_data < 100)GPIOSetValue(PORT3, 1, 0);elseGPIOSetValue(PORT3, 1, 1);/ Turn on Fan/ Turn off Fan/Turn off led1/Turn off speaker/ 判断是否需要开灯/turn on led2/turn off led2void adc_set(uint8_t *adc)/ 显示电压信息函数charbuf16;uint32_tadv;floatvol;ADCInit(ADC_CLK);/ 初始化电压函数adv = ADCRead(0);/ 获得电压信息vol = adv*3.3/10

37、23; / 转化电压信息adv = vol*10;snprintf(buf, 21, "ADC: %d.%dV ", adv/10, adv%10);adc0 = adv/10;adc1 = adv%10;OLED_DisStrLine(4, 0, (uint8_t *)buf);/ 显示电压信息void acc_set_init(void)I2CInit(I2CMASTER, 0); acc_init();acc_read(&x, &y, &z);/ 初始化三轴函数xoff = 0-x;yoff = 0-y;zoff = 0-z;void acc_

38、set(uint8_t *abc)char buf16;acc_read(&x, &y, &z);x = x+xoff;y = y+yoff;z = z+zoff;abc0 = x;abc1 = y;abc2 = z;snprintf(buf, 20, "Acc x: %d", x);OLED_DisStrLine(5, 0, (uint8_t *)buf);snprintf(buf, 20, "Acc y: %d", y);/ 显示三轴信息函数/ 获得三轴信息/ 转化三轴信息/ 转化三轴信息/ 显示 X 轴信息OLED_DisS

39、trLine(6, 0, (uint8_t *)buf);/ 显示 Y 轴信息snprintf(buf, 20, "Acc z: %d", z);OLED_DisStrLine(7,0,(uint8_t*)buf); / 显示 Z 轴信息if(x > 30 | x < -30 | y > 30 | y < -30 | z > 30 | z < -30) /判断是否超过设定的阀值speaker_op(1); /turn on spearGPIOSetValue(PORT3, 0, 0);/Turn on led1elsespeaker_op

40、(0); /Turn off speakerGPIOSetValue(PORT3, 0, 1);/Turn off led1void send_data(uint8_t *data, uint8_t len) / 发送信息函数uint8_t i = 0,buf16;for(i = 0;i<len;i+)/ 利用 zigbee发送数据检验函数ZigBee_PutChar(datai);void send_zigbee(uint8_t *data)ZigBee_PutString(data);return;uint_least16_t usMBCRC16( uint8_t * pucFram

41、e,uint8_t usLen )/CRCuint8_t ucCRCHi = 0x0;uint8_t ucCRCLo = 0x0;int iIndex;while( usLen- )iln dex = ucCRCLo A *( pucFrame+ );ucCRCLo = (ui nt8_t)( ucCRCHi A aucCRCHiil ndex);ucCRCHi = aucCRCLoiIndex;voidreturn (uint_least16_t)( ucCRCHi << 8 | ucCRCLo );data_pakget_trans(transdata data)/ 发送 M0

42、 板信息的中间函数uint8_t buf64 = 0;buf0 = data.head;buf1 = data.dev_no;if(data.type = itype)buf2 = data.type;buf3 = 11;buf4 = data.temp0;buf5 = data.temp1;buf6 = data.hum0;buf7 = data.hum1;buf8 = data.light0;buf9 = data.light1;buf10 = data.adc0;buf11 = data.adc1;buf12 = data.acc0;buf13 = data.acc1;buf14 = d

43、ata.acc2;data.check = usMBCRC16(buf,15);buf15 = data.check >> 8;buf16 = data.check & 0xff;send_data(buf,17);/ 根据发送数据设置/ 发送信息和CRC 检验位CRC 检验位if(data.type = rtype)buf2 = data.type;buf3 = 4;buf4 = data.rfid0;buf5 = data.rfid1;buf6 = data.rfid2;buf7 = data.rfid3;data.check = usMBCRC16(buf,8);bu

44、f8 = data.check >> 8;buf9 = data.check & 0xff; send_data(buf,10);/ 根据发送数据设置 CRC 检验位/ 发送信息和 CRC 检验位if(data.type = ntype)buf2 = data.type;buf3 = 1;buf4 = data.ndata;data.check = usMBCRC16(buf,5);buf5 = data.check >> 8;buf6 = data.check & 0xff;send_data(buf,7);/ 根据发送数据设置 CRC 检验位/ 发送

45、信息和 CRC 检验位Led7_On(void)/ 数码管显示函数* *uint32_t i = 0;while(i < 10)Seg7Led_Put(i);i+;delay_ms(1000);int main(void)uint8_t rd32 = 0;uint8_t *p;volatile uint8_t i = 0;uint8_t k;transdata data;uint_least16_t ccheck;uint32_t key;p = rd;/ 初始化 M0 设备/ Enables clock for GPIOSystemInit();GPIOInit();CLKOUT_Se

46、tup(CLKOUTCLK_SRC_MAIN_CLK);/set clock source :main clock* *LPC_IOCON->PIO0_1 &= 0x07;LPC_IOCON->PIO0_1 |= 0x01;GPIOSetDir(PORT3, 0, 1);GPIOSetValue(PORT3, 0, 1);GPIOSetDir(PORT3, 1, 1);GPIOSetValue(PORT3, 1, 1);GPIOSetDir(PORT0, 2, 1);GPIOSetValue(PORT0, 2, 1);LPC_IOCON->R_PIO1_1 &

47、= 0x07;LPC_IOCON->R_PIO1_1 |= 0x01;GPIOSetDir(PORT1, 1, 1);GPIOSetValue(PORT1, 1, 1);Seg7Led_Init();Seg7Led_Put(' ');SysTick_Config(48000);GPIOSetValue(PORT3, 0, 0);GPIOSetValue(PORT3, 1, 0);delay_ms(200);GPIOSetValue(PORT3, 0, 1);GPIOSetValue(PORT3, 1, 1);SPI_IOConfig(0);/* CLK OUT */ Se

48、t PIO3_0 to output/ PIO3_0 output 1, close LED1/ Set PIO3_1 to output/ PIO1_1 output 1, close LED2/ Set PIO0_2 to output/ PIO0_2 output 1, close FAN/ Set PIO3_2 to output/ PIO3_2 output 1, Speaker turn/ 初始化数码管/ Output ' '/ PIO3_0 output 0, Turn on LED1/ PIO3_1 output 0, Turn on LED2/ PIO3_0

49、output 1, Turn off LED1/ PIO3_1 output 1, Turn off LED2SPI_Init(0, 8, 2);/ 初始化 M0 板的显示屏* *OLED_Init_I();UARTInit(115200);NVIC_SetPriority(UART_IRQn, 2); printf("rnrnFS_11C14 Main Menurn"); delay_ms(250);SPI_IOConfig(1);SPI_Init(1, 8, 2);SPI752_Init(1, 115200);for(k =0 ; k<80 ; k+)delay_

50、ms(200);data.head = transhead;data.dev_no = ID_NUM;data.type = ntype;data.ndata = 0x01;data_pakget_trans(data);acc_set_init();while(1)/GPIOSetValue(PORT0, 2, 6);/*if(k > 9)/ 初始化串口/* 初始化 zigbee 发送设备 */* 初始化 zigbee 发送设备 */ 加延迟/ 数据头/ 设备号/ 数据类型/ 设备已开启的信息值/ 发送设备开启函数/ 初始化三轴函数k = 0;* *Seg7Led_Put(k);k+;delay_ms(250);if(counter1 > 1)/ 显示温湿度和亮度函数/ 显示电池函数/ 显示三轴函数collect_data(data.temp,data.hum,data.light);adc_set(data.adc);

温馨提示

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

评论

0/150

提交评论