智能家居语音控制系统.docx
《智能家居语音控制系统.docx》由会员分享,可在线阅读,更多相关《智能家居语音控制系统.docx(29页珍藏版)》请在冰点文库上搜索。
智能家居语音控制系统
智能家居语音控制系统
Intelligenthomevoicecontrolsystem
摘要
近年来,随着信息技术的发展,智能产品得到了快速发展,并深入到人们生活的方方面面,人们对智能产品的依赖程度越来越高;同时,人们的居家模式也正在由传统模式向智能家居模式转变。
智能家居主要是以自家房屋为平台,可在该系统平台上进行自动化设计、互联网统一管理;亦可对家电进行控制,智能家居方案设计非常标准,同时拓展性强、安全性高。
但现如今的智能家居系统造价昂贵,难以全面推广。
因此,本文针对智能家居系统的功能需求和不足,设计满足大众需求的低成本、高可靠性智能家居系统。
本系统采用价格成本低廉同时性能非常强大的树莓派3B+作为智能家居语音控制系统的控制中心,Arduino作为下位机,通过麦克风输入自然语言来控制家居中家电的开关控制和实现智能家居的安防需求。
树莓派通过识别语言可以进行人机的交互,GPIO口连接人体红外感应的传感器,定时采集人体红外模块数据进行反馈和警报拍照。
Arduino作为下位机连接温度湿度模块以及MQ-2烟雾感应模块实时采集各方面数据,数据显示于OLED屏幕上,达到一定的数值后自动报警。
该系统造价低廉,功能完善,人机交互功能良好,实现了家电开关的语音控制,同时提供了监测、安防等智能家居的必要功能。
测试结果表明,本系统能够准确实现上述功能,并且性能良好,具有一定的市场应用价值。
关键词:
树莓派人机交互语音识别安防
TimesNewRoman三号居中,加粗,单倍行距,段前、段后各1行
Abstract
Inrecentyears,withthedevelopmentofinformationtechnology,smartproductshavedevelopedrapidlyandpenetratedintoallaspectsofpeople'slives.Peoplehavebecomemoreandmoredependentonsmartproducts;atthesametime,people'shomemodelisalsochangingfromtraditionalmodeltosmartThetransformationofthehomemodel.Smarthomesaremainlybasedontheirhomesasaplatform,whichcanbeusedforautomaticdesignandunifiednetworkmanagementonthissystemplatform;theycanalsocontrolhomeappliances.Thesmarthomedesignisverystandard,andhasstrongexpandabilityandhighsecurity.However,today'ssmarthomesystemsareexpensivetomanufactureanddifficulttofullypromote.
Sothat,thisarticledesignslow-cost,high-reliabilitysmarthomesystemsthatmeettheneedsofthepublicinresponsetothefunctionalneedsanddeficienciesofsmarthomesystems.ThissystemusestheRaspberryPi3B+withlowcostandhighperformanceasthecontrolcenterofthesmarthomevoicecontrolsystem,andtheArduinoasthelowercomputer,throughthemicrophoneinputnaturallanguagetocontroltheswitchcontrolofhomeappliancesinthehomeandrealizethesecurityneedsofsmarthome.TheRaspberryPicanrealizehuman-computerinteractionbyrecognizingthelanguage.TheGPIOportisconnectedtotheinfraredsensorofthehumanbody,andregularlycollectshumaninfraredmoduledataforfeedbackandalarmphotography.ArduinoasthelowercomputerisconnectedtothetemperatureandhumiditymoduleandtheMQ-2smokesensormoduletocollectallaspectsofdatainrealtime,andthedataisdisplayedontheOLEDscreen.Whenacertainvalueisreached,itwillautomaticallyalarm.Thesystemhaslowcost,perfectfunctions,andgoodhuman-computerinteractionfunctions.Itrealizesthevoicecontrolofhomeapplianceswitches,andprovidesthenecessaryfunctionsofsmarthomessuchasmonitoringandsecurity.Thetestresultsshowthatthesystemcanaccuratelyrealizetheabovefunctions,andtheperformanceisgood,whichhascertainmarketapplicationvalue.
KeyWords:
RaspberryPIInteractiveSpeechRecognitionSecurity
第一章绪论
近年来,我们国家国力越来越强,渐渐的从发展中国家慢慢的过渡到发达国家,百姓的生活水平越来越高。
现在我们的生活被各种人工智能和科技包围,不仅是在外面接触到的各种电子设备和技术,连我们生活居往的环境也受到方方面面的影响,“智能家居”一词的被提及的次数越来越多,它极大地方便了我们的生活,同时也改变了我们的生活。
智能家居指的是以我们的住所为基础融入各种建筑布线技术和科技,将与家居生活相关的方法相集合,创造一个更加卓效而且还兼具低碳的生活环境。
智能家居可以通过互联网将家中各种设备连接在一起,对家里的各个设备进行智能的监控和掌握。
智能化家居是一个住宅平台,它可以提高我们的家庭安全保卫系统;帮助我们的家居设备实现自动化;以及连接家庭智能设备的通讯功能。
其中,在智能家居控制系统中,作为它最重要的组成元素之一就是语音识别系统。
我们每个人都有自己的声音,有着自己的振幅、频率、响度。
因此我们每个人的声音都不一样。
而且我们每个人的说话习惯、说话方式不一样,因此自然语言识别系统将对我们控制家电的作用非常大。
我们要考虑自然语言识别的准确率。
在与此同时,智能家居控制技术还能结合互联网将手机、电脑等终端结合在一起,使得家居控制系统更加一体化。
智能语音控制系统发挥作用处一般在:
语音识别、家电的控制、安防的监控和人机的交互。
有了智能家居系统,我们可以让我们的生活变得更加便捷。
1.1选题背景及意义
如今,我们的生活被各种人工智能和科技包围,人工智能的发展促进了我们生活的娱乐性、便捷性、舒适性得到极大的提高。
特别是近些年来在社会上很受消费者喜爱的智能家居技术。
智能家居系统具有众多的用途和实际用意,其中包括:
(1)控制家电的开关;
(2)家居防盗安全;(3)室内安全记录;(4)人工陪伴交互等。
如今的智能家居系统可结合当下热门的物联网技术,云端储存技术,云端在线识别语音等,可以对家居系统进行智能控制和管理。
智慧家庭系统的出现使我们的生活变得更加智能,而对智能家居生活的不断增长的需求使自动化、智能化成为一种趋势。
根据毕业设计项目的需求,本文以树莓派为核心基础,设计一套智能家居语音控制系统,该项目能实现安防、监测、控制等必要智能家居功能,能用自然语言控制家电的开关,能与该系统内置的机器人进行语音聊天等功能。
1.2国内、国外发展状况
1.2.1国外智能家居的发展现状
在国外,智能家居、智慧家庭已经在经济发达的地区实施。
以新加坡为例,早在1998年,新加坡就举办了一场专门讨论智能家居的展览,展示了智能家居系统。
在现在的技术看来,智能家居主要的功能有:
防盗报警功能,中央监视功能,视频通信功能,家用电器自我监控功能,家庭智能控制面板功能和家庭通知功能。
在美国,将近有40,000个家庭建立了这样一个系统的家庭。
我相信在不久的将来会有更多的家庭拥有这样的智能家居。
近年来,三星还在中国和韩国启动了自己的智能家居研究与开发。
他们的家庭自动化控制系统的四个主要组成部分,信息设备,智能照明控制以及娱乐和信息中心[1]。
1.2.2国内智能家居的发展现状
中国的智能家居生活空间正在通过高效的传输网络和成熟的4C技术从普通居民区转变。
该服务系统和智能居住空间管理系统构成了一个快速、高效、便捷、智能化的管理系统。
智能家居信息处理平台包括机顶盒技术,智能网关技术,具有独立知识产权的家用软件产品组合的信息平台和服务平台(可以选择智能家居来访问Internet的模式)。
智能家居是一个繁杂且巨大的体系,系统要建立完整的生产链,不仅需要技术支持,而且还需要时间,智能家居的蓬勃发展推动了中国社会生活水平的提高。
智能家居可以为人们提供更加轻松舒适的生活方式。
从长远来看,没有智能家居系统的家庭肯定无法与未来建立联系。
考虑到中国智能家居的发展现状,中国智能家居的发展还处于初期阶段。
智能建筑领域仍然存在许多缺点。
在智能家居的未来发展中,方便,安全和温馨将会是智能家居发展的方向。
其中对安全问题的重视,在我们生活中所占的比重值越来越高。
安全将会成为社会团体关注的关键问题。
笔者认为,在未来智能家居的发展中,我需要将环境,安全性和便利性融入“智能家居”的发展中。
展现“智能家居”的人文特色并提高其对社会群体多样化生活需求的满意度,是当今智能家居发展的首要任务。
它需要在中国的主要新领域中应用。
为了最大化智能家居的价值和作用,我们需要在各种新领域中使用它、运用它。
例如,如今的5G通信技术同样可以运用于未来的智能家居的各大场景中。
这可以促进智能家居开发的多样性并扩展智能家居使用场景,这在促进智能家居的长期发展中发挥了一定的作用。
1.3研究内容及章节安排
本次研究的课题的主要内容:
智能家居语音控制系统。
本文研究方面可以做如下概括:
(1)分析当前的智能家居系统的背景以及发展趋势,得出智能语音控制系所需具备的功能、技术。
(2)简要说明本项目元器件的选材。
(3)简要概括智能家居语音控制的原理及核心,思考如何将硬件系统、软件系统功能实现。
(4)介绍了该系统的选材、工作原理以及实现过程,同时对该系统的测试结果进行分析,减少相对的误差。
根据项目的制作和研究,本篇论文大致分为以下的6章:
第1章叙述智能家居的国内、国外的背景和简要的意义总结。
第2章叙述系统方案的构建,单片机以及元器件的论证。
第3章详细说明单片机系统方案的设计。
第4章详细说明了树莓派软件系统的设计以及实现过程。
第5章对项目进行测试以及贴出运行效果图。
第6章得出该作品的结论。
1.4本章小结
本章主要介绍了国内智能语音识别技术的研究以及在当今时代下的情况,大概的阐述了当下智能家居研究领域的发展情况,在本章末尾粗略地介绍了本次课题的结构安排。
第二章系统方案
本系统以树莓派和语音识别为基础,结合单片机Arduino控制的传感器,实现辅助管理平台的功能。
本服务器向上与语音识别交互,可以实时返回请求数据或传递用户命令,执行相关功能。
下面画出系统框架图以及分别论证这几个模块的选择。
2.1智能家居系统整体框架图
图2.1智能家居系统整体框图
2.2构建智能家居系统解决方案的选用
解决方案1:
使用面包板布局创建一个简单的单片机系统。
在面包板上安装单片机系统可以随时轻松调试硬件模块、更改硬件,并且易于构建。
但是,使用面包板布局系统需要采用较多的杜邦线,杜邦线多会显得系统杂乱,容易掉线且相互接触干扰,可能引起模块间的电路短路,不安全,容易发生危险,该系统可靠性低且外观不精美,并不适合使用该系统。
解决方案2:
自制MCUPCB
用一块自制的印刷电路板,独立开发电路板的电路和布线,然后将其交给专业的公司来制造印刷电路板。
尽管电路干净整洁,但此过程要花费很多时间。
另外,电路的设置将花费更长的时间,耽误整体的进度,并且总体实现复杂。
因此,不适合接受此方案。
解决方案3:
使用单片机的最小系统。
单片机系统品牌的厂家已经设计好电路图,非常专业,并且设计的模块可以减少外围微电路的设计,包含了我们所需要的功能,同时减少该项目的系统设计复杂性,其外观更加小巧,不占用过多的面积,购买花费的时间成本少,因此非常适合该系统的设计。
基于以上三种方案,选择解决方案3是因为它简单方便。
因此该项目采用专业厂家设计好的单片机作为系统。
2.3单片机解决方案的选用
解决方案1:
选用五一芯片单片机作为系统。
它的价格低廉,并且控制简单。
但是,该单片机不能实现快速的反应和准确控制。
而且,编写该单片机的程序需要考虑时钟频率的限制,代码属于比较底层,编写程序过程中比较麻烦,增加了系统的不稳定型,不适合如今社会发展的潮流,因此这种解决方案是不合适的。
解决方案2:
使用STM8系列微控制器,该单片机价格低廉,读取数据速度和擦除数据速度非常快,程序运行速度快,控制精准,数据的保存性完好非常稳定。
尽管价格便宜,但资源稀缺,I/O端口不足,因此不适合该项目。
解决方案3:
Arduino属于开源硬件产品。
该单片机价格低廉,使用过程中具有非常方便的开源代码以及学习资料,非常适合初学者。
同时该产品拥有众多学习资源以及开放性的论坛。
更加方便该项目的开发以及拓展。
本项目使用的Arduino单片机它能够直接通过I/O端口进行串行的通信,不仅如此,它拥有非常多的接口,同时这些端口同时可以支持数字信号传输和模拟信号传输。
因此它可以通过外接各种传感器来感应环境,控制警示灯的开关,蜂鸣器的频率和其他设备来获得反馈和环境影响。
它没有针对单片机的复杂的低级代码,但是具有简单实用的功能。
而且它具有非常简单的IDE编程环境,该编译环境适合初学者的编译以及开发,非常容易上手。
该单片机的运行速度快,控制精准,系统非常稳定。
基于以上三种方案,选择解决方案3是具有更好的开发性、拓展性和稳定性,因此本系统选择了第3个解决方案,并使用Arduino作为控制器。
2.4树莓派解决方案的选用
RaspberryPi是基于微型计算机的主板,配有SD卡作为硬盘驱动器。
卡母板周围将有4个USB端口,可将它们连接到键盘、鼠标等USB设备,配备了网络电缆独立端口,可使网络拨号功能更加稳定。
拥有HDMI模拟信号输出端口以及声音输出端口,可以直接连接电视或者显示屏,带有独立的声卡,RaspberryPi支持Python作为主要的编程语言。
Python编程语言是近几年热度较高的编程语言,该语言相比于传统的C语言,具有简洁性高,方便编译,阅读可读性强。
同时树莓派也支持Java,C等常用编程语言等。
解决方案1:
RaspberryPi第二代B型,RaspberryPi第二代B型使用BCM2836芯片,具有9000MHz四核处理器,1GB运行内存,其特点价格比较便宜,但是该型号树莓派只有26个I/O端口,并且没有蓝牙和WIFI功能,对于本项目非常不方便。
解决方案2:
RaspberryPi第三代B+型,RaspberryPi第三代B+型使用新一代芯片,并且处理器更新为1.4GHz四核处理器,比上代树莓派增加了蓝牙和无线局域网功能。
该版本的树莓派运行速度更快,性能更加强大,并且该树莓派拥有40个I/O端口、增加了蓝牙和WIFI功能,对于本项目十分适合。
基于以上两种方案相比较而言,选择解决方案2更加适合本项目。
所以树莓派解决方案的选用选择方案2,采用RaspberryPi第三代B+型作为核心。
2.5温度传感器解决方案的选用
解决方案1:
本项目使用DS18B20温度传感器模块,该传感器实验发现误差较小,反应灵敏,工作温度是-55摄氏度至125摄氏度,但是没有湿度检测功能,因此并不适合本项目。
解决方案2:
采用DTH11温湿度传感器模块,实验发现误差小,该传感器拥有温度、湿度检测功能,并且DTH11工作温度是0度至50度,符合厨房的实际温度,能够方便的同时检测温度以及湿度的变化。
通过比较,解决方案2更加适合本项目。
因此本项目采用解决方案2作为温度湿度监测的传感器模块。
2.6LCD显示屏幕解决方案的选用
解决方案1:
使用LCD12864屏幕。
LCD12864屏幕显示大,可以和单片机结合显示图像、文字,也可以构成图像、文字以及人机交互的显示画面,该屏幕价格便宜,但是该屏幕接线端口较多,不适合本项目。
解决方案2:
使用0.96英寸的OLED屏幕。
OLED屏幕主要利用电流的有无和大小控制显示屏的显示以及发光亮度的强弱。
电流越大,屏幕越亮,反之越暗。
而且屏幕采用自发光技术,并不刺眼睛,并且小巧,外观精美,同时该显示屏有四个接线口,接线方便简单,非常适合本项目。
通过比较,解决方案2更加适合本项目。
所以选用方案2,采用0.96寸OLED显示屏12864作为本项目的显示器。
2.7本章小结
本章主要阐述了单片机、树莓派型号、元器件的辩证与选择,通过对比选择出最优、最适合本项目的方案。
第三章系统设计
3.1树莓派系统的搭建
3.1.1准备工作
首先在自己的电脑中,登录树莓派官网下载树莓派系统的镜像,然后用读卡器将系统通过系统安装软件写入sd卡中。
下一步,进行安装所需要的库文件与配置树莓派系统环境,需要用到root权限,而树莓派派root账号本身没有默认开启,所以我们需要进行配置root权限。
将树莓派开机使用pi进行账号登陆,树莓派系统中默认密码是raspberry,可以在安装系统是对密码进行修改。
打开命令提示符,然后在命令终端用键盘输入sudopassedroot,输入回车键运行该命令来解锁树莓派系统中的root帐户。
运行命令后,树莓派系统的命令终端会让我们输入密码。
密码完成输入后,我们输入sudo-i,以便我们可以登录到树莓派系统的root帐户。
3.1.2配置必要的软件
完成基本的账户设置后,需要在树莓派的系统中安装一个基本的编译器,可以通过命令终端进行下载,也可以通过官网下载解压包进行安装。
通过系统中的config完成SSH、树莓派外接摄像头以及麦克风的配置。
输入sudoapt-getinstallmplayer配置mp3播放器。
输入sudoapt-getinstallpython安装python的编译程序软件,安装后输入sudopipinstallrpi.gpio安装gpio库;输入sudopipinstalljieba安装jieba库。
3.2单片机系统设计
3.2.1温度气体警报模块
(1)程序目的:
通过单片机Arduino读取DTH11温度传感器模块的数据,以及MQ-2有害气体传感器的数据,并显示在OLED屏幕上方便我们实时查看,当温度或者有害气体电压值超过我们所规定当阀值,单片机将会依据有害气体浓度以及温度的高低响起蜂鸣器警报以及警报灯的闪烁。
蜂鸣器警报以及警报灯的闪烁将会根据温度的高低以及浓度的不同发出不同的警报声音以及警报灯的不同的闪烁信号,只有当温度或者有害气体电压值降低至我们所规定当阀值,警报才会解除。
(2)程序思路:
读取DTH11温湿度传感器中的数据,将读取到的二进制数据,转化为有位小数的三位十进制数字(温度)。
并在显示屏上显示。
读取MQ-2有害气体传感器的数据(在main.c中),将有害气体传感器的电压每隔1秒读取一次电压值,把数值与温度一并显示在OLED上并且实时监控周围环境有害气体是否达到设定值。
当到达规定数值时,发送信号给Arduino。
当温度湿度或者有害气体的电压值达到一定的阀值时,并且响起蜂鸣器警报以及警报灯的闪烁。
其核心代码如下图所示:
检测温度:
doubleFahrenheit(doublecelsius)
{
return1.8*celsius+32;
}//摄氏温度度转化为华氏温度
doubleKelvin(doublecelsius)
{
returncelsius+273.15;
}//摄氏温度转化为开氏温度
doubledewPoint(doublecelsius,doublehumidity)
{
doubleA0=373.15/(273.15+celsius);
doubleSUM=-7.90298*(A0-1);
SUM+=5.02808*log10(A0);
SUM+=-1.3816e-7*(pow(10,(11.344*(1-1/A0)))-1);
SUM+=8.1328e-3*(pow(10,(-3.49149*(A0-1)))-1);
SUM+=log10(1013.246);
doubleVP=pow(10,SUM-3)*humidity;
doubleT=log(VP/0.61078);//tempvar
return(241.88*T)/(17.558-T);
}
doubledewPointFast(doublecelsius,doublehumidity)
{
doublea=17.271;
doubleb=237.7;
doubletemp=(a*celsius)/(b+celsius)+log(humidity/100);
doubleTd=(b*temp)/(a-temp);
returnTd;
}
检测有害气体:
voidloop()
{
intval;
val=analogRead(0);
Serial.println(val,DEC);
delay(100);
}
3.2.2门禁模块
程序目的与思路:
通过麦克风录取使用者的自然语言,把数据上传至XX云语音识别,当语音控制命令时,树莓派会打开门并且摄像头自动拍摄一张照片并且自动发送到指定邮箱中。
其核心代码如下所示:
defsend_em