• 9605阅读
  • 19回复

基于zigbee和STM32的智能家居环境监测系统 [复制链接]

上一主题 下一主题
离线crazy
 

只看楼主 倒序阅读 楼主  发表于: 2016-06-27
— 本帖被 XChinux 执行加亮操作(2016-07-12) —
首先祝贺自己顺利的完成了毕业答辩工作,想起整个过程还是挺让自己感动的。最后还被评为优秀毕业设计,虽然并没有什么luan用,但是,马上毕业了,还是挺让人怀念的。整个资料从第一篇博客说起就说会全部开源的,期间承蒙各位朋友的支持,给与资助,在此感谢了。虽然资料中私人信息删除了一些,但是不免有疏漏,所以有关个人信息还挺各位删除掉,小弟在此谢谢了!


开发系统:Windows10 64
          Ubuntu 14.04 32
软件版本:Qt 4.8.6
          IAR .0
          Altium Designer 13.0
工具链:arm-linux-gcc 4.4.3

系统实现的主要功能如下所示:
1.    STM32下位机
(1)    应用了小型的嵌入式操作系统μC/OS-II
(2)    各个传感器的数据以多任务的形式获取,实时性很好;
(3)    数据调试使用STM32串口1
(4)    数据的发送使用STM32的串口3,并以任务的形式进行打包发送,具体数据帧格式请看代码;
(5)    STM32接收数据采用终端方式,当有数据到来时会触发终端,进入数据接收解析过程,在此过程中会对数据的帧头等信息进行判断;
2.    Zigbee无线通信
Zigbee部分其实没有太多功能,一句话概括就是一个串口透传功能!本来当初计划直接使用zigbee驱动各个传感器,然后组网后发送给协调器,考虑到既然学习了STM32,就利用上吧!其实这里完全可以直接使用zigbee,不使用STM32的。
两套方案的编码工作其实早就已经完成了,思考了好久才决定采用STM32+zigbee方式,这样下来可以学到很多,尤其是μC/OS-II系统的移植,还是很深奥的,很值的以后继续深入的去学习。
3.    ARM上位机
ARM上位机采用友善支臂的SMART210开发板,自己后续移植了Qt4.8。上位机主要实现了一下几个功能:
(1)    模拟室内三个场景:卧室、客厅、厨房
(2)    分别对这个三个场景下的温度,湿度以及烟雾浓度进行一个测量并显示
(3)    使用LED灯模拟室内照明灯;
(4)    使用人体红外传感器进行检测是否有人(这个传感器有点不靠谱,最后取消了)
(5)    当初计划添加视频监控,到了后期发现工作量太大,没有时间做了,所以就没有完成,这点以后会添加上去的。
(6)    代码中使用了“liudianwu”分享的一些api,由于时间紧,所以直接拿来用了,在此感谢!
(7)    代码重复率有点高,好几处的button样式是相同的,完全可以提取出来,在此请大家海涵。
详细介绍以及全部资料可以看这里:
全部资料

C/C++/Qt爱好者
邮箱: kevinlq0912@163.com
公众号: devstone
博客:http://kevinlq.com/
离线nigoole

只看该作者 1楼 发表于: 2016-06-27
期待已久!
有句话说得好:好好学习,天天向上。加油~~!有上船的朋友联系企鹅393320854
离线cycloveu

只看该作者 2楼 发表于: 2016-06-27
毕业做到这个程度不错了
大道至简 悟在天成
离线eado78

只看该作者 3楼 发表于: 2016-06-27
大概看了一下,感谢楼主的分享,值得学习。
另外想咨询一下,zigbee在系统中的通信用在哪里?是否大概是以下系统结构?
离线lsyzsl

只看该作者 4楼 发表于: 2016-06-27
楼主太牛了。值得学习。
离线donglaile

只看该作者 5楼 发表于: 2016-06-27
不是有TI的contiki多任务操作系统吗,为啥还用uCos
离线eado78

只看该作者 6楼 发表于: 2016-06-27
回 donglaile 的帖子
donglaile:不是有TI的contiki多任务操作系统吗,为啥还用uCos (2016-06-27 16:11) 

