01 實現(xiàn)功能介紹
安裝在門禁上的RFID讀卡器讀取到訪客手持的射頻標(biāo)簽后,將標(biāo)簽號碼通過Wifi傳輸至機智云,云端通過一系列認證后下發(fā)開鎖命令,控制開發(fā)板上的繼電器吸合以達到開鎖的目的,該方案有以下幾個優(yōu)勢:
訪客射頻標(biāo)簽成本極低,只有幾毛錢,為每個訪客發(fā)一張也不會有太大的成本負擔(dān)
訪客射頻標(biāo)簽是可寫入的,這樣我們就可以控制訪客在樓宇中的到訪時限,以及不同級別訪客的開門權(quán)限
訪客到訪的每個門禁都會將訪客記錄通過Wifi上傳到云端,這樣就可以監(jiān)控每個訪客到訪的軌跡
硬件選擇ShineBlink 是一款零門檻、零開發(fā)環(huán)境、低代碼的萬能物聯(lián)網(wǎng)智能硬件開發(fā)板
機智云 為開發(fā)者提供傻瓜式硬件上云、接App/小程序的能力
結(jié)合 ShineBlink 和 機智云 開發(fā)者即使不懂嵌入式物聯(lián)網(wǎng)開發(fā)、云和App開發(fā),也能很快實現(xiàn)一款包含硬件、云和App的物聯(lián)網(wǎng)智能硬件。
03 材料清單
04 硬件端完整代碼
--配置D3為普通輸出,控制控制門鎖的繼電器LIB_GpioOutputConfig(“D3”,“STANDARD”)LIB_GpioWrite(“D3”,1)--控制繼電器斷開--設(shè)置R200讀卡器模塊占用TX1和RX1引腳,EN引腳占用D7引腳,并開始掃描工作--工作國家區(qū)域:China2區(qū) (920.125~924.875MHz)--工作信道:0通道,即工作頻率為920.125MHz--發(fā)射功率:設(shè)置為最大的20.00dBmLIB_R200ReaderConfig
(“UART1”,“D7”,“CHINA2”,0,2000)--機智云平臺為每個產(chǎn)品類別分配的唯一PK和PS,一定要改成您自己的PK和PSPK = “baa7394638a7427b931e3c84da5f2bdd”PS = “437665aced3b46d9b8c416321b50a926”--初始化Wifi模塊LIB_GizWifiConfig(PK,PS,6000,120,“UART0”,“D5”,“D10”,“D8”)--定義一個64元素的table用來向機智云發(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)簽卡號 n = 0 --Print打印出掃描到的Cnt張標(biāo)簽的卡號 --[[for i=1, Cnt doprint(string.format(“%02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x”,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)簽的卡號(12字節(jié))上傳給機智云 --至于多張標(biāo)簽的去重,去重后的上傳請發(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 + 1 LIB_SendToGizCloud(“RawData”, SendData) end --查詢機智云是否下發(fā)了寫“Sw1”開關(guān)量數(shù)據(jù)點的動作 flag,recv_data = LIB_RecvFromGizCloud(“Sw1”)if flag == 1 thenif recv_data == 1 then -- 云下發(fā)了1 LIB_GpioWrite(“D3”,0)
--控制繼電器導(dǎo)通 LIB_DelayMs(1000)--這里只給了一秒鐘開門的時間,麻溜的 LIB_GpioWrite(“D3”,1)
--控制繼電器斷開 endelse LIB_DelayMs(1000) endend
上面代碼中出現(xiàn)的“LIB_”開頭的庫函數(shù)的詳細介紹可以在shineblink.com網(wǎng)站上的API文檔中查詢。
05 機智云接入和APP開發(fā)
選擇一:機智云+通用版App訪問設(shè)備(難度最低)
通過《Wifi設(shè)備接入機智云教程》我們可以很快掌握機智云的接入流程,并使用現(xiàn)成的通用版機智云App即可很快的實現(xiàn)手機App遠程訪問我們的開發(fā)板。缺點就是通用版App的UI頁面看起來不夠?qū)I(yè)。本例中我們使用了“Sw1”布爾值型數(shù)據(jù)點和“RawData”透傳數(shù)據(jù)點,記得在機智云平臺修改相應(yīng)的數(shù)據(jù)點的名稱。
選擇二:機智云+零代碼定制版App訪問設(shè)備(難度較低)
在選擇二之前,必須完成上面選擇一的工作,然后參考《賽博坦零代碼App開發(fā)(Wifi版)》教程實現(xiàn)定制版App訪問設(shè)備,不過這個App對于《樓宇訪客門禁管理系統(tǒng)》來說也不是必須的。開發(fā)好以后的頁面如下:
選擇三:定制化開發(fā)App或微信小程序(難度較高)
如果有一定開發(fā)能力,開發(fā)者可以考慮在機智云免費提供的開源代碼上做一定的定制開發(fā)形成自己的App。
如果開發(fā)者希望開發(fā)一個專屬的App,機智云也會提供代碼開源的安卓和IOS SDK框架,幫助開發(fā)者快速完成App開發(fā),開發(fā)者僅需關(guān)注App的UI和UE設(shè)計即可,而相對復(fù)雜的協(xié)議與錯誤處理等事項可忽略。關(guān)于開源SDK的介紹和獲取請點擊docs.gizwits.com
如果開發(fā)者希望開發(fā)一個專屬的微信小程序應(yīng)用,可以點擊docs.gizwits.com
責(zé)任編輯:haq
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2911文章
44843瀏覽量
375272 -
機智云
+關(guān)注
關(guān)注
2文章
590瀏覽量
26442
原文標(biāo)題:【十分鐘開發(fā)物聯(lián)網(wǎng)】樓宇訪客門禁管理(Wifi版)
文章出處:【微信號:IoTMaker,微信公眾號:機智云開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論