梁亞峰 蘇龍
(成都航空職業(yè)技術(shù)學(xué)院 四川省成都市 610100)
實訓(xùn)基地是職業(yè)院校開展實踐教學(xué)的主要教學(xué)場所,是實現(xiàn)實踐教學(xué)任務(wù)目標的重要平臺[1],如何優(yōu)化資源配置,提高實訓(xùn)基地的利用率,管好、用好實訓(xùn)基地是職業(yè)院校面臨的一大難題。目前,不少國內(nèi)的高職教育工作者對實訓(xùn)基地的管理做了大量的研究,并取得了一定的成果,文獻[1-2]等從管理機制以及信息化平臺的設(shè)計等不同的層面進行了有益的探索,但對于實訓(xùn)基地管理的網(wǎng)絡(luò)終端沒有提出具體的解決方案,本文設(shè)計了一種面向?qū)嵱?xùn)基地管理系統(tǒng)的門鎖控制網(wǎng)絡(luò)終端,通過MQTT 物聯(lián)網(wǎng)通信協(xié)議來獲取存儲于服務(wù)器的用戶預(yù)約成功的開鎖授權(quán)信息,通過人臉識別模塊獲取當前開鎖者是否為當前時間已預(yù)約的用戶,在以上兩種信息一致的情況下,實現(xiàn)實訓(xùn)基地門鎖的開關(guān)控制,同時能夠?qū)嵱?xùn)基地在預(yù)約時間端內(nèi)是否使用信息發(fā)送至指定的信息化管理平臺,進而實現(xiàn)實訓(xùn)基地更加科學(xué)、合理的管理。
系統(tǒng)應(yīng)用場景與總體框架如圖1所示,系統(tǒng)的主要工作流程是已經(jīng)注冊成功的用戶,首先在信息化管理平臺進行預(yù)約,預(yù)約成功的信息將通過網(wǎng)絡(luò)下發(fā)至本終端,然后在本終端通過人臉識別進行身份驗證,系統(tǒng)判斷預(yù)約信息中的使用時間和用戶身份信息與系統(tǒng)當前時間和當前檢測用戶的身份信息一致時,將會通過繼電器模塊打開實訓(xùn)基地門鎖,同時鎖已打開的信息將回傳至服務(wù)器,以便于服務(wù)器端進行相關(guān)數(shù)據(jù)的統(tǒng)計分析。本文主要介紹門鎖控制網(wǎng)絡(luò)終端的設(shè)計與實現(xiàn),門鎖控制網(wǎng)絡(luò)終端由主控模塊、Wi-Fi 模塊、人臉識別模塊、觸控屏模塊、繼電器模塊、信號轉(zhuǎn)換模塊以及電源管理模塊組成,其中繼電器模塊的功能是將單片機的I/O 信號轉(zhuǎn)換為可以驅(qū)動電控鎖的信號,信號轉(zhuǎn)換模塊的功能是采集實訓(xùn)基地門鎖是否上鎖的傳感器信號。
圖1:系統(tǒng)應(yīng)用場景與總體框架
系統(tǒng)的主控模塊是以小體積、低功耗的單片機為核心,外加構(gòu)成單片機最小系統(tǒng)的復(fù)位電路、時鐘電路。本次設(shè)計采用以STM32F103RCT6 單片機為核心的主控電路,該單片機是基于ARM CortexTM-M3 核心的高性能單片機,其最高工作頻率可達72MHz,片上集成了48KB 的RAM 和256 KB 的ROM,3 個SPI接口、5 個USART 接口[3],能夠滿足設(shè)計需求。
由于系統(tǒng)需要存儲大量的用戶信息,所以需要增加外部存儲,本次設(shè)計選用了支持SPI 接口的FLASH 存儲器W25X16,存儲容量為16Mbit,傳輸速率最大75MHz,具有體積小、功耗低的特點,其電路圖如圖2所示。
圖2:外部存儲模塊電路
Wi-Fi 模塊選用了基于ESP8266EX 的集成模塊ESP-01S,ESP8266EX 是一個完整且自成體系的Wi-Fi 網(wǎng)絡(luò)解決方案,通過SPI/SDIO 接口或I2C/UART 接口即可實現(xiàn)無線網(wǎng)絡(luò)接入,片內(nèi)集成了天線開關(guān)、功率放大器、低噪聲接收放大器、濾波器和電源管理模塊,占用系統(tǒng)資源少,開發(fā)成本低[4]。Wi-Fi 模塊的電路圖如圖3所示,其中GPIO0 用于設(shè)置ESP8266EX 的工作模式,上拉為工作模式,下拉為下載模式,ESP-01S 模塊內(nèi)部已經(jīng)做了上拉處理,在本次設(shè)計中懸空即可。
圖3:Wi-Fi 模塊電路
人臉識別模塊選用了FaceModule210-EV-Board 集成模塊,F(xiàn)aceModule210 是一款工業(yè)級人臉識別模塊,該模塊采用雙核64位AI 專用處理器,算力高達1TOPS。模塊內(nèi)部集成人臉識別算法,通過紅外和彩色雙目攝像頭采集人臉數(shù)據(jù),并由內(nèi)部的算法進行數(shù)據(jù)處理,運算處理后的數(shù)據(jù)經(jīng)串口傳送給主控制器。本次設(shè)計中采用STM32F103RCT6 的USART3 與FaceModule210 進行通信。
觸控屏模塊選用了BM1060K070_11C 集成模塊,該模塊采用了基于嵌入式控制系統(tǒng)純硬件驅(qū)動顯示解決方案,集成了7 英寸顯示屏和電容觸控組件,分辨率為1024×600,通過上位機開發(fā)顯示界面,主控模塊僅通過串口就可以實現(xiàn)相關(guān)參數(shù)的顯示與觸控信息的采集。本次設(shè)計中采用STM32F103RCT6 的USART4 與BM1060K070_11C 進行通信。
繼電器模塊的功能是控制電控鎖或者電動卷簾門動作,目前市面上的絕大多數(shù)電控鎖以及電動卷簾門的控制端都可以通過常開或者常閉的觸點來控制其動作,所以本次設(shè)計中采用了繼電器的機械式觸點來實現(xiàn),進而可以適配不同電平標準的電控鎖,繼電器模塊中包含4 組常開和常閉觸點,以適配不同的使用場景。
可以檢測是否上鎖的傳感器有很多種類型,如光電開關(guān)、接近開關(guān)、霍爾式傳感器等,一般是開關(guān)量信號輸出,但是電平標準有不同規(guī)格,主要有DC5V,DC12V,DC24V 等,為了適應(yīng)現(xiàn)場不同電平標準的傳感器,本文設(shè)計了支持PNP 輸出且可以兼容以上三種電平規(guī)格的信號轉(zhuǎn)化電路,具體電路圖如圖4所示。
圖4:信號轉(zhuǎn)化模塊電路
系統(tǒng)軟件設(shè)計主要包括各硬件模塊的參數(shù)配置與控制程序、系統(tǒng)功能實現(xiàn)程序以及主程序,參數(shù)配置與控制程序主要包括ESP8266 的網(wǎng)絡(luò)配置程序、人臉識別模塊的控制程序、觸控屏的控制程序、外部存儲模塊的數(shù)據(jù)讀寫程序等,系統(tǒng)功能實現(xiàn)程序主要包括用戶注冊與刪除程序、開鎖控制程序、關(guān)鎖控制程序等,主程序主要包括系統(tǒng)初始化程序等,以下重點介紹用戶注冊程序、開鎖控制程序以及主程序的設(shè)計。
用戶注冊程序在以5 毫秒為周期的中斷函數(shù)中實現(xiàn)。用戶注冊流程如下,首先檢測觸控屏上的注冊按鍵是否按下,如果按鍵沒有按下,則結(jié)束該程序,如果按鍵按下,則讀取擬注冊用戶在觸控屏上輸入的用戶姓名和工號信息,并檢測在一分鐘內(nèi)確認鍵是否按下,如果沒有按下,則系統(tǒng)認為超時而結(jié)束該程序,如果按下,則向人臉識別模塊發(fā)送注冊請求并檢測注冊結(jié)果,如果注冊失敗,則在顯示注冊失敗信息,然后結(jié)束該程序,如果注冊成功,則將注冊成功的信息寫入到外部存儲器FLASH,并在顯示注冊成功信息,然后結(jié)束該程序。具體流程圖如圖5所示。
圖5:用戶注冊程序流程圖
開鎖控制程序也在以5 毫秒為周期的中斷函數(shù)中實現(xiàn)。程序工作流程如下,首先讀取系統(tǒng)當前時間和來自于服務(wù)器的用戶預(yù)約信息,然后對比當前系統(tǒng)時間是否在用戶已經(jīng)預(yù)約開鎖的時間段范圍內(nèi),如果不在,則結(jié)束該程序,如果在,則讀取人臉識別模塊信息,如果人臉識別模塊沒有用戶發(fā)起開鎖請求,則結(jié)束該程序,如果有用戶發(fā)起了開鎖請求,則對比當前發(fā)起請求的用戶信息是否與預(yù)約用戶信息相同,如果不相同則結(jié)束該程序,如果相同,則控制繼電器模塊進行開鎖,然后檢測鎖是否己打開,如果沒有打開,則在觸控屏顯示報錯信息,并將報錯信息上傳至服務(wù)器,如果已經(jīng)打開,則在觸控屏顯示門鎖已打開的信息并將數(shù)據(jù)發(fā)送至服務(wù)器。具體流程圖如圖6所示。
圖6:開鎖控制程序流程圖
主程序中主要實現(xiàn)系統(tǒng)初始化、ESP8266 網(wǎng)絡(luò)參數(shù)配置、連接MQTT 服務(wù)器、開啟以5 毫秒為周期的中斷,然后進入while(1)主循環(huán),在主循環(huán)中不斷檢測各個模塊是否正常工作,如果出現(xiàn)了異常則發(fā)送錯誤信息至觸控屏或服務(wù)器。
本次設(shè)計的門鎖控制網(wǎng)絡(luò)終端實物如圖7所示。本次測試需要信息化管理平臺、MQTT 服務(wù)器以及實訓(xùn)基地門鎖。信息化管理平臺在前期已經(jīng)開發(fā)完成并部署于阿里云服務(wù)器,可以從計算機網(wǎng)頁端和微信小程序端訪問。MQTT 服務(wù)器采用了開源的云原生分布式物聯(lián)網(wǎng)接入平臺EMQ X,并部署于阿里云服務(wù)器。控制對象為實訓(xùn)基地電動卷簾門,該卷簾門控制端的三個控制信號分別為上升、下降和停止,本次測試中將其連接至本次開發(fā)終端的三路繼電器模塊的常開觸點,并將電動卷簾門的公共端連接至繼電器的公共端。
(1)系統(tǒng)上電測試各模塊是否工作正常,系統(tǒng)首次使用時需要為ESP8266 配置網(wǎng)絡(luò),配置完成后系統(tǒng)正常工作,可以通過觸控屏的主界面觀察系統(tǒng)是否工作正常。
(2)新用戶注冊功能測試,通過觸控屏的人機界面提示進行新用戶注冊并查看注冊結(jié)果。
(3)預(yù)約信息接收測試,通過網(wǎng)頁端或微信小程序端進行實訓(xùn)室預(yù)約,在觸控屏查看預(yù)約信息是否成功接收。
(4)開鎖測試,在預(yù)約使用的時間段內(nèi)通過終端的人臉識別測試門鎖是否可以正常打開。
測試結(jié)果表明系統(tǒng)各模塊均能正常工作,系統(tǒng)各項功能均可實現(xiàn),經(jīng)過長時間的運行,系統(tǒng)工作穩(wěn)定可靠,達到了預(yù)期的效果。
本文設(shè)計了一種面向?qū)嵱?xùn)基地管理系統(tǒng)的門鎖控制網(wǎng)絡(luò)終端,能夠根據(jù)信息化管理平臺下發(fā)的實訓(xùn)基地使用預(yù)約信息和本地人臉識別信息控制實訓(xùn)基地門鎖的開關(guān),并能夠?qū)嵱?xùn)基地當前的使用信息及時反饋至信息化管理平臺。經(jīng)過反復(fù)測試,系統(tǒng)工作穩(wěn)定、可靠。