999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ESP32的家庭智能語音控制系統(tǒng)

2022-05-30 14:51:41尹文博李丹鐘昆王寶江
電腦知識與技術(shù) 2022年21期

尹文博 李丹 鐘昆 王寶江

摘要:針對目前傳統(tǒng)的家居控制系統(tǒng)設(shè)備不能協(xié)同工作以及人機(jī)交互性不好等問題,設(shè)計(jì)了一種基于ESP32的家庭智能語音控制系統(tǒng)。該系統(tǒng)首先通過Wi-Fi連接到互聯(lián)網(wǎng)進(jìn)行智能配網(wǎng)的設(shè)置;其次,使用MQTT協(xié)議進(jìn)行數(shù)據(jù)間的傳輸、使用LVGL設(shè)計(jì)人機(jī)交互界面、用天貓精靈進(jìn)行語音控制,并接入騰訊云語音平臺進(jìn)行語音合成、DHT11傳感器進(jìn)行溫濕度檢測;最后,開發(fā)微信小程序客戶端進(jìn)行遠(yuǎn)程控制,并使用Free RTOS系統(tǒng)來運(yùn)行各個模塊,從微信小程序的界面可知,該系統(tǒng)實(shí)現(xiàn)了遠(yuǎn)程控制、定時任務(wù)、語音合成、檢測家庭狀況等功能,同時還有一個人機(jī)交互的終端控制設(shè)備(基于ESP32 Wi-Fi芯片設(shè)計(jì)),實(shí)現(xiàn)了系統(tǒng)的統(tǒng)一控制,滿足了人們對智能家居的需求。

關(guān)鍵詞:ESP32;智能語音控制;智能配網(wǎng);MQTT協(xié)議;DHT11

中圖分類號:TP18? ? ? 文獻(xiàn)標(biāo)識碼:A

文章編號:1009-3044(2022)21-0067-03

開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

1 引言

隨著科技以及經(jīng)濟(jì)的發(fā)展,人們對生活質(zhì)量要求也越來越高,然而智能家居的出現(xiàn)改變了人們的生活方式[1],提升了人們的日常生活水平。智能家居是通過將家庭中的各種電氣化等設(shè)備連接在一起,實(shí)行統(tǒng)一管理的一套智能設(shè)備控制體系[2]。目前,華為和小米是國內(nèi)智能家居做得比較好的,其中小米是基于ARM微處理器,華為是基于Hilink協(xié)議+Liteos+芯片IOT三合一[3],據(jù)調(diào)查,我國的智能家居市場在2018年規(guī)模已達(dá)到1396億元[4],2020時的市值達(dá)到8000億元[5],從市場角度來看,智能家居的前景非常好,因此,設(shè)計(jì)一款智能家居系統(tǒng)具有十分重要的研究意義和研究價(jià)值。

近年來,有不少學(xué)者提出了不同的智能家居方案,可以滿足人們的不同需求,但是為了更好地改善人們的生活,提高信息化家居管理,本文設(shè)計(jì)了一款基于ESP32的家庭智能語音控制系統(tǒng),該控制系統(tǒng)支持終端、語音、遠(yuǎn)程等多種控制方式,并且支持多設(shè)備接入,具有良好的應(yīng)用前景。

2 模塊設(shè)計(jì)

2.1 智能配網(wǎng)的設(shè)計(jì)

由于系統(tǒng)的遠(yuǎn)程控制等功能需要連接網(wǎng)絡(luò),所以配網(wǎng)環(huán)節(jié)必不可少,設(shè)備初次啟動或者無法連接到可用Wi-Fi時,會自動進(jìn)入配網(wǎng)狀態(tài),可以根據(jù)屏幕的提示進(jìn)行配網(wǎng)操作。設(shè)備配網(wǎng)首先需要將ESP32設(shè)置為AP熱點(diǎn)模式,之后用手機(jī)連接名為ESP32_WebConfig的熱點(diǎn),連接上熱點(diǎn)之后,在瀏覽器中輸入屏幕中的IP地址進(jìn)入配網(wǎng)頁面,然后下拉列表選擇Wi-Fi名稱后輸入密碼,點(diǎn)擊“提交”即可。如圖1、圖2所示。

2.2 遠(yuǎn)程控制的設(shè)計(jì)

