// // BLElib.h // BLElib // // Created by szbosk on 16/8/16. // Copyright © 2016年 szbosk. All rights reserved. // #import @interface BLElib : NSObject... ...
// // BLElib.h // BLElib // // Created by szbosk on 16/8/16. // Copyright © 2016年 szbosk. All rights reserved. // #import <Foundation/Foundation.h> @interface BLElib : NSObject /** * 單例調用 * * @return 無 */ + (BLElib *)shardInstance; /** * 傳入對應的數據,進行開門 內部封裝了藍牙掃描,藍牙數據發送。 * 本sdk只封裝了開門功能,雲平臺功能完全由客戶自行開發。 * 刷卡記錄參考業務邏輯:刷卡記錄是直接通過app上傳到雲伺服器。 * 如果網路暢通,開門成功時直接上傳雲伺服器。如果開門時網路不通先保存本地資料庫,下次進入app或android後臺服務註冊網路通知,再次網路暢通時上傳。 * * 所傳入的字元串為16進位表示的字元串,例如:ffff * * @param mac 需要連接的藍牙設備的mac地址,註意:需要使用我司的藍牙設備,且首碼為bledoor 。取藍牙廣播名字的後8個字母。 bledoor-XXXXXXXX, 也就是取8位。 * sdk包已經封裝了藍牙設備掃描,只要把這個XXXXXXXX傳過去,sdk會自動掃描這個設備便按參數發送開門數據。也可以自己先掃描到設備後再調用sdk去開門。 * @param RfId 所需要的RfId (長度8位) 用戶的id,4個位元組8個16進位字元,產生新用戶時,app開發商自己的伺服器自增1分配給用戶。設備有刷卡記錄。如果是從一體機門禁設備里採集,這個唯一的id就是標識那個用戶刷的卡。 * 每個記錄有個id號,這個rfid表示是那個刷的卡。如果是刷卡的時候,有聯網就用自己的賬號體系標識上傳刷卡記錄,可以rfid預設00000001,他沒有用處。參考:沒網的時候,刷卡記錄可以緩存APP本地。有網時再上傳。 * @param BlePwd 所設置的藍牙設備的密碼 (長度12位) 設備預設出廠密碼 6C69755F1762 * @param cell 授權的四位開門匹配小區 (長度4位) 預設寫死 0001 * @param addr 授權的四位開門匹配地址 (長度4位) 0001到00FE 1到254 * @param start 授權的開門的起始時間 (長度8位) 有效期開始 2000年一月一日0點0分0秒。單位秒。{ 0x00, 0x00, 0x00, 0x01 } 轉成10進位的1秒。2000年一月一日0點0分1秒。 * @param stop 授權的開門結束時間 (長度8位) 有效期結束 全是0xFF是最大的有效期 * @param floor 授權的可以開的樓層 (長度16位) 預設ffffffffffffffff * [b BleMac:@"CFB28664" RfId:@"00000001" BlePwd:@"6C69755F1762" cell:@"0001" addr:@"0001" start:@"00000000" stop:@"ffffffff" floor:@"ffffffffffffffff"];
* IOS不能讀取藍牙的mac地址,藍牙模塊廣播的名字後8位就是藍牙的後8位mac地址 */ - (void)BleMac:(NSString *)mac RfId:(NSString *)RfId BlePwd:(NSString *)BlePwd cell:(NSString *)cell addr:(NSString *)addr start:(NSString *)start stop:(NSString *)stop floor:(NSString *)floor; /** * 傳入數據後,延遲5S(因藍牙需要與硬體交互)調用此方法,可以得到開門結果 * * @return 返回結果對應的字元串 * @return -1:藍牙中心管理者未初始化 * @return 0:手機藍牙狀態未打開 * @return 1:未匹配到與所傳入藍牙MAC地址對應的設備 * @return 2:開門數據錯誤 * @return 3:開門成功 * @return 4:所傳入的數據長度不對 * @return 5:連接藍牙失敗 */ -(NSString *)ResultOfOpen; @end