BLEServiceHandler.m 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. //
  2. // BLEServiceHandler.m
  3. // OneCable
  4. //
  5. // Created by KaRam Kim on 2017. 5. 18..
  6. // Copyright © 2017년 ntels. All rights reserved.
  7. //
  8. #import "BLEServiceHandler.h"
  9. #import <CoreBluetooth/Corebluetooth.h>
  10. @interface BLEServiceHandler()<CBCentralManagerDelegate, CBPeripheralDelegate>
  11. {
  12. }
  13. @end
  14. @implementation BLEServiceHandler
  15. + (id)sharedManager
  16. {
  17. static BLEServiceHandler *sharedBLEServiceHandler = nil;
  18. static dispatch_once_t onceToken;
  19. dispatch_once(&onceToken, ^{
  20. sharedBLEServiceHandler = [[self alloc] init];
  21. });
  22. return sharedBLEServiceHandler;
  23. }
  24. - (void) open
  25. {
  26. }
  27. - (void) close
  28. {
  29. }
  30. - (void) sendDataWihOutDelegate:(SocketRequestModel *)data
  31. {
  32. }
  33. - (void) sendDataWithDelegate:(SocketRequestModel *)data delegate:(id)delegate
  34. {
  35. }
  36. - (void) sendDataWithDelegate:(SocketRequestModel *)data modelClass:(Class)modelClass delegate:(id)delegate
  37. {
  38. }
  39. - (void) sendDataWithDelegate:(SocketRequestModel *)data modelClass:(Class)modelClass delegate:(id)delegate isShowLoading:(BOOL)isShowLoading
  40. {
  41. }
  42. #pragma mark - CBCentralManagerDelegate
  43. - (void)centralManagerDidUpdateState:(CBCentralManager *)central {
  44. NSLog(@"Central manager changed state: %ld", central.state);
  45. //
  46. // if (central.state == CBCentralManagerStatePoweredOn) {
  47. // [self actionScan];
  48. // }
  49. }
  50. - (void)centralManager:(CBCentralManager *)central didRetrievePeripherals:(NSArray *)peripherals {
  51. NSLog(@"%ld periphirals retrieved", [peripherals count]);
  52. }
  53. - (void)centralManager:(CBCentralManager *)central didRetrieveConnectedPeripherals:(NSArray *)peripherals {
  54. // for (CBPeripheral *peripheral in peripherals) {
  55. // NSLog(@"Periphiral discovered: %@", peripheral.name);
  56. //
  57. // BOOL found = NO;
  58. // for (BTLEDevice *device in devices) {
  59. // if ([[device.peripheralRef.identifier UUIDString] isEqualToString:[peripheral.identifier UUIDString]]) {
  60. // found = YES;
  61. // }
  62. // }
  63. // if (!found)
  64. // [self addPeripheral:peripheral];
  65. //
  66. // }
  67. // [self.tableView reloadData];
  68. }
  69. - (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI {
  70. // NSLog(@"Periphiral discovered: %@, signal strength: %d", peripheral.name, RSSI.intValue);
  71. // NSLog(@"Periphiral discovered: %@, signal strength: %d", , RSSI.intValue);
  72. // for (BTLEDevice *device in devices) {
  73. // if ([[device.peripheralRef.identifier UUIDString] isEqualToString:[peripheral.identifier UUIDString]]) {
  74. // return;
  75. // }
  76. // }
  77. // if (peripheral.name != nil && peripheral.name != (id)[NSNull null]) {
  78. // if ([peripheral.name rangeOfString:@"DKC"].location != NSNotFound || [peripheral.name rangeOfString:@"BlueZ"].location != NSNotFound) {
  79. // BTLEDevice *device = [self addPeripheral:peripheral];
  80. // device.advertisementData = advertisementData;
  81. // device.RSSI = RSSI;
  82. // }
  83. // }
  84. //
  85. //
  86. //
  87. // [self.tableView reloadData];
  88. }
  89. - (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral {
  90. // NSLog(@"Periphiral connected: %@", peripheral.name);
  91. //
  92. // [[Logger shared] appendWithDevice:peripheral event:EventConnected service:nil characteristic:nil data:nil];
  93. //
  94. // [[NSNotificationCenter defaultCenter] postNotificationName:@"connected" object:nil];
  95. //
  96. // [self.tableView reloadData];
  97. }
  98. - (void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error {
  99. // NSLog(@"Periphiral disconnected: %@", peripheral.name);
  100. //
  101. // [[Logger shared] appendWithDevice:peripheral event:EventDisconnected service:nil characteristic:nil data:nil];
  102. //
  103. // [[NSNotificationCenter defaultCenter] postNotificationName:@"disconnected" object:nil];
  104. //
  105. // [self.tableView reloadData];
  106. }
  107. - (void)centralManager:(CBCentralManager *)central didFailToConnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error {
  108. // NSLog(@"Periphiral failed to connect: %@", peripheral.name);
  109. //
  110. // UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Failed to connect" message:error.localizedDescription preferredStyle:UIAlertControllerStyleAlert];
  111. // [alert addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil]];
  112. // [self presentViewController:alert animated:true completion:nil];
  113. }
  114. /*
  115. #define BLE_WFNPS_UUID @"6f819d94-dddf-11e6-bf26-cec0c932ce01"
  116. #define BLE_SCAN_CHR_UUID @"b364676d-dd76-11e6-bf26-cec0c932ce01"
  117. #define BLE_WLAN_LIST1_CHR_UUID @"f333f87c-0787-11e7-93ae-92361f002671"
  118. #define BLE_WLAN_LIST2_CHR_UUID @"f333fad4-0787-11e7-93ae-92361f002671"
  119. #define BLE_WLAN_LIST3_CHR_UUID @"f333fbec-0787-11e7-93ae-92361f002671"
  120. #define BLE_SSID_ARG_CHR_UUID @"508e6c28-0788-11e7-93ae-92361f002671"
  121. #define BLE_PASSWORD_ARG_CHR_UUID @"b3646c08-dd76-11e6-bf26-cec0c932ce01"
  122. #define BLE_CONNECTION_CHR_UUID @"b3646fbe-dd76-11e6-bf26-cec0c932ce01"
  123. #define BLE_SSID_CHR_UUID @"b3647108-dd76-11e6-bf26-cec0c932ce01"
  124. #define BLE_BSSID_CHR_UUID @"b3647234-dd76-11e6-bf26-cec0c932ce01"
  125. #define BLE_WF_IP_SET_ARG_CHR_UUID @"8e0b49e6-088b-11e7-93ae-92361f002671"
  126. #define BLE_WF_IP_ADDR_ARG_CHR_UUID @"8e0b4c2a-088b-11e7-93ae-92361f002671"
  127. #define BLE_WF_NET_PRE_LEN_ARG_CHR_UUID @"8e0b4e32-088b-11e7-93ae-92361f002671"
  128. #define BLE_WF_GATEWAY_ARG_CHR_UUID @"8e0b4ffe-088b-11e7-93ae-92361f002671"
  129. #define BLE_WF_DNS_ARG_CHR_UUID @"8e0b50d0-088b-11e7-93ae-92361f002671"
  130. #define BLE_APPLY_CHR_UUID @"8e0b51a2-088b-11e7-93ae-92361f002671"
  131. #define BLE_WF_IP_SET_CHR_UUID @"8e0b5314-088b-11e7-93ae-92361f002671"
  132. #define BLE_WF_IP_ADDR_CHR_UUID @"8e0b54a4-088b-11e7-93ae-92361f002671"
  133. #define BLE_WF_NET_PRE_LEN_CHR_UUID @"8e0b5576-088b-11e7-93ae-92361f002671"
  134. #define BLE_WF_GATEWAY_CHR_UUID @"8e0b568e-088b-11e7-93ae-92361f002671"
  135. #define BLE_WF_DNS_CHR_UUID @"8e0b5878-088b-11e7-93ae-92361f002671"
  136. #define BLE_IPNPS_UUID @"09d38ae8-dbb9-11e6-bf26-cec0c932ce01"
  137. #define BLE_IP_SET_ARG_CHR_UUID @"09d38d68-dbb9-11e6-bf26-cec0c932ce01"
  138. #define BLE_IP_ADDR_ARG_CHR_UUID @"09d38e62-dbb9-11e6-bf26-cec0c932ce01"
  139. #define BLE_NET_PRE_LEN_ARG_CHR_UUID @"09d38f48-dbb9-11e6-bf26-cec0c932ce01"
  140. #define BLE_GATEWAY_ARG_CHR_UUID @"09d39024-dbb9-11e6-bf26-cec0c932ce01"
  141. #define BLE_DNS_ARG_CHR_UUID @"09d3960a-dbb9-11e6-bf26-cec0c932ce01"
  142. #define BLE_APPLY_IP_CHR_UUID @"73207ac8-dd72-11e6-bf26-cec0c932ce01"
  143. #define BLE_IP_SET_CHR_UUID @"73208018-dd72-11e6-bf26-cec0c932ce01"
  144. #define BLE_IP_ADDR_CHR_UUID @"73208126-dd72-11e6-bf26-cec0c932ce01"
  145. #define BLE_NET_PRE_LEN_CHR_UUID @"73208202-dd72-11e6-bf26-cec0c932ce01"
  146. #define BLE_GATEWAY_CHR_UUID @"732082de-dd72-11e6-bf26-cec0c932ce01"
  147. #define BLE_DNS_CHR_UUID @"732083a6-dd72-11e6-bf26-cec0c932ce01"
  148. */
  149. @end