遠(yuǎn)程控制[6]是一種智能家居的基本控制方式之一,本文采用較為成熟的MQTT協(xié)議[4]進(jìn)行設(shè)備間數(shù)據(jù)傳輸。首先基于ESP32的控制終端通過Wi-Fi接入互聯(lián)網(wǎng),通過訂閱App端的主題topic接收來自App端發(fā)送的JSON格式的消息。當(dāng)ESP32接收并解析device_id為對應(yīng)ESP32端的device_id時,再進(jìn)行data的解析,解析出command及device_name,command為控制信息,device_name為要控制的設(shè)備名稱,微信小程序也采用該格式獲取溫濕度等信息。數(shù)據(jù)格式如下:

{

“deviced_id”:“1”,

“data”:{

“command”:“OPEN”,

“device_name”:“LIGHT”,

}

}

當(dāng)設(shè)備接收到控制電燈的命令時,能夠通過控制繼電器來實(shí)現(xiàn)控制電燈的開和關(guān)。其他設(shè)備也采用JSON格式的數(shù)據(jù)進(jìn)行傳輸,這樣能讓數(shù)據(jù)格式統(tǒng)一化,便于移植。

2.3 語音控制的設(shè)計(jì)

本文的智能語音控制[7]是通過天貓精靈、小度、小愛同學(xué)進(jìn)行解析控制的,通過給天貓精靈等智能音箱Oauth授權(quán)之后,可以在天貓精靈等音箱中進(jìn)行設(shè)備添加,添加之后進(jìn)行設(shè)備掃描,掃描出已經(jīng)接入天貓精靈的設(shè)備可以由天貓精靈語音控制,流程圖如圖3所示,其中,實(shí)線箭頭是響應(yīng)請求,虛線箭頭是發(fā)送請求。

2.4 定時任務(wù)的設(shè)計(jì)

系統(tǒng)通過微信小程序發(fā)送任務(wù)的定時時間以及事件,設(shè)備接收并解析定時時間及任務(wù)后,設(shè)置硬件定時器的數(shù)值,到達(dá)設(shè)定的值后,定時器會產(chǎn)生中斷。為了讓定時時間精確,所以建議在中斷服務(wù)函數(shù)中盡量不進(jìn)行其他操作,可以通過設(shè)定一個標(biāo)志位的值,然后判斷標(biāo)志進(jìn)行開關(guān)等操作。

2.5 紅外控制空調(diào)的設(shè)計(jì)

各公司空調(diào)并未對外開放空調(diào)控制的接口,所以系統(tǒng)只能采用最原始的方法,通過類似遙控器的方式去控制空調(diào),首先系統(tǒng)需要使用VS1838B解碼并錄制自己空調(diào)的紅外碼,然后寫入到非易失性存儲 (NVS)中,然后需要進(jìn)行控制時便讀取對應(yīng)區(qū)域內(nèi)的紅外空調(diào)碼并使用紅外發(fā)射管(可使用共射放大電路進(jìn)行信號放大)進(jìn)行發(fā)送。圖4所示為原理圖。

紅外編碼分為PWM(脈沖寬度調(diào)制)以及PPM(脈沖位置調(diào)制)。

PWM(脈沖寬度調(diào)制):以發(fā)射紅外載波的占空比來表示數(shù)據(jù)“0”和“1”。例如常用的電視遙控器,使用NEC協(xié)議,數(shù)據(jù)“0”為載波發(fā)射0.56ms,不發(fā)射0.56ms;數(shù)據(jù)“1”為載波發(fā)射0.56ms,不發(fā)射1.68ms; NEC 格式的編碼的引導(dǎo)碼為發(fā)送載波9ms之后不發(fā)送載波4.5ms,使用的載波頻率為38kHz[8]。

PPM(脈沖位置調(diào)制):以發(fā)射載波的位置表示數(shù)據(jù)“0”和“1”。從發(fā)射載波到不發(fā)射載波為“0”,從不發(fā)射載波到發(fā)射載波為“1”。其發(fā)射載波和不發(fā)射載波的時間都為0.68ms[8]。

紅外遙控器的編碼格式通常有兩種格式:NEC 和RC5,為了方便解碼使用IRremote庫進(jìn)行空調(diào)解碼。IRremote集成了大多數(shù)紅外協(xié)議,所以能夠直接對著VS1838B進(jìn)行紅外碼的發(fā)送,之后通過解碼之后寫入NVS中即可,需要時直接從對應(yīng)區(qū)域中讀取。

2.6 人機(jī)交互界面的設(shè)計(jì)

