【project】ZigBee小型环境监测系统(+源代码)

当时想把整个学期所学内容联系起来,所以有了这个数据库+ZigBee+Qt的小型环境监测系统,存档并分享源代码。


00-设计篇

   该系统用于测试环境中的一些常用数据,范围比较窄,只应用过在实验室内的仪器环境监控,采用ZigBee协议通讯,SQlite数据库以及一个简洁的Qt界面进行数据查看和处理。

环境数据包
环境数据包
环境数据包
串口数据
ZigBee终端
ZigBee协调器
ZigBee终端
.......
PC上位机
Qt界面操作
SQlite数据库

  ZigBee终端上带的传感器种类可以非常多,温度、湿度、亮度、烟雾浓度、空气质量等等,小白因为比较懒,只用了温度度和亮度(比较好演示),而且这3个传感器都集成在一个ZigBee节点上。

  至于界面的设计,因为刚学Qt,所以只做出了非常朴素简洁的界面,也够用了。
在这里插入图片描述

  更加详细的设计,比如数据库设计、ZigBee通讯设计等在文章末尾的分享链接中。

01-硬件篇

  小白使用的ZigBee模块是这种

在这里插入图片描述

  底座是一个扩展板,上面连接着CC2530核心插板以及传感器插板,可以随意更换传感器插板,还有一个温湿度的传感器插板,另外,这种ZigBee模块每一个都自带有温度传感器和亮度传感器,所以就上面而言,已经有3个传感器可以使用。

02-软件篇

  ZigBee是基于Sample例程的,编程比较简单,对于终端而言,接上传感器插板后,按照使用手册初始化引脚以及获取数据即可,然后使用协议栈的定时器,定时采集函数,使用自己定义好的数据帧格式,通过AF_DataRequest函数发送给地址为0x00的协调器即可。

协议栈初始化
传感器初始化
开启定时器
采集数据并发送

  对于协调器而言,它只负责通过串口转发收到的数据,并不对处理进行处理,在SampleApp_ProcessEvent识别到网络数据包的到来,调用SampleApp_MessageMSGCB函数进行处理,在里面识别蔟ID,然后串口转发就可以了。

协议栈初始化
串口初始化
等待数据
串口转发

在这里插入图片描述

  Qt主要做界面和数据库操作。
  对于数据库,负责接收协调器串口发送的数据,并对数据进行解包,得到对应的环境数据,当识别到用户登录的时候,就开启显示模式,实时显示数据在界面上,同时隔一段时间就记录入数据库,设计数据库记录上限,当超出上限后就把旧数据覆盖。管理员负责对传感器和职工进行管理,基本的增删查改功能。
在这里插入图片描述

03-测试篇

  工作台,一个协调器、一个终端和一个windows PC。
在这里插入图片描述

  连接好ZigBee后,开启电源,等待组网完成,完成后的ZigBee节点都会周期性闪烁LED,然后打开Sensor
在这里插入图片描述

  输入账号密码,通过账号的第一位区分用户和管理员,为方便演示,密码统一为123,管理员界面如下

  用户操作界面如下,捂住亮度传感器,亮度变小,拿冰块放到温度传感器处,出现低温预警
在这里插入图片描述

在这里插入图片描述

网盘链接

最后分享源代码和所有文件:[百度网盘]https://pan.baidu.com/s/1dTm3Ch1zEcc2x0H9wyfL6g 提取码: op5g

文件目录
在这里插入图片描述

演示PPT
在这里插入图片描述

设计work
在这里插入图片描述

使用手册
在这里插入图片描述

  • 34
    点赞
  • 220
    收藏
    觉得还不错? 一键收藏
  • 40
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 40
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值