2 Star 1 Fork 0

ouxiaolong / Smart_Home_Assistant

Create your Gitee Account
Explore and code with more than 8 million developers,Free private repositories !:)
Sign up
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

智能家居助手

1介绍

智能家居助手主要基于RT-thread开发的,该系统主要分为语音子系统,环境监测子系统,智能控制子系统,智能网关子系统,音乐播放器,云端以及应用软件七大部分。语音子系统可通过语音进行人机交互来控制家电设备。环境监测子系统为智能家居提供环境信息输入,实时监测室内的环境信息。智能控制子系统为智能家居提供控制接口,用户可根据实际需求来控制家电设备。智能网关是整个系统的核心和枢纽,为整个智能家居提供网络,同时与云平台进行交互,不断更新室内信息,实时将数据上传至云端,用户就能在远程进行查室内的各种环境信息,实时掌握家中的最新动态。音乐播放器为用户提供音乐服务。云端部分为智能家居系统云服务,提供输出存储与分析服务。应用软件和语音子系统是等效的,方便用户使用。

2系统架构

系统整体架构如图所示。

该系统主要包含三大核心功能:音乐播放、智能控制、环境监测。

该系统两种交互方式:语音交互、网络(应用软件)。

3开发环境

硬件:AB32VG1, ART-Pi, TWen-ASR-ONE(语音识别)

RT-Thread版本:RT-Thread V 4.0.3

云服务:OneNET

4软件实现说明

4.1核心功能

第一部分:音乐播放

音乐播放是本项目的一大功能,主要由AB32VG1开发板实现,板载由SD卡接口,将音乐存入SD卡,板子上电初始化完成后,即可通过语音、网络控制音乐的播放,当然,也可使用板载的按键控制,同时根据音乐的大小通过PWM控制RGB灯,可以说,非常炫酷。音乐播放提供开始、停止、暂停、恢复播放、上/下一首、增加/减小音量服务,同时还可自动扫描SD卡的歌曲,可循环播放音乐,提供多种控制方式,非常方便。

音乐播放的主要流程如下所示。

第二部分:智能控制

该智能家居助手还能控制家电设备,本项目通过控制PWM控制室内的小夜灯,另外通过电机正反转来模拟控制窗帘的开启与关闭,当然,用户可根据实际需要增加更多的家电设备。

第三部分:环境监测

ART-Pi智能网关上电之后完成板级初始化,接着初始化传感器,就会定时采集环境信息,在连接网络和云端后,就会定时向云端发送数据。同时建立本地服务,当有客户端接入网络,也会定时向客户端发送环境信息。

云端得到相应的数据后,绘制室内的温湿度曲线,也可实时查看当前的温湿度信息。

另外,为了保证数据传输的可靠性,设计了简单的数据传输协议保证数据的可靠交互。

环境监测的流程图如下所示。

4.2交互方式

第一部分:语音交互

语音模块上电之后完成板级初始化,初始化完成后有提示音即可,就可通过语音进行信息交互,比如开关灯,音乐播放等交互。

语音交互流程如下图所示。

第二部分:应用软件(网络)

应用软件是基于PyQT5开发,可在Windows、Linux、MacOS平台运行,通过socket编程与网关通信。应用软件的功能和语音交互的功能差不多,开发的目的是为用户提供更多的选择,方便用户使用。

用户使用应用软件的流程如下:

5功能演示

演示截图如下:

云端信息:

6 心得体会

通过这次比赛,收获颇丰,不仅学习到了一些专业知识,还遇到了一些优秀的开发者,从他们身上学到了很多东西。

通过中科蓝讯的SDK、相关文档以及培训视频,我快速使用起来了AB32VG1开发板,学习了音频等设备的开发,并实现了自己的一些想法。我的作品还用到了RT-Thread,通过RT-Thread官网上的文档中心,我学习了多线程及其调度、信号量、邮箱、消息队列、内存管理、定时器等,通过这次比赛的项目实践,我对RTT也有了全新的认识。

最后感谢主办方提供了这么好的一个平台,不仅进行了自我展示,还学到了很多专业知识。

7 版本更新

20211208_V1.0

1.发布第一个版本,实现智能家居助手的基本功能。

20211211_V1.1

1.为art-pi增加消息队列,用于存储TWen-ASR-ONE发送的消息,防止消息丢失。

1.优化art-pi和ab32vg1的串口通信,增加冗余校验。

2.优化SmartHomeAssistant软件,提高SmartHomeAssistant的可靠性。

About

基于RT-Thread的智能家居助手 expand collapse
C and 6 more languages
Apache-2.0
Cancel

Releases

No release

Contributors

All

Activities

Load More
can not load any more
C
1
https://gitee.com/ouxiaolong/Smart_Home_Assistant.git
git@gitee.com:ouxiaolong/Smart_Home_Assistant.git
ouxiaolong
Smart_Home_Assistant
Smart_Home_Assistant
master

Search