智能家居系统主要基于RT-thread与ZigBee开发,该系统主要分为五大部分,ZigBee无线传感器监控子系统,语音识别子系统,总控子系统,网关子系统,云端监控子系统。ZigBee无线传感器子系统通过各个传感器节点采集数据,将采集的数据通过无线网络系统传递给协调器,由协调器与总控系统进行数据交换,以完成数据的传递。总控系统通过网络将数据上传至网络,用户就能在远程进行查家中的各种环境信息,实时掌握家中的最新动态。语音识别子系统可实现人机交互,实现家电设备的智能化控制。网关子系统有两大作用,一是提供整个系统的网络;二是搭载摄像头来采集视频数据,实施远程监控的功能。云端监控子系统主要用于统计分析家中环境信息,通过可视化的界面了解家中最新动态。总控子系统为整个智能家居系统的核心所在,协调各个子系统正常运转。
开发环境
硬件:ART-Pi,ZigBee终端,STM32F103最小系统板,MT7628最小系统板
传感器:DH11传感器, LD3320语音识别模块,SYN6288语音合成模块等
RT-Thread版本:RT-Thread V 4.0.3
开发工具及版本:
MDK: 5.30
Ubuntu:1604
IAR:8.20
RT-Thread使用情况概述
该智能家居系统有两个子系统采用了RT-Thread系统,分别是语音识别子系统,总控子系统。
语音识别子系统使用的是RT-Thread Nano,使用了多线程,移植了FinSH 组件,方便了该子系统调试。
总控子系统采用了完整版的RT-Thread系统,内核部分使用了调度器,信号量等;驱动部分使用了UART、SPI、BT、WiFi等;协议栈使用了MQTT等。软件包部分使用了Onenet、cJSON等。
系统架构
本文所提出的智能家居系统解决方案整体框架如图所示。通过技术论证和架构分析后,决定将系统划分为五个子系统:ZigBee无线传感器监控子系统,语音识别子系统,总控子系统,网关子系统,云端监控子系统。ZigBee无线传感器监控子系统通过各个传感器节点采集数据,将采集的数据通过无线网络系统传递给路由节点,再通过路由节点将收集的各个终端节点的数据进行二次传递给协调器,由协调器与总控系统进行数据交换,以完成数据的传递。总控系统通过无线网络将数据上传至网络,用户就能在远程进行查家中的各种环境信息,实时掌握家中的最新动态。语音识别子系统可实现人机交互,实现家电设备的智能化控制。网关子系统有两大作用,一是连接以太网;二是搭载摄像头采集视频数据,实施远程监控的功能。云端监控子系统主要用于统计分析家中环境信息,通过可视化的界面了解家中最新动态。总控子系统为整个智能家居系统的核心所在,协调各个子系统正常运转。
演示效果
心得感悟
通过本次比赛,我不仅丰富可项目实践经验,而且对RT-Thread有了深入的学习和理解,我学习了RT-Thread的多线程及其调度、信号量、邮箱、消息队列、内存管理等,外设驱动以及各个组件等相关知识。通过这次比赛的项目实践,我又积累了不少调试经验,丰富了我的知识体系。
最后感谢主办方提供了这么好的一个平台,让我有机会展示自己,还让我学到很多知识。希望在以后的自己里也能为RT-Thread开源社区贡献自己的力量。