基于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://www.mzph.cn/bicheng/2521.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV——图像分块局部阈值二值化

目录 一、算法原理1、算法概述2、参考文献 二、代码实现三、结果展示 OpenCV——图像分块局部阈值二值化由CSDN点云侠原创,爬虫自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法原理 1、算法概述 针对目前局部阈值二值…

from_pretrained明明以及下载好模型,却突然不能加载了报错

本人报错:OSError: Error no file named model_index.json found in directory /home/xxx/我的python学习/textToImage/sdxl-turbo. 原因:路径错误导致无法加载模型的配置文件 pipe AutoPipelineForText2Image.from_pretrained("stabilityai/sdx…

HORROR SYSTEM

HORROR SYSTEM是一个创新的工具包,允许开发者在Unity3D中创建独特的原创恐怖游戏。 HORROR SYSTEM是一款强大而灵活的工具,旨在基于Unity3D引擎创建沉浸式第三人称恐怖游戏。 这项资产易于使用且直观,可以让任何经验水平的开发人员将他们的想法付诸实践,创造出高质量、充满…

文献速递:深度学习胶质瘤诊断---空间细胞结构预测胶质母细胞瘤的预后

Title 题目 Spatial cellular architecture predicts prognosis in glioblastoma 空间细胞结构预测胶质母细胞瘤的预后 01文献速递介绍 胶质母细胞瘤的治疗耐药性的关键驱动因素是肿瘤内的异质性和细胞状态的可塑性。在这里,我们调查了空间细胞组织与胶质母细胞瘤…

python爬虫 - 爬取html中的script数据(zum.com新闻信息 )

文章目录 1. 分析页面内容数据格式2. 使用re.findall方法,编写爬虫代码3. 使用re.search 方法,编写爬虫代码 1. 分析页面内容数据格式 (1)打开 https://zum.com/ (2)按F12(或 在网页上右键 --…

C++中的五种高级初始化技术:从reserve到piecewise_construct等

C高级初始化技术:reserve、emplace_back、constinit、Lambda表达式、piecewise_construct 一、简介二、reserve 结合 emplace_back三、C 20的constinit四、Lambda表达式和初始化五、make_unique_for_overwrite六、piecewise_construct 和 forward_as_tuple七、总结 …

SpringBoot xxl-job 任务调度

首先官网下载xxl-job的源代码,然后切换到jdk8,等Maven下载依赖 执行mysql的脚本,修改连接配置,启动admin站点 默认地址 http://localhost:8080/xxl-job-admin/ 先新增一个任务执行器,指向未来任务代码的站点 然后在…

Vue.js应用中的多元化通信策略:10+种方法深度解析

Vue.js应用中的多元化通信策略:10种方法深度解析 在构建复杂且交互丰富的Vue 2.x应用程序时,有效的组件间通信是确保数据流通、状态同步与逻辑协调的关键。本文将深入探讨超过10种适用于Vue 2.x的应用内通信方法,覆盖父子组件、兄弟组件、跨…

探索亚马逊云科技「生成式 AI 精英速成计划」

目录 前言「生成式 AI 精英速成计划」技术开发课程学习课程学习 总结 前言 亚马逊云科技(Amazon Web Services,简称AWS)作为全球领先的云计算服务提供商,一直以来在推动人工智能(AI)领域的发展中扮演着重要…

04_c/c++开源库 json解析jsoncpp库

1.说明与安装 说明: c json字符解析 安装: sudo apt-get install libjsoncpp-dev 编译依赖 pkg-config --cflags --libs jsoncpp -I/usr/include/jsoncpp -ljsoncpp 编译选项: -I/usr/include/jsoncpp 连接选项: -ljsoncpp 2.实例 1.代码 1_jsonCpp_解析字符串_增.删.改…

IContentService

目录 1、 IContentService 1.1、 // * 保存文章 1.2、 * 发布文章 1.3、 *查询文章返回多条数据 1.4、 * 根据id或slug获取文章 1.5、 * 查询分类/标签下的文章归档 2、 IRelationshipService

Gitea:轻量级、开源的Git仓库管理平台

引言 Gitea是一款开源的、基于Go语言编写的轻量级Git服务器。它提供了类似于GitHub的功能,如代码托管、版本控制、团队协作等,但更加轻便和易于部署。Gitea的设计初衷是为了让团队或个人能够更方便地管理和分享自己的代码,同时不需要花费大量…

MATLAB将多张小图整合到一张大图形成模板图

MATLAB将多张小图整合到一张大图形成模板图 代码如下: clc;close all;clear all;warning off;%清除变量 rand(seed, 100); randn(seed, 100); format long g;foldername字符模板; [datacell,filenamecell,filenameAllcell]readfun_1n(foldername); K2length(filenamecell);% …

常见射频指标的本质和意义(一)

1、Rx Sensitivity(接收灵敏度) 接收灵敏度,这应该是最基本的概念之一,表征的是接收机能够在不超过一定误码率的情况下识别的最低信号强度。这里说误码率,是沿用CS(电路交换)时代的定义作一个通…

【YOLO改进】主干插入SKAttention模块(基于MMYOLO)

SKAttention模块 论文链接:https://arxiv.org/pdf/1903.06586.pdf 将SKAttention模块添加到MMYOLO中 将开源代码SK.py文件复制到mmyolo/models/plugins目录下 导入MMYOLO用于注册模块的包: from mmyolo.registry import MODELS 确保 class SKAttention中的输入维度为in_cha…

读天才与算法:人脑与AI的数学思维笔记08_生物的创造力

1. 生物的创造力 1.1. 在进化树中是否有其他的物种已经具有与我们人类相当的创造力水平 1.2. 20世纪50年代中期,动物学家德斯蒙德莫里斯(Desmond Morris)在伦敦动物园做了这样一个试验 1.2.1. 动物学家给…

Laravel 6 - 第十四章 响应

​ 文章目录 Laravel 6 - 第一章 简介 Laravel 6 - 第二章 项目搭建 Laravel 6 - 第三章 文件夹结构 Laravel 6 - 第四章 生命周期 Laravel 6 - 第五章 控制反转和依赖注入 Laravel 6 - 第六章 服务容器 Laravel 6 - 第七章 服务提供者 Laravel 6 - 第八章 门面 Laravel 6 - …

《ESP8266通信指南》4-以Client进行TCP通信(AT指令)

往期 《ESP8266通信指南》3-常用AT指令详解-8266连WIFI-CSDN博客 《ESP8266通信指南》2-ESP8266 AT测试-CSDN博客 《ESP8266通信指南》1-ESP8266 简介-CSDN博客 1. 小节目标 通过 AT 指令使用 8266 进行 TCP 通信 2. 书接上回 复习以下,上一小节我们讲到了 8…

学习java第五十天

Spring框架中的Bean的生命周期是什么? 在Spring中,Bean的生命周期可以被划分为以下阶段: 实例化:在这个阶段中,Spring容器根据Bean的定义,通过反射或其他方法来创建Bean的实例。这个阶段包括调用构造方法和…

【MongoDB】--MongoDB的组合索引

目录 一、前言二、Query查询条件转换shell输入命令1、常用shell输入命令2、explain()解析计划三、组合索引的说明一、前言 本文章主要介绍Mongodb的组合索引的使用。 二、Query查询条件转换shell输入命令 1、常用shell输入命令 Query: {"tenantsid": {"$num…