iOS AILinkBleSDK - 蓝牙SDK
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

ELAILinkBleManagerProtocol.h 4.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. //
  2. // ELAILinkBleManagerProtocol.h
  3. // AILinkBleSDK
  4. //
  5. // Created by LarryZhang on 2023/3/31.
  6. //
  7. #import "ELAILinkBleManager.h"
  8. @class ELAILinkPeripheral, ELBleWifiDetailModel, ELAILinkBleManager;
  9. NS_ASSUME_NONNULL_BEGIN
  10. #pragma mark - ELAILinkBleManagerDelegate
  11. @protocol ELAILinkBleManagerDelegate <NSObject>
  12. @optional
  13. //扫描
  14. - (void)managerDidUpdateState:(CBCentralManager *)central;
  15. - (void)managerScanState:(BOOL)scanning;
  16. - (void)managerDidDiscoverPeripheral:(ELAILinkPeripheral *)peripheral;
  17. - (void)managerDidDiscoverMorePeripheral:(NSDictionary<NSUUID *, ELAILinkPeripheral *> *)peripherals;
  18. //连接
  19. - (void)managerDidConnectPeripheral:(CBPeripheral *)peripheral;
  20. - (void)managerDidFailToConnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error;
  21. - (void)managerDidDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error;
  22. - (void)managerDidUpdateConnect:(NELBleManagerConnectState)state;
  23. //服务 & 特征
  24. - (void)peripheralDidDiscoverServices:(NSArray<CBService *> *)services;
  25. - (void)peripheralDidDiscoverCharacteristicsForService:(NSArray<CBCharacteristic *> *)characteristics;
  26. - (void)peripheralDidUpdateNotificationStateForCharacteristic:(CBCharacteristic *)characteristic;
  27. - (void)peripheralDidUpdateValueForCharacteristic:(CBCharacteristic *)characteristic;
  28. - (void)didWriteValueForCharacteristic:(CBCharacteristic *)characteristic;
  29. - (void)peripheralDidReadRSSI:(nonnull NSNumber *)RSSI;
  30. @optional
  31. //A7数据 payload
  32. - (void)aiLinkBleReceiveA7Data:(NSData *)payload;
  33. - (void)aiLinkBleReceiveA7Data:(NSData *)payload withMac:(NSData *)mac DEPRECATED_MSG_ATTRIBUTE("use 'aiLinkBleReceiveA7Data:aILinkPeripheral' instead");
  34. - (void)aiLinkBleReceiveA7Data:(NSData *)packet aILinkPeripheral:(ELAILinkPeripheral *)aILinkPeripheral DEPRECATED_MSG_ATTRIBUTE("use 'aiLinkBleReceiveA7Data:manager' instead");
  35. - (void)aiLinkBleReceiveA7Data:(NSData *)rawData manager:(ELAILinkBleManager *)manager;
  36. //A6数据 packet
  37. - (void)aiLinkBleReceiveA6Data:(NSData *)packet;
  38. - (void)aiLinkBleReceiveA6Data:(NSData *)packet withMac:(NSData *)mac DEPRECATED_MSG_ATTRIBUTE("use 'aiLinkBleReceiveA6Data:aILinkPeripheral' instead");
  39. - (void)aiLinkBleReceiveA6Data:(NSData *)packet aILinkPeripheral:(ELAILinkPeripheral *)aILinkPeripheral DEPRECATED_MSG_ATTRIBUTE("use 'aiLinkBleReceiveA6Data:manager' instead");
  40. - (void)aiLinkBleReceiveA6Data:(NSData *)rawData manager:(ELAILinkBleManager *)manager;
  41. //原始数据
  42. - (void)aiLinkBleReceiveRawData:(NSData *)rawData aILinkPeripheral:(ELAILinkPeripheral *)aILinkPeripheral DEPRECATED_MSG_ATTRIBUTE("use 'aiLinkBleReceiveRawData:manager' instead");
  43. - (void)aiLinkBleReceiveRawData:(NSData *)rawData manager:(ELAILinkBleManager *)manager;
  44. @end
  45. #pragma mark - Bluetooth Wifi protocol(蓝牙Wifi协议)
  46. @protocol ELAILinkBleWifiDelegate <NSObject>
  47. @optional
  48. /**
  49. Callback Wifi details(回调Wifi详情)
  50. @param model 模型
  51. */
  52. - (void)bleWifiReceiveWifiDetailModel:(ELBleWifiDetailModel *)model;
  53. /**
  54. Scan nearby wifi results(扫描附近wifi结果)
  55. @param count Number of nearby wifi(附近wifi数量)
  56. */
  57. - (void)bleWifiReceiveScanedWifiCount:(int)count;
  58. /**
  59. Callback Wifi MAC address(回调Wifi MAC地址)
  60. @param macData mac
  61. */
  62. - (void)bleWifiReceiveWifiMacData:(NSData *_Nullable)macData;
  63. /**
  64. Callback WIFI password(回调WIFI密码)
  65. @param pwd password(密码)
  66. */
  67. - (void)bleWifiReceiveWifiPwd:(NSString *)pwd;
  68. /**
  69. Get DTIM interval (unit: ms)(获取DTIM间隔(单位:ms))
  70. @param interval Interval (unit: ms)(间隔(单位:ms))
  71. */
  72. - (void)bleWifiReceiveWifiDTIMInterval:(NSInteger)interval;
  73. /**
  74. Returns the visited URL(返回访问的url)
  75. @param url url
  76. */
  77. - (void)bleWifiReceiveURL:(NSString *)url;
  78. /**
  79. Call back wifi port number(回调wifi的端口号)
  80. @param port 端口号
  81. */
  82. - (void)bleWifiReceivePort:(UInt16)port;
  83. //Returns the visited path(返回访问的path)
  84. - (void)bleWifiReceivePath:(NSString *)path;
  85. /**
  86. Set or query the callback of the instruction execution result(设置指令蓝牙WIFI响应回调方法)
  87. 只支持蓝牙Wifi部分枚举
  88. @param type Type of setting (设置的类型)
  89. @param result Set result(设置的结果)
  90. */
  91. - (void)bleWifiReceiceResponseType:(ELInetSetCmdType)type result:(ELSetBluetoothResponseType)result;
  92. /**
  93. 获取会话码(deviceId)
  94. @param code (deviceId) deviceId(0 means no:为0时表示不存在)
  95. */
  96. - (void)bleWifiReceiveWifiSNCode:(int)code;
  97. /** 返回wifi名称 */
  98. - (void)bleWifiName:(NSString *)wifiName;
  99. @end
  100. NS_ASSUME_NONNULL_END