估计架构就不一样了,contiki+6lowpan用法多一点。
离线crazy

只看该作者 7楼 发表于: 2016-06-27
回 cycloveu 的帖子
cycloveu:毕业做到这个程度不错了 (2016-06-27 11:21) 

多谢夸奖,其实也很水的
C/C++/Qt爱好者
邮箱: kevinlq0912@163.com
公众号: devstone
博客:http://kevinlq.com/
离线crazy

只看该作者 8楼 发表于: 2016-06-27
回 lsyzsl 的帖子
lsyzsl:楼主太牛了。值得学习。 (2016-06-27 13:57) 

互相学习吧
C/C++/Qt爱好者
邮箱: kevinlq0912@163.com
公众号: devstone
博客:http://kevinlq.com/
离线crazy

只看该作者 9楼 发表于: 2016-06-27
回 donglaile 的帖子
donglaile:不是有TI的contiki多任务操作系统吗,为啥还用uCos (2016-06-27 16:11) 

对ucos熟悉点,加上时间紧,就直接使用ucos了
C/C++/Qt爱好者
邮箱: kevinlq0912@163.com
公众号: devstone
博客:http://kevinlq.com/
离线crazy

只看该作者 10楼 发表于: 2016-06-27
回 eado78 的帖子
eado78:大概看了一下,感谢楼主的分享,值得学习。
另外想咨询一下,zigbee在系统中的通信用在哪里?是否大概是以下系统结构?
[图片] (2016-06-27 11:27) 

这个你看下我资料中的介绍就知道了,zigbee在这里只起到无线传输
C/C++/Qt爱好者
邮箱: kevinlq0912@163.com
公众号: devstone
博客:http://kevinlq.com/
离线z278930050

只看该作者 11楼 发表于: 2016-06-27
   很棒的作品  资料也很全
离线zb003@126.co

只看该作者 12楼 发表于: 2016-06-28
毕业设计做到这个程度,属于非常厉害的了,比单纯的东凑西凑的写篇论文强大太多 了。
离线lsyzsl

只看该作者 13楼 发表于: 2016-06-29
对Arm和STM甚是好奇,我如果想学习这方面的东西,从哪下手?要买什么?求推荐。
离线crazy

只看该作者 14楼 发表于: 2016-07-03
回 lsyzsl 的帖子
lsyzsl:对Arm和STM甚是好奇,我如果想学习这方面的东西,从哪下手?要买什么?求推荐。 (2016-06-29 09:14) 

这东西得买快板子,学起来就快了
C/C++/Qt爱好者
邮箱: kevinlq0912@163.com
公众号: devstone
博客:http://kevinlq.com/
离线t1029901995

只看该作者 15楼 发表于: 2016-07-04
一直关注着,,,
离线lsyzsl

只看该作者 16楼 发表于: 2016-07-06
买什么板子?求推荐啊!!!
离线木村拓哉

只看该作者 17楼 发表于: 2016-07-11
楼主的毕业设计做的很好,
单纯讲实际应用,传感器数量少的话没有必要使用UCOS,自己写一套中断、任务轮询机制效率会更高。如果传感器数量多,房间节点多,也不可能只用一块STM32了。
当然,对于毕业设计,使用UCOS是一种能力的体现
离线兵317

只看该作者 18楼 发表于: 2016-07-11
当初毕设也是类似的,养殖场环境监测系统,TQ6410+ZIGBEE,那时也是第一次接触Qt,第一次接触开发板,第一次接触ZigBee,谈不上什么喜欢与不喜欢,只是做了,从ZigBee终端节点接收各个传感器数据到协调器,协调器传给ARM11,ARM11将这些数据存入sqlite3,并在Qt界面进行显示各个点的信息,支持历史数据查询,数据报警等功能,功能简单,也马马虎虎过了,一份回忆吧。
离线liuxin_star

只看该作者 19楼 发表于: 2016-07-11
08年就做过,太老了
快速回复
限100 字节
 
上一个 下一个