- //
- // 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