基于ZigBee和STM32的智能家居控制系统的设计与实现(五)–终结篇

基于ZigBee和STM32的智能家居控制系统的设计与实现(五)–终结篇说明首先祝贺自己顺利的完成了毕业答辩工作,想起整个过程还是挺让自己感动的。最后还被评为优秀毕业设计,虽然并没有什么luan用,但是,马上毕业了,还是挺让人怀念的。整个资料从第一篇博客说起就说会全部开源的,期间承蒙各位朋友的支持,给与资助,在此感谢了。虽然资料中私人信息删除了一些,但是不免有疏漏,所以有关个人信息还挺各位删除掉,小

大家好,又见面了,我是你们的朋友全栈君。

基于ZigBee和STM32的智能家居控制系统的设计与实现(五)–终结篇

说明

首先祝贺自己顺利的完成了毕业答辩工作,想起整个过程还是挺让自己感动的。最后还被评为优秀毕业设计,虽然并没有什么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样式是相同的,完全可以提取出来,在此请大家海涵。

资源说明

资源中主要包含了一下部分内容,各位可以先看下,是否是自己需要的。
这里写图片描述

  1. 其他资料
    其他资料中包含了Qt串口介绍,zigbee无线通信介绍以及STM32常见的API介绍。
  2. 硬件相关
    硬件相关中包含了STM32PCB的设计原理图,PCB图暂时么有!
  3. 源码
    源码中包含了本系统最终的3部分代码。(完整代码)

这里写图片描述

这是实际大小,请下载解压后核对。

资料下载地址

上位机界面源码地址:
http://download.csdn.net/detail/u013704336/9490337

如果没有积分可以到github 免费下载
https://github.com/kevinlq/SmartHome-Qt

全部资料地址:
http://download.csdn.net/detail/u013704336/9560355


如果想获取更多资料,关注微信公众号:devstone,回复关键词获取


如果你觉得还可以,请给个赞给与支持,谢谢。
这里写图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/127047.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 【Linux学习】Linux命令卸载软件

    【Linux学习】Linux命令卸载软件1、打开一个终端,输入dpkg–list,按下Enter键,终端输出以下内容,显示的是你电脑上安装的所有软件。2、在终端中找到你需要卸载的软件的名称,列表是按照首字母排序的。3、在终端上输入命令sudoapt-get–purgeremove包名(–purge是可选项,写上这个属性是将软件及其配置文件一并删除,如不需要删除配置文件,可执行sudoapt-getremove包名),此处我要删除的是polipo,那么在终端输入sudoapt-get–purgeremovep

  • Double转BigDecimal进行四舍五入操作时会出现数据损失

    Double转BigDecimal进行四舍五入操作时会出现数据损失工作中遇到四舍五入的处理,查了资料都是讲三种常见的方法。这里就不说了。实际上你会发现,在用BigDecimal转换时根本不是想像中的那么简单。看代码:java.math.BigDecimalbd=newjava.math.BigDecimal(115.5225);//这里将浮点数转化为BigDecimalDoubled=bd.setScale(3,java.math.Bi

  • clion永久激活码_通用破解码

    clion永久激活码_通用破解码,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 一些有意思的 GitHub 项目

    一些有意思的 GitHub 项目GitFiti常用GitHub的同学应该知道GitHub的提交日历,每日提交的次数越多,颜色越深,于是有人写了此项目,可以自动根据配置提交不同次数的日志,这样即可画出指定的图案。看来程序员的脑洞也非常大啊!GitHub地址:https://github.com/gelstudios/gitfitiNoCode正如标题所示,“NoCode”,其作者是来…

  • TinyXML介绍「建议收藏」

    TinyXML介绍「建议收藏」http://www.cnblogs.com/phinecos/archive/2008/03/11/1100912.html读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好。TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Wind

  • linux复制文件夹及赋予权限

    1.cp命令命令:cpdir1/a.docdir2表示将dir1下的a.doc文件复制到dir2目录下cp-rdir1dir2表示将dir1及其dir1下所包含的文件复制到dir2下cp-rdir1/.dir2表示将dir1下的文件复制到dir2,不包括dir1目录说明:cp参数-i:询问,如果目标文件已经存在,则会询问是否覆盖;2.scp命令例如:scpid_rsa.pubrouter_17@IP:/home/router_17/.ssh/authori…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号