一個好的控制系統(tǒng)需要有良好的交互系統(tǒng),而ESP32的RAM只有520k,且其中能夠供用戶使用的更少,QT等GUI庫并不能在ESP32上運(yùn)行,因此,本系統(tǒng)采用了性能需求較小的LVGL這個GUI庫。要使用這個GUI庫,首先需要將它移植到ESP32上,之后需要移植輸出設(shè)備(2.8寸LCD)、輸入設(shè)備(觸摸屏),以及文件系統(tǒng),圖5所示為移植時需要的函數(shù),圖6所示為部分GUI圖。

2.7 多設(shè)備接入和設(shè)備在線檢測的設(shè)計(jì)

系統(tǒng)可接入多個控制設(shè)備,只需要連接指定MQTT服務(wù)器,訂閱對應(yīng)主題topic并且按照前面介紹的JSON格式發(fā)送和接收數(shù)據(jù),就能夠進(jìn)行設(shè)備的接入,同時系統(tǒng)支持設(shè)備在線檢測,如果設(shè)備在10s內(nèi)并未發(fā)送心跳包,則判斷為設(shè)備故障或者下線,并且發(fā)送下線日志,檢測設(shè)備是否在線的流程圖如圖7所示。

2.8 語音合成的設(shè)計(jì)

系統(tǒng)通過接入第三方語音平臺進(jìn)行語音合成,來彌補(bǔ)ESP32的性能不足的缺點(diǎn)。系統(tǒng)接入騰訊云語音平臺進(jìn)行語音合成,然后通過服務(wù)器使用UDP協(xié)議發(fā)送語音文件到終端設(shè)備,由于ESP32的RAM較小,一次性無法發(fā)送完語音文件,因此,采用分次發(fā)送,服務(wù)器每次發(fā)送1024個字節(jié)的數(shù)據(jù),其中前24個字節(jié)是數(shù)據(jù)頭,后1000字節(jié)為有效數(shù)據(jù)。數(shù)據(jù)頭第一個字節(jié)為audio的長度,后面10個字節(jié)為audio,第12個字節(jié)為send的長度,后4個字節(jié)為send,第17個字節(jié)為所有文件幀的高8位,第18個字節(jié)為所有文件幀的低8位,第19個字節(jié)是當(dāng)前幀的高8位,第20個字節(jié)是當(dāng)前幀的低8位,第21個字節(jié)是剩余幀的高8位,第22個字節(jié)是剩余幀的低8位,剩余的1000個字節(jié)為有效數(shù)據(jù),圖8所示為數(shù)據(jù)包格式,圖9為語音合成流程。

2.9 溫濕度檢測的設(shè)計(jì)

本系統(tǒng)采用帶數(shù)字信號校準(zhǔn)的溫濕度傳感器DHT11,其傳感器有極高的可靠性和穩(wěn)定性,濕度精度為±5%RH,量程為20%~90%RH,溫度精度為±2攝氏度,量程為0~50攝氏度,滿足系統(tǒng)的需要,DHT11采用單線串行接口,通訊便捷[9]。DHT11的通訊協(xié)議具有嚴(yán)格的時序,主機(jī)通過拉低總線18ms,然后再拉高20~40us發(fā)起啟動信號,然后釋放總線,DHT11接收到信號之后DHT11會將總線拉低40~50us響應(yīng)主機(jī)。DHT11響應(yīng)主機(jī)之后會將總線拉高40~50us,并在之后進(jìn)行數(shù)據(jù)的傳輸。DHT11的數(shù)據(jù)“0”和數(shù)據(jù)“1”是通過高電平的持續(xù)時長來表示的,DHT11先將總線拉低12~14us,之后將會拉高總線,拉高電平時長持續(xù)26us~28us時表示數(shù)據(jù)“0”,持續(xù)時間70us為數(shù)據(jù)“1”,但一般是延時40us之后檢測引腳電平來判斷數(shù)據(jù)“0”和“1”。DHT11一次會發(fā)送40位數(shù)據(jù),也就是5個字節(jié),第1個字節(jié)表示8位濕度整數(shù),第2個字節(jié)表示8位濕度小數(shù),第3個字節(jié)表示8位溫度整數(shù),第4個字節(jié)為8位溫度小數(shù),第5個字節(jié)為校驗(yàn)位,當(dāng)前4個字節(jié)的和與第5個字節(jié)不相等時,表明數(shù)據(jù)發(fā)送時出錯,數(shù)據(jù)無效。

