ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:246.54KB ,
资源ID:5276488      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5276488.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(智能家居物联网监测系统.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

智能家居物联网监测系统.docx

1、智能家居物联网监测系统智能家居物联网交互系统Domestic Intelligent MonitoringSystem Based on IOT摘要基于物联网技术实现家庭环境参数及图像远程监视,并可对家用电器等实现远程控制。系统由家庭终端、服务器、用户终端三部分构成,家庭终端采用CC3200单片无线MCU通过各种传感器完成图像以及其他环境参数的采集并上传服务器,服务器采用开放物联网平台Yeelink完成数据的存储及管理,用户终端可通过网络访问服务器获得需要的数据或者对可控制家用电器实现控制。关键字:物联网,CC3200,YeelinkAbstrcactThe systems, based on

2、 the Internet of things technology, achieve home environment parameters and image remote monitoring, and can be used to remote control of household appliances. System consists of three parts. The home terminal, using cc3200 Single-Chip Wireless MCU through a variety of sensors, acquire the image and

3、 other environmental parameters and upload them to server. The server, open platform for the Internet of things yeelink, are used to data storage and management. Users can access server through the network to monitor data or to control household appliance.Key words: internet of thing, CC3200, Yeelin

4、k目录1作品难点与创新 52方案论证与设计 62.1家庭终端 62.2服务器 62.3用户终端 73原理分析与硬件电路图 73.1原理分析 73.2硬件设计 83.2.1摄像头模块 93.2.2音频 93.2.3红外 103.2.4其他传感器 104软件设计与流程 104.1程序流程 104.2核心函数 114.2.1 yeelink_post函数 114.2.2 yeelink_post_pic函数 114.2.3 yeelink_get函数 114.3关键代码 124.3.1yeelink_post 124.3.2 yeelink_post_pic 154.3.3 yeelink_get

5、195系统测试与误差分析 235.1温度曲线 235.2 图像监视 236总结 24参考文献 251作品难点与创新物联网技术是当今国家大力发展的一项技术,也是当今国内外研究的重点。目前基于物联网的各种应用层出不穷,人们也都迫切的希望物联网技术能像计算机技术、互联网技术那样带来一种全新的体验。物联网应用于家居智能化更是当前经济和社会发展的一个亮点。本文选取了当前人们比较关心的基于物联网技术的家庭智能监测系统进行研究,探索开发物联网技术在家庭智能监控系统领域的具体应用。本论文以“基于物联网家庭智能监控系统”为题,从于基于物联网的家居监控系统架构设计入手,着眼于研究家庭用户通过电脑、手机等对家庭的图

6、像监控和家电控制的通用技术,并实现一个基于物联网的家居监控系统。论文研究对于促进测控学科的发展及实际应用、推广物联网技术、发展物联网学科、改善家居智能化具有重要意义。本文给出了系统的整体设计方案,对系统的软硬件方面进行了详细设计。经实物系统的软硬联调测试表明:系统能实现环境监测和图像监视并对危险情况进行报警,远程用户可以利用移动终端设备或PC机进行远程图像监视,系统智能化、数字化程度高,用户交互性好。2方案论证与设计本系统由家庭终端、服务器、用户终端三部分构成2.1家庭终端家庭终端完成各环境参数和摄像头的数据采集,并将数据上传至服务器。所以核心MCU需要具备接口丰富,编程开发环境简单易用,功耗

7、低以及具备网络通信能力等特性。有以下两种方案可供选择。方案一:MSP430 MCU扩展有线网络控制器芯片或Wi-Fi控制器芯片 方案二:CC3200单片无线MCU方案比较:方案一低功耗控制灵活,首先在功耗上有优势,其次MSP430为TI经典产品,多年前就在市场上应用广泛,开发资源丰富。如果采用有线网络传输数据,对终端设备的安装要求比较高,需要布线,安装位置受一定限时,安装成本也比较高。无论采用那种扩展芯片,均会造成硬件电路设计复杂,调试困难,如果大批量生产,硬件成品率低。方案二采用是TI 无线连接SimpleLink Wi-Fi和物联网(IoT)解决方案最新推出的一款单片无线MCU CC320

8、0,是业界第一个具有内置Wi-Fi 的MCU,是针对物联网应用、集成高性能ARM Cortex-M4 的无线MCU。CC3200 包括应用MCU、Wi-Fi网络处理器和电源管理3 大部分。除开发资源较少外,CC3200非常于适合本设计使用。综合整体需求,本系统采用方案二。2.2服务器服务器主要完成接收家庭终端采集来的数据,对数据进行存储和管理,以及接收来在监控用户终端的命令,完成相应数据的转发。方案一:自建服务器方案二:使用开放式物联网服务器平台方案比较:自建服务器功能灵活,可根据自己的特殊需要开发需要的功能,但存在技术门槛高,开发难度大,开发工作量大等问题。Yeelink平台是一个开放的通用

9、物联网平台,主要提供传感器数据的接入,存储和展现服务,为所有的开源软硬件爱好者、制造型企业,提供一个物联网项目的平台,使得硬件和制造业者能够在不关心服务器实现细节和运维的情况下,拥有交付物联网化的电子产品的能力。结合本系统开发周期短以及Yeelink平台完全能满足现有功能需要的综合考虑,本系统采用Yeelink平台做为服务器。2.3用户终端用户终端实现数据的访问和远程控制功能。方案一:自己编写用户终端软件。方案二:使用平台提供终端软件。由于技术瓶颈以及服务端采用开放的通用物联网平台Yeelink并且该平台也提供手机应用用户终端软件,本系统采用系统提供的终端软件。3原理分析与硬件电路图本章介绍了

10、系统的总体结构并分析了实现原理,同时详细介绍了家庭终端的硬件设计。3.1原理分析系统示意图如图3-1所示。图3-1 系统示意图本系统由家庭终端、服务器、用户终端三部分构成。家庭终端通过Wi-Fi连接AP,通过AP连接Yeelink服务器 80端口,通过TCP连接按照指定格式向Yeelink服务器发送数据报文,从而把本地数据上传到服务器。发送查询报文,获得服务器返回的控制信息。3.2硬件设计本系统核心硬件为TI公司CC3200芯片,该芯片采用QFN封装并具有全集成射频及模拟功能电路,因此允许开发人员通过将器件直接布设在PCB上来创建一种低成本、紧凑的易用型系统。硬件框图如图,3-2所示:图3-2

11、 硬件框图3.2.1摄像头模块摄像头模块采用美光MT9D111 200万像素CMOS图像传感器。MT9D111是一种1/3英寸、200万像素的CMOS图像传感器,它自带有集成的先进相机系统。此相机系统包含一个复杂的图像流处理器(IFP)、一个实时JPEG编码器、一个集成的微控制器、闪光支持、自动聚焦、光学缩放以及机械快门。整个系统级芯片(SoC)可以在低照度条件下具备卓越的性能,同时功耗很低。MT9D111可方便与CC3200的Camera接口连接。3.2.2音频音频部分核心器件为TLV320AIC3254,该芯片是德州仪器 (TI) 推出的高度集成的音频编解码器,可帮助领先消费类电子产品公司

12、满足日益增长的消费需求,实现具有更高音频质量与更长电池使用寿命的功能丰富的低成本产品。1.8 V 编解码器采用集成电源管理与双miniDSP音频处理引擎,可帮助设计人员降低整体音频解决方案成本,简化手机、便携式导航以及便携式媒体产品的高级音频特性设计流程。3.2.3红外采用PWM驱动红外发射管,发送控制指令,对可用红外遥控器控制的家用电器进行控制。3.2.4其他传感器模拟量输出传感器经过适当分压接入ADC 接口,数字量传感器经过电平转换通过GPIO接入。4软件设计与流程软件开发采用IAR集成开发环境,采用C语言编程。4.1程序流程图4-1 主程序流程图主程序流程流程图如图4-1 所示。4.2核

13、心函数本小节介绍yeelink_post、yeelink_post_pic、yeelink_get三个核心函数。4.2.1 yeelink_post函数函数原型:char yeelink_post(const char *device_id,const char *sensors_id,float value)参数:字符串类型设备ID,字符串类型传感器ID,浮点型数值。返回值:04.2.2 yeelink_post_pic函数函数原型:char yeelink_post_pic(const char *device_id,const char *sensors_id, unsigned int

14、 len,unsigned int HeaderLen,char * buf1,char * buf2)参数:字符串类型设备ID,字符串类型传感器ID,无符号整形图像文件长度,无符号整形图像头文件长度,图像文件数据指针,图像头数据指针。返回值:04.2.3 yeelink_get函数函数原型:char yeelink_get(const char *device_id,const char *sensors_id,char * value)参数:字符串类型设备ID,字符串类型传感器ID,字符串指针类型数值。返回值:04.3关键代码3个核心函数源代码如下:4.3.1yeelink_postcha

15、r yeelink_post(const char *device_id,const char *sensors_id,float value)char remote_server = ; char str_tmp128 = 0; SlSockAddrIn_t sAddr; int iAddrSize; int iSockID; int iStatus; long lRetVal = -1; / Http内容,表单内容 char http_content32 = 0; sprintf(str_tmp,/v1.0/device/%s/sensor/%s/datapoints,device_id,

16、sensors_id); /确定HTTP表单提交内容 value:20 sprintf( http_content , value:%f , value); /确定 HTTP请求首部 sprintf( http_request , POST %s HTTP/1.1rn,str_tmp); /增加属性 例如 Host: rn sprintf( str_tmp , Host:%srn , remote_server); strcat( http_request , str_tmp); /增加密码 例如 APIKey: d8a605daa5f4c8a3ad086151686dce64 sprintf

17、( str_tmp , U-ApiKey:%srn , 6917ef67bfcb85fdcba24e2d6ea902bf); strcat( http_request , str_tmp); /strcat( http_request , Accept: */*rn); /增加提交表单内容的长度 例如 Content-Length:12rn sprintf( str_tmp , Content-Length:%drn ,strlen(http_content) ); strcat( http_request , str_tmp); /增加表单编码格式 Content-Type:applicat

18、ion/x-www-form-urlencodedrn strcat( http_request , Content-Type: application/x-www-form-urlencodedrn); strcat( http_request , Connection: keep-alivern); / HTTP首部和HTTP内容 分隔部分 strcat( http_request , rn); / HTTP负载内容 strcat( http_request , http_content); / Get external host IP address lRetVal=sl_NetAppD

19、nsGetHostByName(signed char*)HOST_NAME, sizeof(HOST_NAME),&g_ulDestinationIp, SL_AF_INET); ASSERT_ON_ERROR(lRetVal); /filling the TCP server socket address sAddr.sin_family = SL_AF_INET; sAddr.sin_port = sl_Htons(unsigned short)80); sAddr.sin_addr.s_addr = sl_Htonl(unsigned int)g_ulDestinationIp); i

20、AddrSize = sizeof(SlSockAddrIn_t); / creating a TCP socket iSockID = sl_Socket(SL_AF_INET,SL_SOCK_STREAM, 0); if( iSockID 0 ) ASSERT_ON_ERROR(TCP_CLIENT_FAILED); / connecting to TCP server iStatus = sl_Connect(iSockID, ( SlSockAddr_t *)&sAddr, iAddrSize); if( iStatus 0 ) / error ASSERT_ON_ERROR(sl_C

21、lose(iSockID); ASSERT_ON_ERROR(TCP_CLIENT_FAILED); else Report(connected to TCP server successfullynr); Report(Wireless serial STATION configure successfullynr); /发送请求 iStatus = sl_Send(iSockID,(unsigned char *)http_request,strlen(http_request),0);if(iStatus != strlen(http_request) Report(%d:Socket

22、Send Errorrn,iStatus); while(1); /获得响应 iStatus = sl_Recv(iSockID, g_cBsdBuf, BUF_SIZE, 0); if( iStatus = 0 ) /Report(iStatus = %dnr,iStatus); else UART_SEND_BUF(unsigned char*)g_cBsdBuf,iStatus); /iStatus = sl_Send(iSockID,g_cBsdBuf,iStatus,0); /判断是否收到HTTP OK sl_Close(iSockID); return 0;4.3.2 yeelin

23、k_post_picchar yeelink_post_pic(const char *device_id,const char *sensors_id,unsigned int len,unsigned int HeaderLen,char * buf1,char * buf2)#define HOST_NAME char remote_server = ; char str_tmp128 = 0; SlSockAddrIn_t sAddr; int iAddrSize; int iSockID; int iStatus; long lRetVal = -1; sprintf(str_tmp

24、,/v1.1/device/%s/sensor/%s/datapoints,device_id,sensors_id);/确定 HTTP请求首部 sprintf( http_request , POST %s HTTP/1.1rn,str_tmp); strcat( http_request , Accept: application/jsonrn); /增加表单编码格式 strcat( http_request , Content-Type: image/jpegrn); /增加密码 例如 APIKey: d8a605daa5f4c8a3ad086151686dce64 sprintf( s

25、tr_tmp , U-ApiKey: %srn , 6917ef67bfcb85fdcba24e2d6ea902bf); strcat( http_request , str_tmp); /增加属性 例如 Host: rn sprintf( str_tmp , Host: %srn , remote_server); strcat( http_request , str_tmp); / 增加提交表单内容的长度 例如 Content-Length:12rn sprintf( str_tmp , Content-Length: %drn ,(len + HeaderLen); /sprintf(

26、str_tmp , Content-Length:%drn ,strlen(http_content) ); strcat( http_request , str_tmp); strcat( http_request , Expect: 100-continuern); strcat( http_request , Connection: keep-alivern); / HTTP首部和HTTP内容 分隔部分 strcat( http_request , rn); / HTTP负载内容 /strcat( http_request , http_content); Report(%s,http_

27、request); / Get external host IP address lRetVal = sl_NetAppDnsGetHostByName(signed char*)HOST_NAME, sizeof(HOST_NAME),&g_ulDestinationIp, SL_AF_INET); /ASSERT_ON_ERROR(lRetVal); /filling the TCP server socket address sAddr.sin_family = SL_AF_INET; sAddr.sin_port = sl_Htons(unsigned short)80); sAddr

28、.sin_addr.s_addr = sl_Htonl(unsigned int)g_ulDestinationIp); iAddrSize = sizeof(SlSockAddrIn_t); / creating a TCP socket iSockID = sl_Socket(SL_AF_INET,SL_SOCK_STREAM, 0); if( iSockID 0 ) ASSERT_ON_ERROR(TCP_CLIENT_FAILED); / connecting to TCP server iStatus = sl_Connect(iSockID, ( SlSockAddr_t *)&s

29、Addr, iAddrSize); if( iStatus 0 ) ASSERT_ON_ERROR(sl_Close(iSockID); ASSERT_ON_ERROR(TCP_CLIENT_FAILED); else Report(connected to TCP server successfullynr); /发送请求 Report(strlen(http_request) = %d bytesrn,strlen(http_request); iStatus = sl_Send(iSockID,(unsigned char *)http_request,strlen(http_reque

30、st),0); if(iStatus != strlen(http_request) Report(%d:Socket Send Errorrn,iStatus); /获得响应 iStatus = sl_Recv(iSockID, g_cBsdBuf, BUF_SIZE, 0); if( iStatus = 0 ) else UART_SEND_BUF(unsigned char*)g_cBsdBuf,iStatus); /循环发送数据 int i,loopcnt; int remain; loopcnt = len/1460; remain = len%1460; Report(len=%d loop=%d remain=%d bytesrn,len,loopcnt,remain); /header iStatus = sl_Send(iSockID,buf1,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1