董晨樂,楊延寧,2,朱 揚(yáng)
(1.延安大學(xué) 物理與電子信息學(xué)院,陜西 延安 716000;2.南昌理工學(xué)院,南昌 330044)
2020年“新冠”病毒的傳播劇烈引起人們的很大關(guān)注。針對(duì)人們當(dāng)前的迫切需求和生活的便利性。為防止病毒的廣泛傳播,疫情期間,出入公共電梯,民眾采取了許多方式,比如在按鍵上粘上一層厚厚的紙,使用牙膏和門鑰匙或者濕巾手紙。在已建立的行業(yè)與掌握的電子技術(shù)基礎(chǔ)上。針對(duì)上面所提到的問題,研究并設(shè)計(jì)了一款利用人臉檢測(cè)、語音識(shí)別與合成、智能化顯示、NFC近場(chǎng)通信等關(guān)鍵技術(shù),針對(duì)疫情防控、智能控制、電梯監(jiān)控等提供一整套解決方案并設(shè)計(jì)了一套完整的控制系統(tǒng)。“病毒無情人有愛”,在目前爆發(fā)嚴(yán)重的疫情防控特殊環(huán)境中,制造一款智慧的自動(dòng)化電梯具備非凡的意義,面對(duì)疫情帶來的無接觸的潛在需求,該項(xiàng)目采用多個(gè)控制方案,人臉面部檢測(cè)和語音識(shí)別等其他諸多項(xiàng)目,以取代傳統(tǒng)采用手動(dòng)按鈕的電梯,即可擺脫疫情帶來的接觸感染、為群眾生活帶來許多便利,并且在防止病毒威脅的情況下,還可以更好地為老人,兒童和殘疾人提供更好的服務(wù)。在該領(lǐng)域進(jìn)行深入研究對(duì)于家庭、社區(qū)和社會(huì)民生工作的開展具有重要價(jià)值[1-3]。
目前市場(chǎng)上有一些電梯具有語音功能,但只支持語音朗讀相關(guān)信息和播報(bào)樓層,即當(dāng)電梯到達(dá)指定樓層提醒乘客具體到達(dá)的樓層。僅在升降機(jī)外部添加一個(gè)感應(yīng)模塊,并不具備實(shí)用性和便利性。結(jié)合當(dāng)下行業(yè)的發(fā)展趨勢(shì)及存在的問題,通過撰寫研究課題步驟及方法,以論證所要得出的研究成果和所要展示的形式[4]。
該論文的目標(biāo)是實(shí)現(xiàn)電梯系統(tǒng)所有模塊在Linux開發(fā)板樹莓派4B(Raspberry-Pi 4B)上穩(wěn)定運(yùn)行;實(shí)現(xiàn)Baidu_Net、Home-Kit、Home-Assistant所有的傳感器的穩(wěn)定運(yùn)行;并使系統(tǒng)所有代碼可零成本快速打包遷移和部署;開發(fā)并完成智慧電梯實(shí)物模型一套。針對(duì)軟件控制,開發(fā)了對(duì)應(yīng)的安卓APK軟件包和HTML5、CSS網(wǎng)頁(yè)控制系統(tǒng)。
基于傳統(tǒng)的電梯控制方案中存在的諸多的待解決問題,急切能夠完成電梯轎廂自動(dòng)控制的裝置。區(qū)別于傳統(tǒng)方案,應(yīng)該采用哪種控制方案。主要提出了以下4種控制方式[5]。
1)與傳統(tǒng)的電梯一樣,采用帶有詳細(xì)的樓層信息的物理開關(guān)或按鍵檢測(cè)來控制電梯到達(dá)對(duì)應(yīng)的樓層位置。
2)在數(shù)據(jù)庫(kù)提前存儲(chǔ)用戶的人臉信息和其所對(duì)應(yīng)的樓層編號(hào)信息,之后利用人臉?biāo)阉骷夹g(shù),來對(duì)目標(biāo)用戶的人臉進(jìn)行讀取和檢測(cè),將獲取到當(dāng)前用戶對(duì)應(yīng)的樓層信息來向Raspberry-Pi的GPIO口下達(dá)高低電平指令驅(qū)動(dòng)步進(jìn)電機(jī)帶動(dòng)電梯轎廂前往指定樓層。
3)針對(duì)陌生的用戶群體非本棟樓層的用戶或沒有提前錄取到人臉信息,可以對(duì)電梯下達(dá)語音指令來進(jìn)行其設(shè)備的控制。
4)手機(jī)用戶采用NFC控制芯片,電梯控制實(shí)現(xiàn)真正的零接觸,將指令通過自己的手機(jī)直接進(jìn)行下發(fā)傳達(dá)來控制Raspberry-Pi的GPIO,這里的NFC控制方案區(qū)別于傳統(tǒng)的“門禁卡”用戶可以直接用手機(jī)內(nèi)置的NFC芯片來進(jìn)行通信。智慧電梯總體方案設(shè)計(jì)邏輯如圖1所示[6]。
圖1 智慧電梯總體方案設(shè)計(jì)邏輯
利用局域網(wǎng)環(huán)境搭建起HTML5網(wǎng)頁(yè),打開HTTP服務(wù)器的監(jiān)控功能。使用Linux終端定義兩個(gè)路由,定義一個(gè)POST的類,第一個(gè)路由的作用就是扔給瀏覽器一個(gè)HTML文檔后再?gòu)闹凶x取index數(shù)據(jù)模板,發(fā)送至客戶端服務(wù)器。針對(duì)第二個(gè)路由函數(shù),使用Python調(diào)用Bottle的Run函數(shù)方法創(chuàng)建一個(gè)HTTP服務(wù)器,使其通過瀏覽器訪問的界面。針對(duì)客戶端(控制界面)引用jQuery和Bootstrap這兩個(gè)前端框架,這樣就完整的實(shí)現(xiàn)和Raspberry-Pi之間的網(wǎng)絡(luò)通信[7]。
在基于Python3的開源家庭的自動(dòng)化平臺(tái)上。采用HASS類似于“智能家居”的環(huán)境部署方案,來進(jìn)行對(duì)Raspberry-Pi的遠(yuǎn)程控制。Hass.io是一個(gè)專為集成操作,s將電梯控制系統(tǒng)與Hass.io和Docker集成在一起,用以簡(jiǎn)化Home-Assistant配置。
結(jié)合iOS終端的自動(dòng)化和快捷指令程序進(jìn)行更高復(fù)雜度的編程設(shè)計(jì)。攝像頭將圖像捕捉之后,利用互聯(lián)網(wǎng)云市場(chǎng)上第三方的API接口來完成對(duì)采集到人臉進(jìn)行數(shù)據(jù)分析與處理。
采用裝載Linux微型操作系統(tǒng)Raspberry-Pi的開發(fā)板為主要控制器,作為通用微型計(jì)算機(jī),擁有特殊的硬件性能、信號(hào)絕緣,低功耗等特點(diǎn)??赏卣筓SB攝像機(jī)或幀接口攝像頭。
在Raspberry-Pi 4B的內(nèi)部,設(shè)置的傳輸模塊有Wi-Fi和藍(lán)牙等,Raspberry-Pi的操作方式主要有兩種,一種是圖形界面操作,一種是命令行模式。這里使用Wi-Fi傳輸協(xié)議來進(jìn)行所有數(shù)據(jù)收發(fā)和處理。內(nèi)部硬件設(shè)備在遠(yuǎn)程連接、Windows通信、百度云平臺(tái)連接均使用Wi-Fi協(xié)議,Raspberry-Pi主控板如圖2所示[8]。
圖2 Raspberry-Pi主控板
采用步進(jìn)電機(jī)的傳動(dòng)裝置作為電梯的動(dòng)力系統(tǒng)來連接模擬電梯轎廂。具有精度高、靈敏度高、啟停迅速等特點(diǎn)。在與Raspberry-Pi的連接運(yùn)行中,步進(jìn)電機(jī)負(fù)責(zé)對(duì)電梯的動(dòng)力驅(qū)動(dòng)。使用USB麥克風(fēng)的最顯著優(yōu)勢(shì)之一是即插即用,不需要其他的驅(qū)動(dòng)。Raspberry-Pi操作系統(tǒng)當(dāng)接入麥克風(fēng)會(huì)自動(dòng)檢測(cè)麥克風(fēng)驅(qū)動(dòng)程序。在此設(shè)計(jì)中使用Windows系統(tǒng)的筆記本電腦來和實(shí)體世界進(jìn)行Samba數(shù)據(jù)交互并將信號(hào)發(fā)送至Linux開發(fā)板。
Samba可以使運(yùn)行Linux的計(jì)算系統(tǒng)能夠參與操作其他計(jì)算機(jī)文件中,與 Microsoft Windows進(jìn)行相同的網(wǎng)絡(luò)協(xié)議通信,并從Windows客戶端的角度作為另一個(gè)文件系統(tǒng)在網(wǎng)絡(luò)上顯示。Windows和Linux文件交換如圖3所示。
圖3 Windows和Linux文件交換
使用步進(jìn)電機(jī)將脈沖信號(hào)轉(zhuǎn)換為普通的物理機(jī)械運(yùn)動(dòng),并且在使用步進(jìn)電機(jī)時(shí)系統(tǒng)是可以不需要額外的數(shù)據(jù)反饋,即使沒有反饋系統(tǒng),步進(jìn)電機(jī)也可以通過精確的位置控制進(jìn)行連續(xù)旋轉(zhuǎn)就既可以計(jì)算出相應(yīng)的轉(zhuǎn)動(dòng)角度。針對(duì)步進(jìn)電機(jī)的運(yùn)行機(jī)制和特殊基準(zhǔn)。除非在運(yùn)行中產(chǎn)生錯(cuò)誤丟失轉(zhuǎn)動(dòng)步數(shù),否則它的旋轉(zhuǎn)的角度對(duì)的系統(tǒng)和程序是已知的。
由于已知電機(jī)的旋轉(zhuǎn)位置,因此可以精確地控制電機(jī)的位置。這里采用步進(jìn)電機(jī)的傳動(dòng)裝置作為電梯的動(dòng)力系統(tǒng)來連接電梯轎廂。具有精度高、靈敏度高、啟動(dòng)停止迅速等特點(diǎn)。
步進(jìn)電機(jī)的驅(qū)動(dòng)形式主要有兩種,在本次設(shè)計(jì)中采用的是兩次相控驅(qū)動(dòng):這種輸出方式的主要轉(zhuǎn)矩特別大并且產(chǎn)生的震動(dòng)較小。在轉(zhuǎn)換的時(shí)候可以有一個(gè)通電線圈作為動(dòng)力輸出,這樣既可以讓它的輸出扭矩變大,也可以減少其震動(dòng)。兩次相控驅(qū)動(dòng)可提供更好的運(yùn)動(dòng)扭矩。當(dāng)兩相接通時(shí),電動(dòng)機(jī)產(chǎn)生更大的轉(zhuǎn)動(dòng)扭矩。需注意的是:轉(zhuǎn)矩脈動(dòng)是一個(gè)待解決的問題,因?yàn)樗赡芤鸸舱窈驼駝?dòng)導(dǎo)致步進(jìn)電機(jī)不能運(yùn)行。
針對(duì)和Raspberry-Pi的連接,本項(xiàng)目的設(shè)計(jì)方案主要是采用ULN2003激勵(lì)作為驅(qū)動(dòng)器,也就是將集成放大器至于電路內(nèi)部,并且不需要在電路連接中設(shè)置其他電容或電阻元件,步進(jìn)電機(jī)驅(qū)動(dòng)板連接如圖4所示[9]。
圖4 步進(jìn)電機(jī)驅(qū)動(dòng)板連接
樹莓派ARM 架構(gòu)的卡片電腦,可以安裝非常多的Linux發(fā)行版。Raspberry-Pi官方的操作系統(tǒng)是Raspberry-Pi OS,一共有3個(gè)版本,這3個(gè)版本都是可以兼容所有的Raspberry-Pi操作系統(tǒng)是一個(gè)免費(fèi)的基于Debian的操作系統(tǒng),也是最適合Raspberry-Pi設(shè)備。Raspberry-Pi OS在操作系統(tǒng)中已經(jīng)預(yù)裝了3 500多個(gè)常用軟件包,其具備完整的Linux操作系統(tǒng)功能,可以很輕松安裝在Raspberry-Pi上。Raspberry-Pi操作系統(tǒng)與大多數(shù)常見臺(tái)式機(jī)兼容,例如MacOS和Microsoft-Windows。
4.1.1 操作系統(tǒng)選擇
訪問Raspberry-Pi China的官方網(wǎng)站以下載最新版本的Raspberry File和Photography文件??啼涍^程首先選擇目的鏡像如圖5所示。
圖5 使用Win32進(jìn)行系統(tǒng)燒錄
當(dāng)所有的軟件連接配置完成之后,啟動(dòng)遠(yuǎn)程連接軟件程序,主要有3種方式可以連接操作系統(tǒng),這里使用Xshell接入到Raspberry-Pi操作系統(tǒng)中。
4.1.2 Python編譯環(huán)境的安裝
Python作為本次項(xiàng)目設(shè)計(jì)開發(fā)的主要編程語言,在的Linux終端上需直接運(yùn)行此程序語言,開發(fā)環(huán)境搭建,訪問官方網(wǎng)站https://www.python.org/,下載需要的安裝包和在程序設(shè)計(jì)中的相關(guān)依賴即可完成對(duì)應(yīng)操作。
4.1.3 HASS-IO遠(yuǎn)程控制系統(tǒng)的安裝
作為基礎(chǔ)框架,本項(xiàng)目利用Docker來部署Home-Assistant,并且為Home-Assistant 提供各種插件(addons)。如此來為在后面和電梯的連接中基本控制器(消毒系統(tǒng))提供了幫助。而Home-Assistant在Hassio中,Home-Assistant 是利用Docker部署起來,Hassio和Home-Assistant 是通過內(nèi)置的API進(jìn)行聯(lián)系和溝通以連接電梯的控制模塊[10]。
4.1.4 百度云SDK的本地化安裝
此SDK作為Python的一個(gè)第三方附屬庫(kù),用以連接操作系統(tǒng)和百度云的API數(shù)據(jù)通信數(shù)據(jù)的收發(fā)。并定義了許多方便調(diào)用的子函數(shù)。無論是在Linux還是在其他操作系統(tǒng)平臺(tái),有了Python編譯環(huán)境之后,便可以使用shell命令一鍵安裝。
結(jié)合身份ID識(shí)別、人臉對(duì)比、活體檢測(cè)等多項(xiàng)組合能力。其功能主要包含:人臉注冊(cè)、人臉識(shí)別驗(yàn)證、人臉?biāo)阉黩?yàn)證。使用百度云平臺(tái)來處理系統(tǒng)采集到的語音信息和捕獲的人臉數(shù)據(jù)。
百度云API技術(shù)的云端調(diào)用時(shí),官方提供有許多程序命令的DEMO,系統(tǒng)使用Python的JSON函數(shù)包去請(qǐng)求百度云服務(wù)器等待其參數(shù)結(jié)果的返回。API的接口程序中,本質(zhì)都是調(diào)用服務(wù)器從此接口返回的結(jié)果后對(duì)數(shù)據(jù)集處理。
作為連接所有Raspberry-Pi設(shè)備的監(jiān)視平臺(tái),Hass.io是一個(gè)簡(jiǎn)單的操作服務(wù)器和一個(gè)簡(jiǎn)單的家庭類幫助系統(tǒng)。在操作系統(tǒng)內(nèi)安裝相對(duì)應(yīng)的OS軟件和集成Docker環(huán)境使用Home-Assistant去簡(jiǎn)化系統(tǒng)使用并且更加便于移植。通過HASS服務(wù)分發(fā)Home-Assistant云服務(wù)。Hass.io使用Python創(chuàng)建類似于Docker Manager的程序以及在此處運(yùn)行的控件,以升級(jí)或降級(jí)該服務(wù)環(huán)境。通過Home-Assistant的開源自動(dòng)化平臺(tái)??梢愿櫤涂刂齐娞葜械乃性O(shè)備,并實(shí)現(xiàn)自動(dòng)化控制。并完美運(yùn)行在Raspberry-Pi。[11-12]
智慧電梯系統(tǒng)的網(wǎng)絡(luò)環(huán)境配置中,Raspberry-Pi的監(jiān)控方案采用的是網(wǎng)絡(luò)IP攝像頭的視頻流上傳。在Android、iOS、Windows上等各種平臺(tái)都可以完成配置。利用Android平臺(tái)的網(wǎng)絡(luò)IP攝像頭可以完成實(shí)時(shí)動(dòng)作監(jiān)控等操作。
當(dāng)設(shè)備接入到此局域網(wǎng)絡(luò)中,在另一臺(tái)設(shè)備安裝Cam Monitor通信協(xié)議,支持在兩個(gè)設(shè)備之間的雙向音頻傳輸。Windows和macOS等都可以兼容。通過局域網(wǎng)的連接方式即可接入到HASS的Home-Assistant中,即可以在整個(gè)局域網(wǎng)中進(jìn)行攝像頭畫面實(shí)時(shí)共享[13-14]。
電梯系統(tǒng)支持動(dòng)作檢測(cè)功能,并調(diào)整云服務(wù)器的設(shè)置以將其啟用。激活運(yùn)動(dòng)檢測(cè)模式,用于環(huán)境網(wǎng)絡(luò)警報(bào)。技術(shù)原理采用檢測(cè)間隔幀變化的方法。目標(biāo)傳輸和目標(biāo)分配最常用的方法是關(guān)鍵幀的分割方法。使用像素時(shí)間差來移除圖像進(jìn)行的兩個(gè)或3個(gè)相鄰正方形之間的圖像運(yùn)動(dòng)部分。首先,將視頻流截取成細(xì)微的“幀流片段”,然后對(duì)比前后兩幀的圖像位置,動(dòng)作閾值檢測(cè)如圖6所示。
圖6 動(dòng)作閾值檢測(cè)
無論是在Android的軟件程序交互和PC或Mac的交互邏輯設(shè)計(jì),系統(tǒng)采用的是統(tǒng)一API請(qǐng)求,使用Python為主設(shè)計(jì)語言,采用Flask框架模型作為后端部署程序。網(wǎng)頁(yè)前端設(shè)計(jì)語言采用HTML5、CSS、JavaScript聯(lián)合許多種CDN庫(kù),主要包含有jQuery版的JS、Bootstrap開發(fā)環(huán)境等。
為適應(yīng)用戶不同的設(shè)備終端,借助以上框架設(shè)計(jì)了一套網(wǎng)頁(yè)APP,可以完美兼容Android和iOS等操作系統(tǒng)平臺(tái)。通過HTML5網(wǎng)頁(yè)渲染技術(shù),使用Python程序中的POST請(qǐng)求給出一個(gè)服務(wù)器的IP的請(qǐng)求接口(8080),系統(tǒng)創(chuàng)建了兩個(gè)HTML5網(wǎng)頁(yè)客戶前端,其HTTP交互邏輯如圖7所示[15]。
圖7 HTTP交互流程
在Raspberry-Pi上運(yùn)行Python指定程序?qū)⒔涌卺尫?,此時(shí)會(huì)生成兩個(gè)HTML前端網(wǎng)頁(yè)文件,一個(gè)是針對(duì)電梯的控制端(192.168.137.84:8080/cmd),二是針對(duì)IP攝像頭的控制端(192.168.137.84:8080/cmd2)。使用Fusion-App將網(wǎng)頁(yè)和Home-Assistant加載到“智慧電梯”安卓APP中。既可以使用圖形化界面對(duì)電梯下達(dá)指令控制。安卓軟件界面如圖8所示。
圖8 安卓軟件界面
HTML后端交互和數(shù)據(jù)傳輸?shù)某绦蚩蚣苓x擇上,采用Python的Flask架構(gòu)。Flask框架非常適用在小型網(wǎng)站,也適用于開發(fā)各種Web服務(wù)的API,在大型網(wǎng)站開發(fā),F(xiàn)lask開發(fā)靈活。修相比Diango同樣作為普遍的Web服務(wù)框架,F(xiàn)lask框架具有更多的功能和交互性可以通過高度定服務(wù)來完成更靈活的服務(wù)設(shè)計(jì)。選用Flask作為主框架,可以更好地避免程序代碼過多。在HTML5設(shè)計(jì)中,設(shè)定了6個(gè)API服務(wù)用作于硬件開關(guān)的接入。這里的Web服務(wù)網(wǎng)關(guān)接口,作為Web服務(wù)器和應(yīng)用程序之間的通用接口,選用Python的Flask框架,確保了不同的Web服務(wù)器類型可以相互通信。
在電梯的控制環(huán)節(jié)中,現(xiàn)在人們周圍許多的設(shè)備都具有NFC近場(chǎng)通信功能,例如可以用手機(jī)代替公交卡、銀行卡甚至身份證等。本項(xiàng)目將這一技術(shù)應(yīng)用到針對(duì)電梯的控制中去,即利用NFC的識(shí)別返回值或檢測(cè)POST的命令請(qǐng)求來完成電梯的控制指令下發(fā)[16]。
在電梯的控制環(huán)節(jié)中,現(xiàn)在人們周圍許多的設(shè)備都具有NFC近場(chǎng)通信功能,例如可以用手機(jī)代替公交卡、銀行卡甚至身份證等。本項(xiàng)目將這一技術(shù)應(yīng)用到針對(duì)電梯的控制中去,即利用NFC的識(shí)別返回值或檢測(cè)POST的命令請(qǐng)求來完成電梯的控制指令下發(fā)。
NFC作為一種(近場(chǎng)通信)無線通信協(xié)議,主要是在兩個(gè)電子設(shè)備之間4厘米或更少的距離內(nèi)進(jìn)行協(xié)議交換。連接準(zhǔn)備、速度快。也可以引導(dǎo)許多針對(duì)設(shè)備的功能性操作。例如鑰匙卡、明文身份標(biāo)識(shí)卡,并且它們也可以用于各種支付系統(tǒng)或信用卡等。
在NFC的芯片選取過程中,本著低成本、高穩(wěn)定性、易連接等主要特點(diǎn)。最終確認(rèn)并選用ISO 14443-3A的NXP技術(shù)標(biāo)準(zhǔn),在連接技術(shù)方案上采用的是NFC,并支持反復(fù)擦寫讀取。在Android和iOS的操作系統(tǒng)中,實(shí)現(xiàn)由兩種方案設(shè)計(jì)。針對(duì)Android方案,利用NFC-Tools寫入工具如圖9所示,將在index的HTML5網(wǎng)頁(yè)中的接口寫入到NFC芯片內(nèi)存中去[17]。
圖9 NFC-Tools寫入工具
針對(duì)iOS操作系統(tǒng),利用每一張NFC的身份標(biāo)識(shí)碼,iOS操作系統(tǒng)對(duì)一張卡片完成檢測(cè)后,會(huì)返回一個(gè)指定的芯片標(biāo)識(shí)類型。分析到特定的標(biāo)識(shí)符后,再通過快捷指令的SSH腳本去請(qǐng)求指定好的Python程序這樣就完成了相應(yīng)的請(qǐng)求。iOS操作系統(tǒng)可視化編程界面如圖10所示。
圖10 iOS操作系統(tǒng)可視化編程界面
人臉?biāo)阉骷夹g(shù)是由Google開發(fā)的搜索服務(wù),該服務(wù)的目的是用戶可以從已上傳到Internet的圖像中搜索該人的所有圖像。在電梯總體控制方案中,人臉對(duì)比技術(shù)是其本次設(shè)計(jì)任務(wù)設(shè)的主線,采用百度云的API服務(wù)調(diào)用處理。
利用攝像頭將圖像捕捉之后,利用互聯(lián)網(wǎng)云市場(chǎng)上第三方的API接口來完成對(duì)采集到人臉進(jìn)行數(shù)據(jù)分析與處理。這里采用的是百度云平臺(tái)開放的AI處理工具百度云—人臉?biāo)阉?。在人臉?shù)據(jù)庫(kù)中搜索人臉圖像,返回?cái)?shù)據(jù)庫(kù)中和人臉組和最匹配的人臉信息關(guān)鍵值,它可以提供有人臉注冊(cè),更新,刪除和請(qǐng)求用戶信息等11種界面功能,并支持多級(jí)數(shù)據(jù)庫(kù)管理界面。
為便于后期系統(tǒng)測(cè)試,系統(tǒng)關(guān)閉了活體檢測(cè)。在API的返回信息中,如果對(duì)代碼進(jìn)行設(shè)置不同的控制度,就會(huì)得到不同相對(duì)應(yīng)的質(zhì)量控制閾值,若服務(wù)器的返回值不符合閾值的要求,即會(huì)向控制臺(tái)發(fā)送并提醒錯(cuò)誤信息。HTTP請(qǐng)求后既可以得到JSON返回結(jié)果信息又可以達(dá)到和Python Flask框架的交互。返回示例用User_id來判斷用戶姓名,以此控制步進(jìn)電機(jī)以驅(qū)動(dòng)電梯[18]。
5.5.1 語音識(shí)別
系統(tǒng)錄音方案采用的是第三方的網(wǎng)絡(luò)平臺(tái)設(shè)備(Windows操作系統(tǒng)的錄音模塊PY)。使用ssh局域網(wǎng)通信協(xié)議傳輸?shù)絃inux的文檔目錄下,Windows和Raspberry-Pi交互邏輯如圖11所示。
圖11 Windows和Raspberry-Pi交互邏輯
使用主控制器(Raspberry-Pi)的數(shù)據(jù)控制介質(zhì)進(jìn)行數(shù)據(jù)收集,短語音識(shí)別技術(shù)在語音轉(zhuǎn)文本的過程中,30秒的語音長(zhǎng)度大多數(shù)情況下一秒鐘即可完成。因此完全可以將其應(yīng)用在控制和輸入場(chǎng)景。
一是通過REST-API接入,在每個(gè)API的接口調(diào)用中,都會(huì)有專門的 HTTP 接口,用以上傳編碼后的完整錄音文件。二是使用本地SDK接入并支持超過60秒的實(shí)時(shí)長(zhǎng)語音識(shí)別。同時(shí)也支持上傳完整錄音文件。支持離線喚醒詞、命令詞、通用語義解析等功能。在這里選用的是REST-API的方案接入,此方案在價(jià)格和速度上具有很大的優(yōu)勢(shì),而SDK所附有的其他功能不是本次項(xiàng)目所必需的,API請(qǐng)求類型如表1所示。
表1 API請(qǐng)求類型
5.5.2 語音合成
語音轉(zhuǎn)換(TTS)系統(tǒng)將普通語言文本轉(zhuǎn)換為語音文件,語音系統(tǒng)使用百度云AI平臺(tái)。短語音模式的短語音識(shí)別模型能夠以類似人類語音進(jìn)行通信,適用于電話音頻記錄,語音搜索,語音通信等其他活動(dòng)。具有5種知識(shí)形式:普通話,英語,四川語言等[19]。其中,Android,iOS和Linux SDK可以支持最多60秒的實(shí)時(shí)現(xiàn)場(chǎng)語音,語音屬性如表2所示。
表2 語音屬性列表
借助Home-Assistant平臺(tái),在電梯內(nèi)置通風(fēng)扇和紫外線消毒等,將以上硬件設(shè)備依托Home-Assistant云平臺(tái),接入到系統(tǒng)的控制端,它可以監(jiān)聽在局域網(wǎng)設(shè)備環(huán)境中的所有設(shè)備,并可以針對(duì)自動(dòng)化控件,進(jìn)行指令下發(fā)和接收。
在此項(xiàng)目中,HASS安裝在Home-Assistant中的Raspberry-Pi硬件端口和電梯的主控上,用于數(shù)據(jù)交互??梢允褂肦aspberry-Pi的官方Raspberry操作系統(tǒng)來安裝HASS或Hassbian系統(tǒng)。它可以很高程度的簡(jiǎn)化與Home-Assistant相關(guān)的插件和依賴項(xiàng)的安裝和配置。
通過不同的通信協(xié)議,連接到不同的網(wǎng)絡(luò)設(shè)備,并且可以在Web界面上編輯修改、移動(dòng)端有iOS應(yīng)用程序和Android應(yīng)用程序,便于用戶更簡(jiǎn)潔的進(jìn)行交互使用。例如RGB燈的設(shè)備,也可以支持大量處理操作。
5.6.1 OLED數(shù)據(jù)顯示模塊
為了顯示電梯控制系統(tǒng)的具體對(duì)應(yīng)樓層的信息,系統(tǒng)需要實(shí)時(shí)顯示樓層位置信息以及最新的告警消息。該系統(tǒng)使用Python向SSD1306-OLED模塊來發(fā)送指令,并使用完整的IIC和SPI兼容驅(qū)動(dòng)程序。SSD1306作為屏幕的驅(qū)動(dòng)器,OLED本身分辨率高,單個(gè)像易素定位,且像素傳感器能夠旋轉(zhuǎn),屏幕明亮且功耗非常低。SS1306上安裝的包括控制器、RAM顯示器和晶體振蕩器,從而減少外部設(shè)備和功耗,LED顯示流程如圖12所示。
圖12 OLED顯示流程
5.6.2 Home-Kit接入
系統(tǒng)中的HASS安裝在Home-Assistant中的Raspberry-Pi硬件端口和電梯的主控上用于數(shù)據(jù)交互??梢允褂肦aspberry-Pi官方Raspberry操作系統(tǒng)來安裝HASS或Hassbian系統(tǒng)。其可以高程度的簡(jiǎn)化與Home-Assistant相關(guān)的插件和依賴文件包的安裝和配置。
它的通信協(xié)議機(jī)制包含例如:WeMo協(xié)議、ZigBee網(wǎng)關(guān)和Wi-Fi通信。允許移動(dòng)設(shè)備和電話在遠(yuǎn)距離共享數(shù)據(jù)以創(chuàng)建個(gè)人局域網(wǎng)。借助Home-Kit平臺(tái),將所有設(shè)備組合在一個(gè)應(yīng)用程序中,程序?qū)⑽谋拘畔l(fā)送至服務(wù)器,服務(wù)器解析完成并關(guān)聯(lián)相對(duì)應(yīng)的指令信息進(jìn)行返回。HomeBridge作為連接橋梁是使用Node.js開發(fā)的應(yīng)用連接程序框架,可以直接運(yùn)行在家庭的局域網(wǎng)絡(luò),并在iOS設(shè)備和其他連接橋梁之間提供開放API[20]。
5.6.3 手機(jī)語音助手
實(shí)時(shí)語音控制可在任意時(shí)刻完成對(duì)設(shè)備的指令下發(fā)控制,時(shí)延低、響應(yīng)快、內(nèi)存占用小和受眾面廣。采用的iOS終端中集成的Siri語音助手,在連接家庭APP的同時(shí),在快捷指令配置好ssh的Raspberry的Python程序,即可完成在Raspberry-Pi和iPhone之間的快速操作。如圖13為快捷指令的配置界面。
圖13 快捷指令的配置界面
針對(duì)前端技術(shù),使用Siri技術(shù)的目標(biāo)是處理用戶請(qǐng)求并提供最佳結(jié)果。所做的主要任務(wù)就是通過分析用戶的數(shù)據(jù)輸用戶的數(shù)據(jù)類型來選擇正確的技術(shù)類型進(jìn)行回應(yīng)并處理[21]。
系統(tǒng)人臉和語音控制邏輯:當(dāng)行人步行到電梯旁,電梯的紅外檢測(cè)攝像頭先對(duì)人臉進(jìn)行定位提取關(guān)鍵點(diǎn)信息并上傳至BAIDU或本地?cái)?shù)據(jù)庫(kù)記錄的人臉服務(wù)器進(jìn)行比對(duì)分析,由主控制器 Raspberry計(jì)算后給出是否匹配的結(jié)果,若通過匹配將數(shù)據(jù)庫(kù)記錄的樓層信息反饋至驅(qū)動(dòng)裝置控制電梯轎廂完成運(yùn)行到指定樓層。若檢測(cè)到的人臉信息不在系統(tǒng)或 BAIDU的人臉數(shù)據(jù)庫(kù)中,會(huì)立即啟動(dòng)語音檢測(cè)提示用戶語音給出口層信息,計(jì)算之后反饋至驅(qū)動(dòng)裝置。
NFC和HTML網(wǎng)頁(yè)控制邏輯:可以部署在貨運(yùn)電梯或醫(yī)院,實(shí)現(xiàn)使用手機(jī)觸碰電梯內(nèi)置的NFC 感應(yīng)芯片或操作人員使用特定的APP對(duì)電梯進(jìn)行監(jiān)控或控制。
系統(tǒng)調(diào)試?yán)媒咏鼘?shí)際客觀的環(huán)境條件,對(duì)系統(tǒng)的硬件和系統(tǒng)軟件進(jìn)行分步測(cè)試,然后對(duì)整個(gè)系統(tǒng)進(jìn)行整體調(diào)試并收集記錄測(cè)試數(shù)據(jù)。確保系統(tǒng)硬件和軟件的整體可靠性。除去必要的軟件開發(fā)、維護(hù)軟件和操作系統(tǒng)、同時(shí)也是確定軟件系統(tǒng)是否完整測(cè)試的重要依據(jù)。在軟件正式應(yīng)用前,提前測(cè)試各項(xiàng)指標(biāo)去發(fā)現(xiàn)在使用過程中的錯(cuò)誤和不合理之處,將發(fā)現(xiàn)的問題進(jìn)行糾錯(cuò)并完善系統(tǒng),其主要測(cè)試范圍包括:響應(yīng)速度、功能、軟件的兼容性和性能指標(biāo)。軟件測(cè)試分類如表3所示。
1)所有系統(tǒng)設(shè)計(jì)其實(shí)都是針對(duì)時(shí)間延時(shí)進(jìn)行的但是在整體系統(tǒng)的設(shè)計(jì)中,這個(gè)延時(shí)時(shí)間是無法精確到毫秒測(cè)量。最后的解決方法是,每次程序開始運(yùn)行打印的當(dāng)前時(shí)間,精確到毫秒,結(jié)束運(yùn)行后打印當(dāng)前時(shí)間。兩者時(shí)間之差就是程序的運(yùn)行時(shí)間。
2)在對(duì)文件上傳速度的測(cè)量中,有一個(gè)是百度云服務(wù)器的時(shí)間,另一個(gè)是本地控制器的時(shí)間,兩者的時(shí)間差值在8小時(shí)。所有百度云對(duì)圖片的處理時(shí)間是無法確定的。對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行改進(jìn),確定本地上傳數(shù)據(jù)后的時(shí)間相對(duì)于服務(wù)器結(jié)果返回的時(shí)間差,那么就可以得到數(shù)據(jù)處理時(shí)間和上傳時(shí)間總和。
3)在語音處理的函數(shù)選擇上,百度云服務(wù)和許多云服務(wù)廠商的數(shù)學(xué)模型完全是不同的。造成對(duì)比數(shù)據(jù)量大,成本高,沒有辦法逐個(gè)進(jìn)行數(shù)據(jù)測(cè)試。最后為了保證系統(tǒng)的整體統(tǒng)一,就全部采用百度云的服務(wù)器并針對(duì)延時(shí)進(jìn)行測(cè)試和數(shù)據(jù)收集。
表3 系統(tǒng)運(yùn)行的軟件架構(gòu)見表
結(jié)合上述的測(cè)試數(shù)據(jù),既要保證上傳速度另外還要保證傳輸?shù)臏?zhǔn)確性與識(shí)別的準(zhǔn)確度。最終實(shí)驗(yàn)得出系統(tǒng)的總體設(shè)計(jì)延遲如表4所示。
表4 總體設(shè)計(jì)延遲
1)對(duì)整體的系統(tǒng)硬件設(shè)計(jì)方案進(jìn)行周密的論證和實(shí)物測(cè)試。確定每一個(gè)模塊的設(shè)計(jì)要求和方案,最終完成實(shí)物電梯模型一套。
2)對(duì)整體系統(tǒng)的電路系統(tǒng)重新設(shè)計(jì)新的PCB電路板和基礎(chǔ)硬件布局、連接和焊接。
3)開發(fā)了完整的HTML網(wǎng)頁(yè)、對(duì)應(yīng)Android操作軟件、整體的Python代碼。
通過對(duì)設(shè)計(jì)整體的改進(jìn),本文“智慧電梯”主要有三點(diǎn),可以在功能和易用性方面進(jìn)行優(yōu)化。
1)針對(duì)人臉檢索技術(shù),這一點(diǎn)僅做的是少量人臉比對(duì),并沒有考慮在密集人群中的識(shí)別度和準(zhǔn)確度,這在產(chǎn)品升級(jí)中是非常關(guān)鍵的一點(diǎn)。后續(xù)通過算法升級(jí)和圖像分割等技術(shù)等完成更多的功能。
2)在整體的控制系統(tǒng)上,因控制終端的算力限制,不能在本地完成數(shù)據(jù)計(jì)算和數(shù)據(jù)比對(duì),如果增強(qiáng)算力會(huì)導(dǎo)致成本的上升,這一點(diǎn)要針對(duì)具體的用途完成相應(yīng)的調(diào)整。
3)OLED的樓層顯示上,不能快速實(shí)時(shí)地更新顯示當(dāng)前的樓層位置,在高層電梯和安全性上尤為重要。后續(xù)可以通過每個(gè)樓層設(shè)計(jì)傳感器來實(shí)現(xiàn)。
4)針對(duì)無線終端的控制,后期應(yīng)制作輕量化應(yīng)用程序,在一個(gè)樓層內(nèi)完成在多個(gè)電梯之間的交互通信,使用ESP8266模塊來降低使用成本。
在全球智能化背景的今天,隨著日益增長(zhǎng)的社會(huì)基礎(chǔ)設(shè)施要求的提高。本文針對(duì)基于樹莓派的無接觸智慧電梯設(shè)計(jì)系統(tǒng)進(jìn)行分析研究,分析了現(xiàn)有的民用電梯的結(jié)構(gòu)和優(yōu)缺點(diǎn),此設(shè)計(jì)的研究結(jié)果闡明了智慧電梯在日常生活的關(guān)鍵性作用和設(shè)計(jì)意義,解決了民生和疫情工作中的實(shí)際問題?;贚inux的發(fā)行版Raspberry-Pi操作軟件的整套電梯控制系統(tǒng)其包含功能多達(dá)數(shù)10項(xiàng)可供選擇,結(jié)合當(dāng)下最普遍的手機(jī)操作、人臉監(jiān)控、語音控制等4項(xiàng)功能對(duì)其在許多方面的應(yīng)用,最后論述了其實(shí)際價(jià)值、意義和作用,對(duì)下一步的研究做了分析和展望。