鄭嘉泓 裴航 董昌龍
摘? ?要:隨著信息技術(shù)的發(fā)展,現(xiàn)代人對(duì)家庭環(huán)境的要求越來越高,智能家居的概念逐漸成為人們的關(guān)注熱點(diǎn)。智能鎖作為智能家居中的重要部分,具有廣闊的市場(chǎng)前景。文章使用Arduino開發(fā)板作為核心,根據(jù)開發(fā)要求實(shí)現(xiàn)了基于NFC技術(shù)的工號(hào)牌系統(tǒng)。
關(guān)鍵詞:智能家居;Arduino開發(fā)板;NFC技術(shù)
隨著“萬物互聯(lián)”概念的提出,物聯(lián)網(wǎng)技術(shù)得到了飛速發(fā)展,越來越多的企業(yè)對(duì)近場(chǎng)通信技術(shù)(Near Field Communication,NFC)進(jìn)行重點(diǎn)關(guān)注,NFC支持的終端產(chǎn)品也得到了快速增長(zhǎng)。不過在NFC基礎(chǔ)上,此種技術(shù)通常都是應(yīng)用于移動(dòng)支付,而在其他方面卻很少得到有效應(yīng)用。NFC虛擬成一張一卡通應(yīng)用,稱為閉環(huán)應(yīng)用。目前NFC的閉環(huán)應(yīng)用在國(guó)內(nèi)的發(fā)展不太理想,雖然在有些城市的公交系統(tǒng)已經(jīng)開放了手機(jī)的NFC功能,但并沒有得到普及。隨著NFC手機(jī)的普及和技術(shù)的不斷成熟,一卡通系統(tǒng)會(huì)逐漸支持NFC手機(jī)的應(yīng)用,正如如今的工號(hào)牌一樣。隨著技術(shù)的不斷進(jìn)步,以手機(jī)為主體的NFC工號(hào)牌系統(tǒng)將會(huì)替代現(xiàn)在的刷卡系統(tǒng),能夠便于企業(yè)的規(guī)范化管理,提高企業(yè)的管理效率。
1? ? 系統(tǒng)方案設(shè)計(jì)
系統(tǒng)總體框架如圖1所示。手機(jī)NFC通過傳感器模塊與Arduino主控板進(jìn)行通信實(shí)現(xiàn)簽到等功能,同時(shí)利用Arduino主控板的數(shù)字引腳5控制單路繼電器的吸起和落下,從而控制電子鎖電源的導(dǎo)通和斷開,進(jìn)而實(shí)現(xiàn)NFC對(duì)電子鎖的控制。
2? ? 硬件設(shè)計(jì)
2.1? Arduino主控板
Arduino是基于開放源代碼的軟硬體平臺(tái),硬件具有豐富的接口,有數(shù)字I/O口、模擬I/O口,同時(shí)支持SPI,IIC,UART串口通信。Arduino編程語(yǔ)言沒有復(fù)雜的單片機(jī)底層代碼,沒有難懂的匯編程序,只有簡(jiǎn)單而實(shí)用的函數(shù)。直接調(diào)用就可以完成各種需要的功能,而且簡(jiǎn)便的編程環(huán)境擁有極大的自由度,可拓展性能非常高。標(biāo)準(zhǔn)化的接口模式、豐富的開放源代碼,從而使復(fù)雜命令的編程工作變得簡(jiǎn)單。
常用的Arduino主控板有:Arduino Uno,Arduino Mega 2560,Arduino Nano,LilyPad Arduino,Arduino Leonardo等。本系統(tǒng)中所使用的ArduinoUNOR3是一個(gè)基于ATmega328核心的微控制器板,由14個(gè)數(shù)字輸入/輸出引腳(其中6個(gè)可以用作PWM輸出)、6個(gè)模擬輸入、一個(gè)16 MHz的陶瓷諧振器、USB接口、電源插孔、ICSP頭和一個(gè)復(fù)位按鈕組成。開發(fā)板在出廠時(shí)已完成了啟動(dòng)程序的固化,使用過程中可以直接使用USB線進(jìn)行程序下載。
2.2? NFC識(shí)別模塊
本系統(tǒng)對(duì)于NFC讀取采用了與之相近的RFID-RC522板塊,如圖2所示,該板塊讀取手機(jī)NFC的標(biāo)簽,然后利用串口通信發(fā)給服務(wù)器端,由服務(wù)器端來運(yùn)行開鎖、簽到等功能。
2.3? 單路繼電器
單路繼電器模塊是一個(gè)小電流信號(hào)控制大功率設(shè)備的常用電子模塊,可實(shí)現(xiàn)單片機(jī)控制大功率器件,廣泛用于單片機(jī)系統(tǒng)設(shè)計(jì)的智能家居項(xiàng)目。
2.4? 電磁鎖
電磁鎖的原理:電磁鎖內(nèi)部有電磁線圈,利用電生磁的原理,當(dāng)電流通過硅鋼片時(shí),電磁鎖會(huì)產(chǎn)生強(qiáng)大的吸力,緊緊地吸住門上鐵片,達(dá)到鎖門的效果。只要小小的電流,電磁鎖就會(huì)產(chǎn)生莫大的磁力。當(dāng)控制電磁鎖電源系統(tǒng)識(shí)別人員正確后則會(huì)斷電,電磁鎖失去吸力即可開門。開門后經(jīng)預(yù)設(shè)延時(shí)后電磁鎖恢復(fù)通電狀態(tài)與門上鐵片吸合,門再次鎖緊。
硬件系統(tǒng)連接順序是:NFC識(shí)別模塊連接Arduino主控板,Arduino數(shù)字引腳5控制單路繼電器的吸起和落下,單路繼電器控制電磁鎖的電源。
3? ? 軟件設(shè)計(jì)
3.1? 硬件端程序代碼
設(shè)計(jì)思路:NFC讀寫模塊識(shí)別到手機(jī)NFC的ID,通過串口發(fā)送給服務(wù)器端,服務(wù)器端判斷該ID是否為該企業(yè)員工,如果是,則發(fā)送5給Arduino,Arduino控制繼電器使電磁鎖電源斷開,門鎖打開;延遲10 s,讓繼電器落下,電磁鎖電源合上,門鎖閉合。打開Arduino開發(fā)編碼環(huán)境界面,輸入以下代碼,編譯通過后下載到Arduino主控板。
#include”rfid1.h”
RFID1 rfid;
uchar serNum[5];
void setup()
{
pinMode(11,OUTPUT);
Serial.begin(9600);
rfid.begin(7,5,4,3,6,2);
delay(100);
rfid.init();
}
void loop()
{
char a;
if(Serial.available()){
a = Serial.read();
if (a==5) {
analogWrite(11,255);
delay(10000);
analogWrite(11,0);
}
else {analogWrite(11,0);}
}
uchar status;
uchar str[MAX_LEN];
status = rfid.request(PICC_REQIDL, str);
if (status != MI_OK)
{
return;
}
status = rfid.anticoll(str);
if (status == MI_OK)
{
memcpy(serNum, str, 5);
rfid.showCardID(serNum);
}
delay(1000);
rfid.halt();
}
3.2? 服務(wù)器端程序
該系統(tǒng)中的服務(wù)器端,采用Java語(yǔ)言進(jìn)行編寫,利用串口通信與Arduino進(jìn)行操作交互,調(diào)用MySQL數(shù)據(jù)庫(kù)進(jìn)行員工的數(shù)據(jù)處理,同時(shí)還用Java Web編寫了簡(jiǎn)易、方便的后臺(tái)管理系統(tǒng),便于企業(yè)管理者操作。
(1)員工注冊(cè)。員工入職,需要利用APP用手機(jī)NFC通過注冊(cè)程序注冊(cè)信息到數(shù)據(jù)庫(kù)中,如圖3所示。
(2)簽到程序。員工注冊(cè)之后,手機(jī)就可當(dāng)做工號(hào)牌使用,可以用于每天的簽到、開鎖。只需把手機(jī)靠近NFC識(shí)別模塊即可,如圖4所示。
(3)后臺(tái)管理系統(tǒng)。利用Java Web編寫簡(jiǎn)易的、可視化后臺(tái)管理系統(tǒng),用于員工信息的增、刪、改、查等操作,
3.3? 手機(jī)客戶端程序
手機(jī)客戶端采用Android studio進(jìn)行編寫,實(shí)現(xiàn)了用戶的登陸、對(duì)手機(jī)NFC模塊的寫入、個(gè)人信息的獲取等操作。手機(jī)客戶端與服務(wù)器端利用socket進(jìn)行數(shù)據(jù)通信處理。
4? ? 結(jié)語(yǔ)
本系統(tǒng)是基于NFC的手機(jī)企業(yè)工號(hào)牌設(shè)計(jì),內(nèi)容包括方案的設(shè)計(jì)、硬件選型、軟件編程。經(jīng)實(shí)驗(yàn)測(cè)試,系統(tǒng)工作可靠、運(yùn)行穩(wěn)定、功耗低,能實(shí)現(xiàn)簽到、開鎖等功能。此外,本設(shè)計(jì)還可以推廣到校園一卡通、公交一卡通、手機(jī)支付、TSM平臺(tái)等領(lǐng)域,為NFC技術(shù)在物聯(lián)網(wǎng)技術(shù)發(fā)展中的應(yīng)用提供一定的參考價(jià)值。
[參考文獻(xiàn)]
[1]梁晶,史記征.基于Arduino的智能鎖系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2019(32):86-88.