溫濕度檢測之后,會通過構(gòu)造的JSON字符串的格式將數(shù)據(jù)發(fā)送到小程序端,小程序?qū)SON字符串解析為JSON格式的數(shù)據(jù),獲取溫濕度,并且顯示出來,每天會將數(shù)據(jù)向服務(wù)器發(fā)送,服務(wù)器接收數(shù)據(jù)并保存,當(dāng)小程序訪問溫濕度詳情頁面時,會向服務(wù)器請求之前的溫濕度數(shù)據(jù),并繪制出表格,并且服務(wù)器每天會定時清空之前的數(shù)據(jù)。

2.10 微信小程序的設(shè)計(jì)

微信小程序支持遠(yuǎn)程控制,顯示溫濕度(24h)、定時任務(wù)、錄制紅外空調(diào)碼、語音合成(微信小程序端輸入提示內(nèi)容,內(nèi)容會在終端上音頻播放)、輸出日志等功能,如圖10所示。

2.11 使用實(shí)時操作系統(tǒng)(RTOS)運(yùn)行各個模塊

本系統(tǒng)使用了免費(fèi)開源的Free RTOS系統(tǒng),F(xiàn)ree RTOS是一個小型的實(shí)時操作系統(tǒng)內(nèi)核。作為一個輕量級的操作系統(tǒng),功能十分強(qiáng)大,其中包括:任務(wù)管理、時間管理、信號量、消息隊(duì)列、內(nèi)存管理、記錄功能、軟件定時器、協(xié)程等,可基本滿足本系統(tǒng)的需要[10]。系統(tǒng)中包含多個進(jìn)程,例如GUI界面顯示、DHT11溫濕度獲取、MQTT的網(wǎng)絡(luò)回調(diào)函數(shù)、UDP服務(wù)等等。網(wǎng)絡(luò)服務(wù)需要較高的優(yōu)先級,因此,在創(chuàng)建網(wǎng)絡(luò)服務(wù)進(jìn)程時給予較高的優(yōu)先級,GUI界面的顯示和DHT11溫濕度的獲取等進(jìn)程給予較低的優(yōu)先級,RTOS的任務(wù)調(diào)度會合理分配CPU資源,保證進(jìn)程的正常運(yùn)行。

3 系統(tǒng)的缺點(diǎn)及改進(jìn)方法

3.1 系統(tǒng)的缺點(diǎn)

系統(tǒng)的缺點(diǎn)首先是無法直接在本機(jī)中實(shí)現(xiàn)語音識別和語音合成,導(dǎo)致這些功能需要接入第三方服務(wù)平臺,其次,是系統(tǒng)的安全性,安全方面可以通過對設(shè)備間的數(shù)據(jù)及發(fā)送方式進(jìn)行加密,最后,檢測家庭環(huán)境情況的傳感器太少,需要增加傳感器,以便獲取更多家庭的信息。

3.2 改進(jìn)方法

1)更換主控芯片:更換為性能更強(qiáng)的全志H3,系統(tǒng)使用Linux系統(tǒng),能夠?qū)崿F(xiàn)更多有趣和實(shí)用的功能。

2)增加傳感器:超聲波傳感器可以檢測人走動,煙霧傳感器可以檢測火災(zāi)情況,增加攝像頭,用于家庭監(jiān)控。

3)數(shù)據(jù)傳輸加密:在數(shù)據(jù)傳輸過程中,可以采取加密的措施來保證數(shù)據(jù)的安全性。

4 結(jié)束語

本文詳細(xì)介紹了基于ESP32家庭智能語音控制系統(tǒng)的設(shè)計(jì)過程,主要包括智能配網(wǎng)模塊、遠(yuǎn)程控制模塊、定時模塊、人機(jī)交互模塊、語音合成模塊,以及微信小程序的設(shè)計(jì)等。由結(jié)果可知,該系統(tǒng)實(shí)現(xiàn)了用語音控制家居設(shè)備,并且可以顯示溫度、濕度、定時、日志等內(nèi)容,采用本文系統(tǒng)對智能家居進(jìn)行遠(yuǎn)程控制,穩(wěn)定性高且成本低。本文設(shè)計(jì)的系統(tǒng)進(jìn)一步改變了人們的生活方式,提升了人們的生活水平,同時對智能家居的控制系統(tǒng)設(shè)計(jì)具有一定的借鑒意義。

參考文獻(xiàn):

[1] 胡曼冬.基于本體的智能家居關(guān)鍵技術(shù)研究[D].青島:中國海洋大學(xué),2014.

