开发系统: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样式是相同的,完全可以提取出来,在此请大家海涵。
2021-05-30 14:59:13 55.88MB 基于zigbee和ARM的智能家
1