BLEServiceHandler.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. //
  2. // BLEServiceHandler.h
  3. // OneCable
  4. //
  5. // Created by KaRam Kim on 2017. 5. 18..
  6. // Copyright © 2017년 ntels. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "BTLEDeivceModel.h"
  10. typedef enum {
  11. BLEWlanListType1,
  12. BLEWlanListType2,
  13. BLEWlanListType3,
  14. } BLEWlanListType;
  15. static NSString *kBLEChrStWiFiScan = @"SCAN_CHR_UUID";
  16. static NSString *kBLEChrRdWiFiList1 = @"WLAN_LIST1_CHR_UUID";
  17. static NSString *kBLEChrRdWiFiList2 = @"WLAN_LIST2_CHR_UUID";
  18. static NSString *kBLEChrRdWiFiList3 = @"WLAN_LIST3_CHR_UUID";
  19. static NSString *kBLEChrStSSIDArg = @"SSID_ARG_CHR_UUID";
  20. static NSString *kBLEChrStPWDArg = @"PASSWORD_ARG_CHR_UUID";
  21. static NSString *kBLEChrStDHCPArg = @"WF_IP_SET_ARG_CHR_UUID";
  22. static NSString *kBLEChrStSetApply = @"APPLY_CHR_UUID";
  23. static NSString *kBLEChrRdConInfo = @"CONNECTION_CHR_UUID";
  24. static NSString *kBLEChrRdSSID = @"SSID_CHR_UUID";
  25. static NSString *kBLEChrRdBSSID = @"BSSID_CHR_UUID";
  26. static NSString *kBLEChrRnIpSet = @"WF_IP_SET_CHR_UUID";
  27. static NSString *kBLEChrRnIpAddr = @"WF_IP_ADDR_CHR_UUID";
  28. @protocol BLEServiceHandlerDelegate <NSObject>
  29. @optional
  30. - (void) BLEStateChange:(BOOL)state;
  31. - (void) BLEEndScan:(NSMutableArray *)devices;
  32. - (void) BLEConnected:(BTLEDeivceModel *)info;
  33. - (void) BLEDisConnected:(BTLEDeivceModel *)info;
  34. - (void) BLEUpldateDevice:(BTLEDeivceModel *)info;
  35. - (void) BLEWLanUpdateWithKey:(NSString*)kBLEChr result:(NSString*)result;
  36. - (void) BLEWiFiSSIDUpdate:(NSString*)ssid;
  37. - (void) BLEWiFiDHCPUpdate:(id)data;
  38. - (void) BLEWiFiConnectionUpdate:(CBCharacteristic *)info;
  39. - (void) BLEWiFiConnectionInfoUpdateWithKey:(NSString*)kBLEChr result:(NSString*)result;
  40. @end
  41. @interface BLEServiceHandler : NSObject
  42. @property (readonly, nonatomic) BOOL isConnected;
  43. @property (strong, nonatomic) id delegate ;
  44. @property (strong, nonatomic) BTLEDeivceModel *conDevice;
  45. + (id)sharedManager;
  46. - (void)connect:(BTLEDeivceModel *)info;
  47. - (void)disConnect;
  48. - (BOOL) checkBLEStatus;
  49. - (void) startScan;
  50. - (void) stopScan;
  51. - (NSMutableArray *)getDeviceList;
  52. - (NSString*)getStringValueForCharacteristicWithKey:(NSString*)key;
  53. -(CBCharacteristic *)getChrInfo:(NSString *)name;
  54. -(NSString *)getChrName:(CBCharacteristic *)info;
  55. -(NSString *)getStrUUID:(CBCharacteristic *)info;
  56. - (NSString*)hexStringValue:(CBCharacteristic *)input;
  57. - (NSString*)asciiStringValue:(CBCharacteristic *)input;
  58. -(void)sendData:(CBCharacteristic *)chr str:(NSString *)str;
  59. //WiFi Setting관련 메뉴
  60. // WiFi Ap 스캔
  61. -(void)scanWiFiList;
  62. // WiFi 스캔결과 조회
  63. -(NSString *)getWLanList:(BLEWlanListType)type;
  64. // 스캔된 목록중에 존재하는 SSID를 BLE를 통해 GW에 입력
  65. -(void)setWiFiSSID:(NSString *)ssid;
  66. // 입력된 SSID에 해당하는 AP의 Password를 GW에 입력
  67. -(void)setWiFiPwd:(NSString *)pwd;
  68. // IP 설정타입을 DHCP로 변경
  69. -(void)enableDHCP;
  70. // 설정한 정보를 이용해서 AP에 접속 / IP받아오기
  71. -(void)applyWiFiSettingInfo;
  72. //
  73. -(void)readAndNotifyCharacteristicUUID:(NSString *)uuid
  74. isNotify:(BOOL)isNotify;
  75. // connection 후에 정보 확인 ssid bssid ipset ipaddr
  76. - (void)readConnectionWiFiInfo;
  77. @end