基于RT-Thread的智能家居助手

一、项目简介

智能家居助手主要基于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

四、演示效果

演示截图如下:

云端信息:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2980956.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

SMT工艺上出现焊锡球,将有什么影响?

在表面贴装技术(SMT)加工过程中,可能会出现焊锡球形成的问题,焊锡球的存在不仅影响产品的外观质量,还可能导致电路短路,从而影响产品性能和可靠性,所以必须提前了解焊锡球的形成原因&#xff0c…

Tensorflow2.0笔记 - BatchNormalization

本笔记记录BN层相关的代码。关于BatchNormalization,可以自行百度,或参考这里: 一文读懂Batch Normalization - 知乎神经网络基础系列: 《深度学习中常见激活函数的原理和特点》《过拟合: dropout原理和在模型中的多种应用》深度…

(五)AB测试及两个案例 学习简要笔记 #统计学 #CDA学习打卡

目录 一. AB测试简介 1)假设检验的一般步骤 2)基于假设检验的AB测试步骤 二. 案例1:使用基于均值的假设检验进行AB测试 1)原始数据 2)提出原假设H0和备择假设H1 3)使用均值之差的t检验,计…

Electron+Vue3+ElectronForge整合 - 打包时整合 -分步打包

说明 本文介绍一下 Electron Vue3 的打包整合的基本操作。实现的效果是 : 1、一个正常的Vue3项目; 2、整合加入 Electron 框架 :开发时 Electron 加载的是开发的vue项目; 3、完成打包时整合:3.1 先完成vue3项目的正常…

vue3 引入@tsparticles/vue3和@tsparticles/slim 实现粒子特效

1.安装: yarn add tsparticles/vue3 tsparticles/slim2.main.ts 引入 import Particles from "tsparticles/vue3"; import { loadSlim } from "tsparticles/slim";app.use(Particles as any, {init: async (engine: any) > {await loadSli…

如何在 Flutter 中制作多种颜色的 TextField

TextField widget 本身并不施加任何样式。相反,它会要求 TextEditingController 生成一个样式化的 TextSpan 对象,即一段带有样式的文本。 TextField 将其样式传递给 TextEditingController ,默认实现只是将其放入 TextSpan 对象中&#xff0…

光纤网络电力控制系统设计方案:623-6U CPCI的光纤网络电力控制系统

6U CPCI的光纤网络电力控制系统 一、设备概述 柔性直流输电系统中用于控制与测量的FS系统,适用于风电和太阳能发电的并网快速数值计算和闭环控制,以及与直流输电系统的换流器有关的特殊控制功能,包括门控单元的信号处理。该控制板的最大…

【C语言回顾】操作符详解

前言1. 操作符分类2. 二进制和进制转换2.1 二进制2.2 进制转换2.2.1 二进制转十进制2.2.2 二进制转八进制2.2.3 二进制转十六进制 3. 原码、反码、补码4. 移位操作符4.1 左移操作符4.2 右移操作符 5. 位操作符6. 单目操作符7. 逗号表达式8. 下标引用操作符9. 函数调用操作符10.…

3D 文件格式的江湖纷争

自从上世纪 60 年代计算机辅助设计(Computer Aided Design, CAD)发明已来,3D 图形产业繁荣发展,逐步覆盖工业制造、影视游戏、VR/AR 、3D 打印等各个领域。如果说 3D 模型是构成 XR 应用场景的基础组件,那么 3D 文件格式就是构建 XR 世界沟通语言。而伴随各种 3D 建模软件…

基于Springboot的幼儿园管理系统

基于SpringbootVue的幼儿园管理系统的设计与实现 开发语言:Java数据库:MySQL技术:SpringbootMybatis工具:IDEA、Maven、Navicat 系统展示 用户登录 用户管理 教师管理 幼儿园信息管理 班级信息管理 工作日志管理 会议记录管理…

AI时代的GPU集群网络算力分析

浅谈GPU集群网络、集群规模和集群算力 引言在生成式AI(GenAI)和大模型时代,不仅需要关注单个GPU卡的算力,更要关注GPU集群的总有效算力。单个GPU卡的有效算力可以通过该卡的峰值算力来测算,例如,对于Nvidia…

C语言入门课程学习笔记1

C语言入门课程学习笔记1 第1课 - 概论第2课 -helloworld第3课 -数据输出第4课 -数据类型与变量第5课 - 深入数据类型与变量第6课 - 类型与变量编程练习第7课 - 程序中的数据输入 本文学习自狄泰软件学院 唐佐林老师的 C语言入门课程,图片全部来源于课程PPT&#xff…

Linux内核之hook机制:call_void_hook用法实例(六十一)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

【国产替代】航空电子通信总线航空电子通信总线产品为MIL-STD-1553和ARINC 429等协议提供原生支持

航空电子通信总线 航空电子通信总线产品为MIL-STD-1553和ARINC 429等协议提供原生支持。这些产品用于进行航空电子应用所需的开发、生产和系统测试。 PXIe,2通道PXI ARINC-664接口模块 AIM ARINC-664具有板载处理器,可自动处理所有与协议相关的活动&…

在vscode上面进行分支merge的记录

前言:在我们的项目中,有两个分支:master和liutielong。现在要将liutielong分支的改动merge到master分支中。 如果master分支已经更改了,所以要先pull(这是在git bash里面的命令)。 git pull origin master…

Java虚拟机类加载机制详细总结

1、概述 Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。 2、类加载的时机 一个类型从被加载到虚拟机内存中开始&#xff…

网盘——查看文件

本文主要讲解文件操作过程中,查看文件如何实现,实现步骤如下: 1、实现步骤: A、首先客户端发送查看请求(包含目录信息) B、服务器将文件名字还有文件的类型发送给客户端(只发送文件的名字&am…

基于小程序实现的查寝打卡系统

作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】:Java 【框架】:ssm 【…

Esp32-S3 进行JSON解析

之前介绍了esp32-s3的http通信,对于返回的结果进行解析也是必须的,通常我们可以使用json格式进行通信,这样即便于理解也便于取值。今天我们介绍下JSON解析。 在这里用到的库是ujson,代码如下,将如下代码保存到设备即可 import micropython import json from json import …

S-Edge网关:柔性部署,让物联网接入更统一

S-Edge网关是什么? 网关是在实际物理世界与虚拟网络世界相连接的交叉点,为了让这个交叉点尽可能的复用,无需每种设备都配套一种连接方式,边缘网关主要就是用于传感器等物理设备与网络实现数据交互的通用设备,也称为物…