傅浩桐 杜宇上
摘要 提出了一種供學(xué)生進(jìn)行科技制作的智能門禁系統(tǒng)設(shè)計(jì)方案。智能門禁系統(tǒng)是通過Wi-Fi實(shí)現(xiàn)手機(jī)與門控鎖的交互,即把esp8266模塊設(shè)置為自動(dòng)透?jìng)髂J?,?dāng)成一個(gè)tcp的服務(wù)端連接到室內(nèi)的Wi-Fi上,再用手機(jī)連接室內(nèi)Wi-Fi監(jiān)聽服務(wù)端的端口號(hào),實(shí)現(xiàn)與Wi-Fi模塊的交互,進(jìn)而通過Arduino開發(fā)板控制電控鎖,從而實(shí)現(xiàn)智能門禁系統(tǒng)。
【關(guān)鍵詞】Arduino物聯(lián)網(wǎng)電控鎖Wi-Fi tcp
市場(chǎng)上具備指紋識(shí)別或者刷卡識(shí)別等功能的門禁系統(tǒng)成本昂貴,不利于學(xué)生進(jìn)行有關(guān)門禁系統(tǒng)的制作與設(shè)計(jì)嘗試。
物聯(lián)網(wǎng)技術(shù)一般是借助Wi-Fi,紅外,zigbee等無(wú)線載體實(shí)現(xiàn)物體之間的通訊。據(jù)統(tǒng)計(jì),2012年我國(guó)家用Wi-Fi的普及率已達(dá)21.80%,表明國(guó)內(nèi)大部分城市居民都接入了家用Wi-Fi。隨著我國(guó)社會(huì)經(jīng)濟(jì)的飛速發(fā)展,居民對(duì)生活品質(zhì)等方面的要求越來越高,家居智能化已漸漸成為必然的發(fā)展趨勢(shì)。
為了研發(fā)出一套結(jié)構(gòu)簡(jiǎn)單,設(shè)計(jì)合理,安全性高的門禁管理系統(tǒng),為大學(xué)生進(jìn)行電子科技制作提供案例,本選題擬采用Wi-Fi作為無(wú)線通訊載體,結(jié)合物聯(lián)網(wǎng)技術(shù),利用手機(jī)app為操作終端,在門上嵌入電控鎖,通過手機(jī)向Wi-Fi接收模塊發(fā)送對(duì)應(yīng)指令,經(jīng)單片機(jī)處理后控制電控鎖開關(guān),實(shí)現(xiàn)手機(jī)開關(guān),加密解鎖,提醒關(guān)門等核心功能。相比較傳統(tǒng)方式,內(nèi)嵌的電控鎖無(wú)需鑰匙孔,既減小鎖頭被撬的風(fēng)險(xiǎn),又保證了門的外觀整潔。通過手機(jī)與門鎖的數(shù)據(jù)交互,用戶可及時(shí)通過手機(jī)監(jiān)控門的開關(guān)狀態(tài)。
1 系統(tǒng)結(jié)構(gòu)
本系統(tǒng)采用Wi-Fi技術(shù),以智能手機(jī)作為控制端,設(shè)計(jì)出應(yīng)用于門禁管理的定時(shí)開關(guān)控制系統(tǒng)。通過智能手機(jī)實(shí)現(xiàn)開關(guān)電路的開啟和關(guān)斷,并且有加密系統(tǒng),實(shí)現(xiàn)門禁。如圖1系統(tǒng)結(jié)構(gòu)圖所示,智能門禁系統(tǒng)主要結(jié)構(gòu)由三部分組成,由電源管理部分供電,電控鎖模塊跟無(wú)線模塊進(jìn)行數(shù)據(jù)的采集,再將采集到的數(shù)據(jù)提供給Arduino開發(fā)板,Arduino開發(fā)板再通過無(wú)線模塊,與智能手機(jī)客戶端進(jìn)行數(shù)據(jù)的交互,實(shí)現(xiàn)無(wú)線開關(guān),關(guān)門提醒,指令加密,狀態(tài)監(jiān)控四個(gè)基本功能。
2 有關(guān)原理
2.1 Arduino
Arduino是一款便捷靈活、方便上手的開源電子原型平臺(tái)。主要包含兩個(gè)主要的部分:硬件部分是可以用來做電路連接的Arduino電路板;Arduino IDE部分可以做計(jì)算機(jī)中的程序開發(fā)環(huán)境。Arduino能通過各種各樣的傳感器來感知環(huán)境,通過控制燈光、馬達(dá)和其他的裝置來反饋、影響環(huán)境。板子上的微控制器可以通過Arduino的編程語(yǔ)言來編寫程序,編譯成二進(jìn)制文件,燒錄進(jìn)微控制器。對(duì)Arduino的編程是通過Arduino編程語(yǔ)言(基于Wiring)和Arduino開發(fā)環(huán)境(基于Processing)來實(shí)現(xiàn)的。
2.2 esp8266模塊
esp8266是樂鑫公司生產(chǎn)的低功耗Wi-Fi芯片,內(nèi)置32位CPU,能夠獨(dú)立運(yùn)行,也可以作為從機(jī)搭載于其他主機(jī)MCU運(yùn)行,可以廣泛應(yīng)用于智能家居、工業(yè)無(wú)線控制、無(wú)線傳感器等領(lǐng)域。esp8266芯片使用了3.3V的直流電源,體積小,功耗低,支持透?jìng)?,丟包現(xiàn)象不嚴(yán)重,而且價(jià)格不貴。esp8266官方提供的rom主要有兩個(gè),一個(gè)是支持at命令修改參數(shù)的at系列rom,使用此rom時(shí),可以使用at命令來設(shè)置芯片的大部分參數(shù),同時(shí)也可將芯片設(shè)置為透?jìng)髂J剑@樣esp8266就相當(dāng)于在互聯(lián)網(wǎng)和UART之間架起了一座橋梁。
另一個(gè)就是物聯(lián)網(wǎng)的rom了,此rom可以通過命令來控制esp的部分GPIO,而且esp8266也可以采集一些溫濕度傳感器的數(shù)據(jù),然后發(fā)送到互聯(lián)網(wǎng)上。
2.3 繼電器
繼電器是一種電子控制器件,它具有控制系統(tǒng)(又稱輸入回路)和被控制系統(tǒng)(又稱輸出回路),通常應(yīng)用于自動(dòng)控制電路中,它實(shí)際上是用較小的電流去控制較大電流的一種“自動(dòng)開關(guān)”。故在電路中起著自動(dòng)調(diào)節(jié)、安全保護(hù)、轉(zhuǎn)換電路等作用。
2.4 TCP
TCP (Transmission Control Protocol傳輸控制協(xié)議)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,由IETF的RFC793定義。在簡(jiǎn)化的計(jì)算機(jī)網(wǎng)絡(luò)OSI模型中,它完成第四層傳輸層所指定的功能,用戶數(shù)據(jù)報(bào)協(xié)議(UDP)是同一層內(nèi)另一個(gè)重要的傳輸協(xié)議。在因特網(wǎng)協(xié)議族(Intemet protocolsuite)中,TCP層是位于IP層之上,應(yīng)用層之下的中間層。不同主機(jī)的應(yīng)用層之間經(jīng)常需要可靠的、像管道一樣的連接,但是IP層不提供這樣的流機(jī)制,而是提供不可靠的包交換。
3 具體實(shí)現(xiàn)方法
3.1 硬件部分
基于Arduino的智能門禁系統(tǒng)的硬件部分由三部分組成,分別為接收端esp8266模塊、Arduino控制處理器和電控鎖執(zhí)行端,電控鎖執(zhí)行端包括電控鎖、電源適配器、LED小燈泡和繼電器,如圖2所示。
3.1.1 接收端esp8266模塊
把esp8266模塊作為一個(gè)TCP的服務(wù)端掛到室內(nèi)的Wi-Fi上,用于接收手機(jī)發(fā)送的消息,再傳達(dá)給Arduino控制處理器。
3.1.2 Arduino控制處理器
Arduino控制處理器為圖2所示的Arduino主控板。寫入代碼,識(shí)別接收端收到手機(jī)端輸入的密碼,再對(duì)此做出判斷,實(shí)現(xiàn)自動(dòng)開鎖功能。在門鎖打開的情況下,Arduino控制處理器會(huì)點(diǎn)亮提示燈,提醒用戶記得鎖門。
3.1.3 電控鎖執(zhí)行端
由一個(gè)接收到輸入高電平就自動(dòng)打開的電控鎖、一個(gè)電源適配器、一個(gè)繼電器和一個(gè)LED燈組成。在接收到Arduino控制處理器發(fā)送的信號(hào)之后開鎖,實(shí)現(xiàn)智能門禁系統(tǒng)的自動(dòng)開鎖功能。
3.2 軟件部分
基于Arduino的智能門禁系統(tǒng)的軟件部分由三部分組成,分別為esp8266模塊的代碼,Arduino控制處理器的代碼還有手機(jī)端的app。
3.2.1 esp8266模塊的代碼部分
(1)連接設(shè)置:
const char *ssid =“E104”;∥這里是要連接的Wi-Fissid
const char *password=”chuangke”;∥連接的Wi-Fi密碼
const char *host=”192.168.0.122”:∥修改為手機(jī)的的tcp Server服務(wù)端的IP地址,即手機(jī)在路由器上的ip
const inr tcpPort= 8266; ∥修改建立的Server服務(wù)端的端口號(hào)
(2)接收與發(fā)送:Wi-Fi模塊時(shí)刻掃描緩存區(qū)是否有接收到數(shù)據(jù),接收到后把無(wú)線讀取到的數(shù)據(jù)轉(zhuǎn)發(fā)到串口,Arduino控制處理器從而獲得手機(jī)端發(fā)送的數(shù)據(jù)。同時(shí),Wi-Fi模塊把串口讀取到的數(shù)據(jù)轉(zhuǎn)發(fā)給手機(jī)端,手機(jī)端就可得知Arduino控制處理器是否接收到數(shù)據(jù)?!?.2.2 Arduino控制處理器的代碼
如圖3,先判斷串口的緩存區(qū)是否有收到數(shù)據(jù),收到數(shù)據(jù)后把數(shù)據(jù)存進(jìn)數(shù)組變量,清空緩存區(qū)后,判斷密碼是否正確。若正確,則判斷是開鎖指令還是關(guān)鎖指令。若為開鎖指令,則打開電控鎖并點(diǎn)亮LED提示燈,提醒用戶記得關(guān)門;否則,復(fù)位電控鎖關(guān)閉LED提示燈。
3.2.3 手機(jī)發(fā)送端app
手機(jī)連到室內(nèi)Wi-Fi上,再用app監(jiān)聽該Wi-Fi下設(shè)定的服務(wù)端,即可實(shí)現(xiàn)手機(jī)與esp8266模塊之間信息的交互。
4 智能門禁管理系統(tǒng)的工作流程
先給esp8266模塊通電,使其接上室內(nèi)的Wi-Fi,再用手機(jī)連上室內(nèi)的Wi-Fi并監(jiān)聽該Wi-Fi下指定的TCP服務(wù)器,手機(jī)監(jiān)聽連接后即可輸入密碼,esp82266模塊接收到信息后傳給Arduino控制處理器,對(duì)其輸入的密碼識(shí)別判斷后確定是否開門,若處于開門狀態(tài),LED燈會(huì)常亮,提醒用戶記得關(guān)門。
5 調(diào)試過程說明
代碼設(shè)置方面,esp8266模塊燒入的代碼中有包括室內(nèi)Wi-Fi的ip地址還有設(shè)置TCP服務(wù)端端口號(hào),此兩項(xiàng)需要在手機(jī)端輸入,才能實(shí)現(xiàn)對(duì)服務(wù)端的監(jiān)聽。
6 結(jié)束語(yǔ)
本文介紹了一種基于Arduino的智能門禁管理系統(tǒng),具有易作為學(xué)生進(jìn)行科技制作的特點(diǎn)。因物聯(lián)網(wǎng)發(fā)展的必然趨勢(shì)與本門禁系統(tǒng)的簡(jiǎn)單實(shí)用,故本文在學(xué)生進(jìn)行創(chuàng)新技能培養(yǎng)方面具有參考價(jià)值和廣闊的應(yīng)用前景。
參考文獻(xiàn)
[1]季千惠,基于NFC的物聯(lián)網(wǎng)接入點(diǎn)設(shè)計(jì)與實(shí)現(xiàn)[D],上海交通大學(xué),2015.
[2]楊少蔚,張波.Wi-Fi傳輸與接入技術(shù)的發(fā)展研究[J].信息與電腦:理論版,2017 (13):172-173,176.
[3]蔡睿妍.Arduino的原理及應(yīng)用[J].電子設(shè)計(jì)工程,2012,20(16):155-157.
[4]范興隆.ESP8266在智能家居監(jiān)控系統(tǒng)中的應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2016,16 (09): 52-56.
[5]馮先成,李德駿,計(jì)算機(jī)網(wǎng)絡(luò)及應(yīng)用[M].武漢:華中科技大學(xué)出版社,2011.
【6]徐濟(jì)仁,陳家松,構(gòu)建Internet網(wǎng)絡(luò)的TCP/IP協(xié)議簡(jiǎn)介[J].電視工程,2004 (01):49-49.