BLEServiceHandler.h 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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 *kBLEChrRnIpAddr = @"WF_IP_ADDR_CHR_UUID";
  27. @protocol BLEServiceHandlerDelegate <NSObject>
  28. @optional
  29. - (void) BLEStateChange:(BOOL)state;
  30. - (void) BLEEndScan:(NSMutableArray *)devices;
  31. - (void) BLEConnected:(BTLEDeivceModel *)info;
  32. - (void) BLEDisConnected:(BTLEDeivceModel *)info;
  33. - (void) BLEUpldateDevice:(BTLEDeivceModel *)info;
  34. - (void) BLEWiFiSSIDRead:(NSString*)ssid;
  35. - (void) BLEWiFiDHCPRead:(id)data;
  36. - (void) BLEWiFiConnectionInfoUpdate:(CBCharacteristic *)info;
  37. @end
  38. @interface BLEServiceHandler : NSObject
  39. @property (readonly, nonatomic) BOOL isConnected;
  40. @property (strong, nonatomic) id delegate ;
  41. @property (strong, nonatomic) BTLEDeivceModel *conDevice;
  42. + (id)sharedManager;
  43. - (void)connect:(BTLEDeivceModel *)info;
  44. - (void)disConnect;
  45. - (void) startScan;
  46. - (void) stopScan;
  47. - (NSMutableArray *)getDeviceList;
  48. -(CBCharacteristic *)getChrInfo:(NSString *)name;
  49. -(NSString *)getChrName:(CBCharacteristic *)info;
  50. -(NSString *)getStrUUID:(CBCharacteristic *)info;
  51. - (NSString*)hexStringValue:(CBCharacteristic *)input;
  52. - (NSString*)asciiStringValue:(CBCharacteristic *)input;
  53. -(void)sendData:(CBCharacteristic *)chr str:(NSString *)str;
  54. //WiFi Setting관련 메뉴
  55. -(void)readAndNotifyCharacteristicUUID:(NSString *)uuid
  56. isNotify:(BOOL)isNotify;
  57. // WiFi Ap 스캔
  58. -(void)scanWiFiList;
  59. // WiFi 스캔결과 조회
  60. -(NSString *)getWLanList:(BLEWlanListType)type;
  61. // 스캔된 목록중에 존재하는 SSID를 BLE를 통해 GW에 입력
  62. -(void)setWiFiSSID:(NSString *)ssid;
  63. // 입력된 SSID에 해당하는 AP의 Password를 GW에 입력
  64. -(void)setWiFiPwd:(NSString *)pwd;
  65. // IP 설정타입을 DHCP로 변경
  66. -(void)enableDHCP;
  67. // 설정한 정보를 이용해서 AP에 접속 / IP받아오기
  68. -(void)applyWiFiSettingInfo;
  69. @end