毕业设计——基于ZigBee的智能窗户控制系统的设计与实现

时间:2024-03-08 08:30:35
摘要:本文主要讲述了博主本科物联网工程专业的毕业设计——基于ZigBee的智能窗户控制系统的设计与实现的开发过程,包括题目选择,应用场景问题描述,提出解决方案,系统设计,系统实现,系统展示,毕业论文撰写,总结与展望。另外还有一些开发过程中借鉴的学习资料和建议,都放在文末的百度网盘链接里,其实毕业已经有短时间了,多少有些拖延,终于能够把东西整理出来,希望能够帮助有需要的同学哈,下面开始(长文警告)。

一、题目选择

  基于物联网的智能窗户控制系统的设计与实现,当时我们可选的题目不多,主要借鉴来源有几个,一个是前几届学长学姐的前车之鉴,一个是物联网大赛题目,一个是淘宝在卖商品,还有就是专业课上所听所学。我选这个的题目是完成小时候的一个想法吧,还记得当时兴奋的一晚上没有睡好,机缘巧合啊,很幸运能够有机会在大学毕业时候实现它。

二、应用场景问题描述

•天空突降大雨,家中窗户没关导致房屋进水;
家中燃气泄漏,不能及时通风散气,威胁人身安全;
人们想要开窗通风,又对空气质量问题心存芥蒂;
人们渴望通过诸如智能手机之类的移动设备来远程控制家中的窗户。

三、提出解决方案

  设计一种智能窗户系统
能够检测到下雨,及时关窗。
能够检测空气质量,如果空气质量不好、存在有害气体或者可燃气体等,一定条件下自动开窗通风。
能够自动开关窗户,节省人力。

四、系统设计

  本文提出了一种基于ZigBee的智能窗户控制系统。
该系统以CC2530单片机为主控芯片,以雨滴、可燃气体和空气质量检测传感器感知外界环境变化,定时采集数据并将数据通过ZigBee网络传输并汇聚到协调器节点,协调器节点综合当前环境变化合理控制窗户开关。另外协调器节点连接WiFi通讯模块以实现远程控制窗户开闭的功能。
  该系统可根据外界环境变化智能控制窗户开关,用户也可通过智能手机远程控制窗户开关,实现了窗户控制系统的智能化、无线化和网络化。

五、系统实现

  本文提出了一种基于ZigBee的智能窗户控制系统的设计方案,系统总体结构示意图如下图所示。
                  
  终端节点通过ZigBee网络将采集到的数据发送给协调器,实现智能窗户控制系统的无线化。
协调器经过判断,通过ZigBee网络发送给终端节点相应的操作指令,实现智能窗户控制系统的智能化。
  用户可通过智能手机发送指令到云服务器,云服务器再发送指令到WIFI模块,进而控制协调器工作,实现智能窗户控制系统的网络化。
  本设计采用ZigBee短距离无线通信技术,具有低成本,低功耗,低速率等特点,弥补了一般智能窗户控制系统现场布线带来的安装复杂,维护不便,安全性差等缺陷。此外,添加WiFi通讯模块后可实现远程控制窗户的目的。
 
关于硬件购买
1.建议购买淘宝大店的模块,资料齐全而且会有相对优质的技术支持,不要想着自己技术可以就想随便买回来自己搞,不然可能几天都没有一点进展(不要问我怎么知道的。。)
2.如果你的设计用CC2530收集数据,而且用到WIFI模块建议直接购买淘宝上已经集成在一起的开发板,能省去很多麻烦,我的毕业设计缺点就是模块拼接组装导致技术实现饶了弯路。
 
关于软件开发环境介绍:
CC2530的代码在IAR下编写,调试,烧录。
ESP8266模块在sublim下编写,在乐鑫提供的Ebuntu下编译,调试,ESP8266提供的转用烧录工具烧录。具体参考https://docs.ai-thinker.com/esp8266
 
关于软件开发
  什么都不会不要紧,毕业设计是你大学四年的一个总结,逼自己一把,而且现在淘宝卖家提供的资料非常齐全,下点功夫,多试试你也可以的。

六、系统展示

        
  毕业论文中有系统模块介绍和系统测试逻辑,有需要的同学自取。

七、毕业论文撰写

   关于毕业论文的撰写,我觉得硬件作品都出来了,论文就是搜集资料,围绕硬件填充论文即可。我写的时候先把整体框架搭起来,然后写小标题,然后画段落,再百度,知网搜集资料,可以大段复制粘贴,只要跟你所要表达的意思相关就好,然后从前到后顺一遍,用自己的话顺一遍,然后交给老师审初稿,保证框架和内容无误后就是查重了。
  先查一遍重,哪红改哪,红的太多就直接删掉,红的少的找同义词替换即可。

八、总结与展望

  迫于个人时间、技术有限,目前该设计还有一些不足。比如远程控制部分实现的功能不够完善,ZigBee网络的数据还不能通过WiFi模块上传至机智云服务器,也就不能显示在App页面,原因是要想实现ZigBee网络底层数据上传需要使用独立MCU方案,将Gizwits协议和Zstack协议对接,但是对接过程中需要设计开发板硬件条件,本设计采用的ESP-12F模块运行独立Soc方案,只是通过串口打印给协调器,严格来说不符合技术开发常理。再比如为了测试便捷,没有实现传感器的模拟量读取和转化,实现更精确的阈值控制。
  小小作品,大佬多多赐教。
 
关于资料下载
  CC2530代码是一个协议栈开发,所以需要放在SmartWin\ZStack-CC2530-2.5.1a\Projects\zstack\Samples下打开。
  ESP8266代码是32M源码,从机智云下载的。
  论文中可能涉及个人信息,如需引用,还望谨慎处理,在此谢过。
下载地址链接:https://pan.baidu.com/s/12n92yyXyreyBiPMbR6Z9Gg
提取码:ebt0