一、项目简介
智能家居助手主要基于RT-Thread开发的,该系统主要分为语音子系统,环境监测子系统,智能控制子系统,智能网关子系统,音乐播放器,云端以及应用软件七大部分。语音子系统可通过语音进行人机交互来控制家电设备。环境监测子系统为智能家居提供环境信息输入,实时监测室内的环境信息。智能控制子系统为智能家居提供控制接口,用户可根据实际需求来控制家电设备。
智能网关是整个系统的核心和枢纽,为整个智能家居提供网络,同时与云平台进行交互,不断更新室内信息,实时将数据上传至云端,用户就能在远程进行查室内的各种环境信息,实时掌握家中的最新动态。音乐播放器为用户提供音乐服务。云端部分为智能家居系统云服务,提供输出存储与分析服务。应用软件和语音子系统是等效的,方便用户使用。
二、硬件组成
1.AB32VG1
AB32VG1开发板是以中科蓝讯(Bluetrum)公司推出的基于RISC-V架构的高配置芯片AB5301A为核心所组成的。
板载资源:
CPU: AB5301A;( LQFP48 封装,主频 120M,片上集成 RAM 192K, flash 8 Mbit, ADCPWM, USB, UART, IIC 等资源)
搭载蓝牙模块,FM 模块,一路 TF Card 接口,一路 USB 接口,一路 IIC 接口,一路音频接口(美标 CTIA),六路 ADC 输入引脚端子引出,六路 PWM 输出引脚端子引出,一个全彩 LED 灯模块, 一个电源指示灯, 三个烧录指示灯,一个 IRDA(红外接收端口),一个 Reset 按键, 三个功能按键(通用版为两个功能按键)
板子规格尺寸: 6cm*9cm
I/O 口通过 2.54MM 标准间距引出, 同时兼容 Arduino Uno 扩展接口, 方便二次开发板上所有的硬件特性能快速帮助评估 AB5301A 所有外设和衍生开发新的应用。
2.ART-Pi
ART-Pi 是 RT-Thread 官方推出一款具有高度可扩展性的硬件,能很好的满足绝大多数开发人员的 DIY 想法,其具备性能强大的主控,实用的外设,丰富的扩展接口,是学习、开发、DIY 的不二之选。
3.TWen-ASR-ONE(语音识别)
ASR-ONE是一颗专用于语音处理的人工智能芯片, 可广泛应用于家电、 家居、 照明、 玩具等产品领域, 实现语音交互及控制。开发板板载一颗 RGB 灯,引出 26 个 IO,外接喇叭和麦克风,用于快速验证语音产品功能。
ASR-ONE内置自主研发的脑神经网络处理器BNPU, 支持200条命令词以内的本地语音识别, 内置CPU核和高性能低功耗Audio Codec模块, 集成多路UART、 IIC、 PWM、 GPIO等外围控制接口, 可以开发各类高性价比单芯片智能语音产品方案。
三、软件说明
系统整体架构如图所示。
该系统主要包含三大核心功能:音乐播放、智能控制、环境监测。
该系统两种交互方式:语音交互、网络(应用软件)。
1 核心功能
第一部分:音乐播放
音乐播放是本项目的一大功能,主要由AB32VG1开发板实现,板载由SD卡接口,将音乐存入SD卡,板子上电初始化完成后,即可通过语音、网络控制音乐的播放,当然,也可使用板载的按键控制,同时根据音乐的大小通过PWM控制RGB灯,可以说,非常炫酷。音乐播放提供开始、停止、暂停、恢复播放、上/下一首、增加/减小音量服务,同时还可自动扫描SD卡的歌曲,可循环播放音乐,提供多种控制方式,非常方便。
音乐播放的主要流程如下所示。
第二部分:智能控制
该智能家居助手还能控制家电设备,本项目通过控制PWM控制室内的小夜灯,另外通过电机正反转来模拟控制窗帘的开启与关闭,当然,用户可根据实际需要增加更多的家电设备。
第三部分:环境监测
ART-Pi智能网关上电之后完成板级初始化,接着初始化传感器,就会定时采集环境信息,在连接网络和云端后,就会定时向云端发送数据。同时建立本地服务,当有客户端接入网络,也会定时向客户端发送环境信息。
云端得到相应的数据后,绘制室内的温湿度曲线,也可实时查看当前的温湿度信息。
另外,为了保证数据传输的可靠性,设计了简单的数据传输协议保证数据的可靠交互。
环境监测的流程图如下所示。
2 交互方式
第一部分:语音交互
语音模块上电之后完成板级初始化,初始化完成后有提示音即可,就可通过语音进行信息交互,比如开关灯,音乐播放等交互。
语音交互流程如下图所示。
第二部分:应用软件(网络)
应用软件是基于PyQT5开发,可在Windows、Linux、MacOS平台运行,通过socket编程与网关通信。应用软件的功能和语音交互的功能差不多,开发的目的是为用户提供更多的选择,方便用户使用。
用户使用应用软件的流程如下:
代码地址:
https://gitee.com/ouxiaolong/Smart_Home_Assistant.git
四、演示效果
演示截图如下:
云端信息: