安裝在門禁上的RFID讀卡器讀取到訪客手持的射頻標(biāo)簽后,將標(biāo)簽號(hào)碼通過(guò)Wifi傳輸至機(jī)智云,云端通過(guò)一系列認(rèn)證后下發(fā)開(kāi)鎖命令,控制開(kāi)發(fā)板上的繼電器吸合以達(dá)到開(kāi)鎖的目的,該方案設(shè)計(jì)具有以下優(yōu)勢(shì):
? 訪客射頻標(biāo)簽成本極低,只有幾毛錢,為每個(gè)訪客發(fā)一張也不會(huì)有太大的成本負(fù)擔(dān);
? 訪客射頻標(biāo)簽是可寫(xiě)入的,這樣我們就可以控制訪客在樓宇中的到訪時(shí)限,以及不同級(jí)別訪客的開(kāi)門權(quán)限;
? 訪客到訪的每個(gè)門禁都會(huì)將訪客記錄通過(guò)Wifi上傳到云端,這樣就可以監(jiān)控每個(gè)訪客到訪的軌跡。
視頻演示教程及實(shí)物展示
項(xiàng)目演示和解說(shuō)視頻:
接線實(shí)物圖和App監(jiān)測(cè)頁(yè)面:
下圖是在機(jī)智云后臺(tái)看到的RFID讀卡數(shù)據(jù):
硬件端接線圖
材料清單
硬件端完整源代碼
--配置D3為普通輸出,控制控制門鎖的繼電器LIB_GpioOutputConfig("D3","STANDARD")LIB_GpioWrite("D3",1)--控制繼電器斷開(kāi)--設(shè)置R200讀卡器模塊占用TX1和RX1引腳,EN引腳占用D7引腳,并開(kāi)始掃描工作--工作國(guó)家區(qū)域:China2區(qū) (920.125~924.875MHz)--工作信道:0通道,即工作頻率為920.125MHz--發(fā)射功率:設(shè)置為最大的20.00dBmLIB_R200ReaderConfig("UART1","D7","CHINA2",0,2000)--機(jī)智云平臺(tái)為每個(gè)產(chǎn)品類別分配的唯一PK和PS,一定要改成您自己的PK和PSPK = "baa7394638a7427b931e3c84da5f2bdd" PS = "437665aced3b46d9b8c416321b50a926"--初始化Wifi模塊LIB_GizWifiConfig(PK,PS,6000,120,"UART0","D5","D10","D8")--定義一個(gè)64元素的table用來(lái)向機(jī)智云發(fā)送HEX字節(jié)流數(shù)據(jù)SendData = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,}num = 0while(GC(1) == true)do --掃描標(biāo)簽的演示程序 Cnt, R = LIB_R200GetCard() if Cnt >= 1 then --打印Cnt張掃描到的標(biāo)簽卡號(hào) n = 0--Print打印出掃描到的Cnt張標(biāo)簽的卡號(hào) --[[for i=1, Cnt do print(string.format("x x x x x x x x x x x x",R[1 n],R[2 n],R[3 n],R[4 n],R[5 n],R[6 n],R[7 n],R[8 n],R[9 n],R[10 n],R[11 n],R[12 n]))n = n 12 end]]----這里我們只將掃描到的第一張標(biāo)簽的卡號(hào)(12字節(jié))上傳給機(jī)智云--至于多張標(biāo)簽的去重,去重后的上傳請(qǐng)發(fā)揮您的聰明才智SendData[1] = R[1]SendData[2] = R[2]SendData[3] = R[3]SendData[4] = R[4]SendData[5] = R[5]SendData[6] = R[6]SendData[7] = R[7]SendData[8] = R[8]SendData[9] = R[9]SendData[10] = R[10]SendData[11] = R[11]SendData[12] = R[12]SendData[13] = num&0x000000ff --這里是為了確保每包發(fā)送的數(shù)據(jù)不同num = num 1LIB_SendToGizCloud("RawData", SendData) end--查詢機(jī)智云是否下發(fā)了寫(xiě)"Sw1"開(kāi)關(guān)量數(shù)據(jù)點(diǎn)的動(dòng)作 flag,recv_data = LIB_RecvFromGizCloud("Sw1") if flag == 1 then if recv_data == 1 then -- 云下發(fā)了1 LIB_GpioWrite("D3",0)--控制繼電器導(dǎo)通LIB_DelayMs(1000)--這里只給了一秒鐘開(kāi)門的時(shí)間,麻溜的LIB_GpioWrite("D3",1)--控制繼電器斷開(kāi) end elseLIB_DelayMs(1000)endend
上面代碼中出現(xiàn)的"LIB_"開(kāi)頭的庫(kù)函數(shù)的詳細(xì)介紹可以在shineblink.com網(wǎng)站上的API文檔中查詢。
機(jī)智云接入和App開(kāi)發(fā)(三個(gè)選擇)
? 選擇一:機(jī)智云 通用版APP訪問(wèn)設(shè)備(難度最低)
通過(guò)《WiFi設(shè)備接入機(jī)智云APP教程》我們可以很快掌握機(jī)智云的接入流程,并使用現(xiàn)成的通用版機(jī)智云App即可很快的實(shí)現(xiàn)手機(jī)App遠(yuǎn)程訪問(wèn)我們的開(kāi)發(fā)板。
本例中我們使用了"Sw1"的布爾值型數(shù)據(jù)點(diǎn)和“RawData”的透?jìng)鲾?shù)據(jù)點(diǎn),記得在機(jī)智云平臺(tái)修改相應(yīng)的數(shù)據(jù)點(diǎn)的名稱。
?選擇二:機(jī)智云 零代碼定制版App訪問(wèn)設(shè)備(難度較低)
在選擇二之前,必須完成上面選擇一的工作,然后參考《機(jī)智云賽博坦工具,零代碼APP開(kāi)發(fā)(Wifi版)》教程實(shí)現(xiàn)定制版App訪問(wèn)設(shè)備。
開(kāi)發(fā)好以后的頁(yè)面如下:
? 選擇三:定制化開(kāi)發(fā)APP或微信小程序(難度較高)
如果有一定開(kāi)發(fā)能力,開(kāi)發(fā)者可以考慮在機(jī)智云免費(fèi)提供的開(kāi)源代碼上做一定的定制開(kāi)發(fā)形成自己的App。
如果開(kāi)發(fā)者希望開(kāi)發(fā)一個(gè)專屬的App,機(jī)智云也會(huì)提供代碼開(kāi)源的安卓和IOS SDK框架,幫助開(kāi)發(fā)者快速完成App開(kāi)發(fā),開(kāi)發(fā)者僅需關(guān)注App的UI和UE設(shè)計(jì)即可,而相對(duì)復(fù)雜的協(xié)議與錯(cuò)誤處理等事項(xiàng)可忽略。關(guān)于開(kāi)源SDK的介紹和獲取請(qǐng)點(diǎn)擊App開(kāi)發(fā)準(zhǔn)備工作以及向?qū)?– 機(jī)智云了解更多內(nèi)容。
如果開(kāi)發(fā)者希望開(kāi)發(fā)一個(gè)專屬的微信小程序應(yīng)用, 可點(diǎn)擊了解了解微信應(yīng)用開(kāi)發(fā) – 機(jī)智云了解相關(guān)開(kāi)發(fā)教程。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。