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