[2] 馮凱,童世華.智能家居的由來及其發(fā)展趨勢[J].中國新技術(shù)新產(chǎn)品,2010(6):7.

[3] 嚴(yán)涵婷,杜選,孫添程,等.基于ESP8266的智能家居系統(tǒng)開發(fā)[J].電腦知識與技術(shù),2021,17(27):136-138.

[4] 俞凌麗.基于云平臺的智能家居系統(tǒng)設(shè)計(jì)[D].杭州:浙江工業(yè)大學(xué),2020.

[5] 劉振.基于STM32智能家居的無線網(wǎng)關(guān)設(shè)計(jì)與實(shí)現(xiàn)[D].杭州:浙江理工大學(xué),2017.

[6] 任遠(yuǎn)林,徐奇.基于嵌入式單片機(jī)的智能家居遠(yuǎn)程控制系統(tǒng)設(shè)計(jì)[J].新鄉(xiāng)學(xué)院學(xué)報(bào),2021,38(3):72-76.

[7] 黨譽(yù)豪,王廷軍,張貫堯,等.家用智能語音垃圾箱的設(shè)計(jì)與應(yīng)用[J].科技風(fēng),2021(12):9-10,26.

[8] 李雪瑩.基于單片機(jī)的空調(diào)紅外線編解碼系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[D].成都:電子科技大學(xué),2014.

[9] 徐鑫秀,趙士原.基于DHT11傳感器的機(jī)房溫濕度控制系統(tǒng)設(shè)計(jì)[J].現(xiàn)代信息科技,2020,4(14):57-59.

[10] 趙波.基于STM32和FreeRTOS的溫度測量系統(tǒng)設(shè)計(jì)[J].電子技術(shù)與軟件工程,2019(3):68-69.

【通聯(lián)編輯:謝媛媛】

主站蜘蛛池模板: 国产永久在线视频| 免费aa毛片| 精品欧美一区二区三区在线| 99视频精品全国免费品| 91无码视频在线观看| 亚洲一区二区日韩欧美gif| 制服丝袜在线视频香蕉| 色婷婷在线影院| 国产美女一级毛片| 欧美亚洲国产精品久久蜜芽| 日本www色视频| 中文字幕在线永久在线视频2020| 视频在线观看一区二区| 久久婷婷六月| 欧美伦理一区| 日本免费福利视频| 亚洲高清资源| 日韩欧美中文在线| 中文字幕永久视频| 这里只有精品国产| 国产在线拍偷自揄拍精品| 伊人久久精品无码麻豆精品| 高清不卡毛片| 亚洲综合精品香蕉久久网| 欧美一级99在线观看国产| 亚洲一本大道在线| 中文字幕亚洲第一| 波多野结衣中文字幕久久| 国产一级在线观看www色 | 97人妻精品专区久久久久| 日本午夜三级| 日本一区二区不卡视频| 亚洲天堂精品视频| 久久久噜噜噜| 88国产经典欧美一区二区三区| 天天激情综合| 91精品人妻一区二区| 72种姿势欧美久久久久大黄蕉| 欧美在线视频a| 亚洲黄色激情网站| 又污又黄又无遮挡网站| 91精品国产自产在线老师啪l| 都市激情亚洲综合久久| 成年人午夜免费视频| 中文纯内无码H| 国内精品小视频在线| 成人福利在线免费观看| 97超爽成人免费视频在线播放| 亚洲综合日韩精品| 99精品视频在线观看免费播放| 不卡无码h在线观看| 欧美一区日韩一区中文字幕页| 国产在线精品99一区不卡| 永久免费av网站可以直接看的| 中文字幕首页系列人妻| 欧美成人区| 久久精品国产免费观看频道| 99久久精彩视频| 国产主播在线一区| av尤物免费在线观看| 亚洲中文字幕国产av| 五月天香蕉视频国产亚| 99久视频| 中文字幕在线视频免费| 欧美国产中文| 国产精品嫩草影院av| 中字无码av在线电影| 国产精品白浆无码流出在线看| 香港一级毛片免费看| 狠狠色综合网| 免费视频在线2021入口| 国产屁屁影院| 成人午夜久久| 色天堂无毒不卡| 欧美成人aⅴ| 一本视频精品中文字幕| 被公侵犯人妻少妇一区二区三区| 欧美色视频日本| 欧美福利在线观看| 凹凸精品免费精品视频| 欧美特级AAAAAA视频免费观看| 久久久久人妻精品一区三寸蜜桃|