物联网硬件综合设计--智能排气扇设计与实现.docx_第1页
物联网硬件综合设计--智能排气扇设计与实现.docx_第2页
物联网硬件综合设计--智能排气扇设计与实现.docx_第3页
物联网硬件综合设计--智能排气扇设计与实现.docx_第4页
物联网硬件综合设计--智能排气扇设计与实现.docx_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

学 号: 课 程 设 计题 目物联网硬件综合设计学 院计算机科学与技术学院专 业物联网工程班 级物联网1001班姓 名指导教师2013年7月2日物联网硬件综合课程设计 -智能灯光及智能排气扇实现一、 设计背景我国已形成基本齐全的物联网产业体系,部分领域已形成一定市场规模,网络通信相关技术和产业支持能力与国外差距相对较小,传感器、rfid等感知端制造产业、高端软件和集成服务与国外差距相对较大。仪器仪表、嵌入式系统、软件与集成服务等产业虽已有较大规模,但真正与物联网相关的设备和服务尚在起步。智能化家庭网络是社会生产力发展、技术进步和社会需求相结合的产物。智能化家庭网络正向着集成化、智能化、协调化、模块化、规模化、平民化方向发展。智能化家庭网络市场将逐步形成完整的产业链,统一的行业技术标准和规范将会出现。二、实验目的 2.1掌握智能家居体验馆各系统的软件、硬件部署,绘制出硬件部署图,各节点按照“武汉理工项目设备编号.xlsx”统一编号。 2.2掌握各节点程序的烧写方法,能够搭建实验平台并在物联网高级教学实验箱上进行烧写实验。 2.3掌握串口助手的使用方法,能够使用串口助手发送控制命令。 2.4掌握所有软件的部署和开发平台。三、实验设备及环境 3.1各节点程序 3.2服务器端程序 3.3客户端程序 3.4 pc机 3.5平板电脑四、各个模块对应的传感器及对应的参数4.1环境监测模块:噪声、温湿度、雨滴、光照、远红外、烟雾传感器等。环境检测网关 : g0011 n0001噪声传感器 :g0011 n0005温湿度传感器:g0011 n0010雨滴传感器 :g0011 n0015光照传感器 : g0011 n0020远红外传感器:g0011 n0025远红外传感器:g0011 n0026烟雾传感器 :g0011 n00354.2智能家居:灯光、窗帘、雨篷、排气扇、沙发等。反向控制网关:g0019 n0001雨棚 :g0019 n0098状态检测网关:g0019 n0001窗帘a0 :g0019 n00a0环境检测网关 : g0011 n0001窗帘a1 :g0019 n00a1雨滴传感器 :g0011 n0015窗帘a2 :g0019 n00a2光照传感器 : g0011 n0020窗帘a3 :g0019 n00a3压力传感器:g0019 n0099灯光a :g0019 n0091灯光b :g0019 n0093投影仪 :g0019 n00b04.3智能家电:电视、空调、投影。反向控制网关: g0019 n0001电流检测网关 : gf1f1 n0001电流检测器: gf1f1 n0003(冰箱)电流检测器: gf1f1 n0004(电视机)电流检测器: gf1f1 n0005(投影仪)投影仪 : g0019 n00b04.4短信控制:冰箱、电视、空调等。反向控制网关: g0019 n0001红外转发器 : g0019 n0088五、智能家居主要软硬件5.1硬件组成灯光、窗帘、雨篷、排气扇、沙发(压力传感器)、冰箱、电视、空调、投影、饮水机、噪声传感器、温湿度传感器、雨滴传感器、光照传感器、远红外传感器、烟雾传感器、环境检测网关、状态检测网馆、电流检测网关、反向控制网关、无线网卡、gprs模块5.2软件组成服务器软件,客户端软件,程序烧写软件(smartrfprog.exe),com口转usb口软件(cp210x_vcp_win_xp_s2k3_vista_7)5.2.1服务器软件首先在主机上安装服务器软件,服务器软件用来实现对四个网关(环境检测网关com14,状态检测网关com3,电流检测网关com10和反向控制网关com11)串口通信的控制环境检测网关:与各个传感器通信的软件,对应于sniffer监听网关.hex文件,实现对各种传感器(噪声传感器,温湿度传感器,雨滴传感器,光照传感器,远红外线传感器,烟雾传感器)采集到的数据的检测,并且将检测到的数据发送给服务器进行处理。反向控制网关:与各个智能家电通信的软件,对应于sniffer控制网关.hex文件,用于接收服务器或gprs模块的控制信息,并实现对各个智能家电的控制。电流检测网关:与各个智能家电通信的软件,对应于数据收发控制网关.hex文件,用于实现对流过各个智能家电电流的检测,并将检测到的信息发送给服务器进行处理。状态检测网关:与沙发和饮水机通信的软件,对应于sniffer监听网关.hex文件,主要用于检测沙发和饮水机的状态,并将检测到的状态信息发送给服务器。5.2.2串口转u口软件串口转u口软件(cp210x_vcp_win_xp_s2k3_vista_7),本软件主要用于服务器中将各个网关的com口(环境检测网关com14,状态检测网关com3,电流检测网关com10和反向控制网关com11)转换成主机的usb口5.2.3客户端软件 客户端软件主要安装在pc机或ipad上,如图可知其主要显示:环境监控,智能家居,智能家电,系统设置和其他五个部分。环境监测主要显示各个传感器所感知的数据(例如:温度检测值,雨滴检测值,光照检测值,分贝检测值,湿度检测值,可燃气体检测值)。智能家居主要显示智能排风扇,智能冰箱,前后排灯光及四个窗帘的控制界面,还显示沙发和饮水机的状态信息。智能家电主要显示智能电视机(开关,音量,频道,节目源),智能空调(开关,制冷模式,制热模式,抽湿模式,自动模式),智能投影仪(开关,云台升起,暂停,降落)的控制界面。系统设置主要是对部分家居的自动控制的临界参数值的设置,其中包括灯光自动控制,窗帘自动控制,排风扇自动控制,投影仪自动控制和光照与灯光控制。其他里面仅仅是一个品牌界面5.2.4程序烧写软件(smartrfprog.exe) 本软件主要用于将程序烧写到对应的网关板节点上,具体的步骤如下:1)打开桌面的“smartrf programmer”程序,该程序会显示已连接上节点2) 在flash image位置导入需要烧写的网关节点的hex镜像,镜像文件在“imagewsn”目录下,文件名为“网关板.hex”3)按下“perform actions”按钮,进行烧写 界面如下图:5.4各个模块的实现模拟图5.4.1环境监控模块图1:环境监测模块硬件部署5.4.2智能家居模块 图2:智能家居模块硬件部署图5.4.3智能家电模块 图3:智能家电模块部署图5.4.4短信控制模块 图4:短信控制模块部署图以下列出硬件部署图中各硬件中使用的软件:pc机:服务器(sm.server),客户端(sm.client),串口转u口软件(cp210x_vcp_win_xp_s2k3_vista_7),程序烧写软件(smartrfprog.exe)环境检测网关:01_sniffer监听网关.hex反向控制网关:01_sniffer控制网关.hex电流检测网关:01_数据收发控制网关.hex状态检测网关:01_sniffer监听网关.hex温湿度传感器:02_温湿度传感模块.hex噪声传感器:03_噪声传感模块.hex光照传感器:04_光照传感模块.hex远红外传感器:05_远红外人体感应模块.hex烟雾传感器:06_可燃气体传感模块.hex排风扇:02_智能排风扇控制模块.hex灯光:03_智能灯光控制模块.hex窗帘:04_智能窗帘.hex雨棚:05_智能雨棚.hex投影仪:06_投影仪升降模块.hex红外遥控器:07_红外遥控器(电视机、空调、投影仪开关).hex智能插座:02_智能插座.hex沙发:02_智能沙发感应模块.hex饮水机:03_智能饮水机传感模块.hexgprs模块:短信_gprs模块.hex六、智能灯光及排气扇智能控制的实现利用51单片机控制温am2301湿度传感器和ad转换模块pcf8591以获取温湿度和光照的值,通过分析温湿度和光照强度对灯光和排气扇进行控制,硬件连接图如下: 8051单片机ad转换(pcf8591)光敏电阻温湿度模块显示模块灯光开关继电器电机各引脚定义:p0.0p0.7 数码管数据线p2.2数码管锁存使能端口 段锁存p2.3 数码管位锁存p1.0 am2301数据信号p1.1 电机开关p2.4 灯光开关p1.2 ad转换时钟p1.3 ad转换数据线功能实现:利用51系列单片机实时监控温度、湿度、光照强度等数据信息,在光照小于阀值150的时候会点亮一个led灯,如果空气湿度大于80%就会驱动电机开始排气,并实时在数码管上显示温湿度值。代码实现:/ad转换#include#define uchar unsigned char#define uint unsigned int/ad转换sbit scl=p12;/时钟sbit sda=p13;/数据线/*i2c总线*/void init()scl=1; sda=1;void delay(uint z)uint x,y;for(x=0;xz;x+) for(y=0;y110;y+)void start()/开始sda=1; delay(1); scl=1; delay(1); sda=0; delay(1); void stop()/结束sda=0; delay(1); scl=1; delay(1); sda=1; delay(1);void write_byte(uchar date)/写一个字节uchar temp,i; temp=date; scl=0; delay(1); for(i=0;i8;i+)temp=temp1;sda=cy; delay(1); scl=1; delay(1); scl=0; delay(1); sda=1;/释放数据总线uchar read_byte()/读取一个字节uchar i,j,k; scl=0;delay(1); for(i=0;i8;i+)scl=1; delay(1); j=sda; delay(1); k=(k1)|j; scl=0; delay(1); return k; sda=1; void respons()/应答 uchar i=0;scl=1;delay(1);while(sda=1)&i=250)i+;scl=0; delay(1);uchar read_ad()/读取转换后的值 uchar val; /p0=0x55;start(); write_byte(0x90);/器件地址respons();write_byte(0x40);/子地址respons();start();write_byte(0x91); respons(); val=read_byte(); respons(); stop();return val;/温湿度及电机控制#include#include ad.h#define uint unsigned int#define uchar unsigned char#define dataport p0 /定义数据端口 程序中遇到dataport 则用p0 替换sbit latch1=p22;/定义锁存使能端口 段锁存sbit latch2=p23;/ 位锁存sbit temp_sda=p10;/am2301数据信号sbit open_off=p11;/电机开关sbit led_status=p24;/灯光开关uchar value=0;unsigned char code duanma12=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x80,0x40;/ 显示段码值09 ,小数点,负号unsigned char code weima=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/分别对应相应的数码管点亮,即位码unsigned char tempdata8;/存储显示值的全局变量int temp1,temp2,hum1,hum2;/humidity湿度,temp温度int humidity,jiaoyan;int temp;/us级延时void delay_10us(uint x)while(x-);/ms级延时void delay_ms(uint x)uint i,j;for(i=0;ix;i+)for(j=0;j110;j+); /温湿度传感器初始化void temp_init(void)temp_sda=0;delay_10us(40);/延时至少800ustemp_sda=1;delay_10us(2);while(!temp_sda);while(temp_sda);/获取8位数据uchar temp_value(void) uchar i,value_8=0,dat;for(i=0;i8;i+)while(!temp_sda);delay_10us(2);/延时40us/_nop_(); if(temp_sda) dat=1;else dat=0;while(temp_sda); value_8=(value_8127) temp=0-(temp1-128)*256+temp2); else temp=temp1*256+temp2; hum1=humidity/1000;hum2=humidity/100%10;hum3=humidity/10%10;hum4=humidity%10;tem2=temp/100%10;tem3=temp/10%10;tem4=temp%10; /tempdata0=duanmahum1; tempdata0=0; tempdata1=duanmahum2;tempdata2=duanmahum3;tempdata2|=duanma10;/小数点tempdata3=duanmahum4; if(temp0) tem1=temp/1000; if(tem1=0) tempdata4=0; else tempdata4=duanmatemp/1000; else temp=0-temp; tempdata4=duanma11; tempdata5=duanmatem2; tempdata6=duanmatem3; tempdata6|=duanma10;/小数点 tempdata7=duanmatem4;/*- 显示函数,用于动态扫描数码管 输入参数 firstbit 表示需要显示的第一位,如赋值2表示从第三个数码管开始显示 如输入0表示从第一个显示。 num表示需要显示的位数,如需要显示99两位数值则该值输入2-*/void display(unsigned char firstbit,unsigned char num) static unsigned char i=0; dataport=0; /清空数据,防止有交替重影 latch1=1; /段锁存 latch1=0; dataport=weimai+firstbit; /取位码 latch2=1; /位锁存 latch2=0; dataport=tempdatai; /取显示数据,段码 latch1=1; /段锁存 latch1=0; i+; if(i=num) i=0;void timer0_init(void) ie=0x82;/开总中断及t0开关 tmod=0x01; th0=(65536-2500)/256; tl0=(65536-2500)%256; tr0=1; /电机开关void dianji(void)if(humidity800&open_off!=1) open_off=1;/*delay_10us(50);open_off=0;delay_10us(1);*/else if(humidity800&open_off=1)else open_off=0;void main()open_off=0;/电机关timer0_init();delay_ms(2200);init(); led_status=1;while(1) getvalue40();value=read_ad();

温馨提示

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

评论

0/150

提交评论