iOS AILinkBleSDK - 蓝牙SDK
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

OximeterConnectionViewController.m 3.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. //
  2. // OximeterConnectionViewController.m
  3. // AILinkBleSDKSourceCode
  4. //
  5. // Created by cliCk on 2021/1/28.
  6. // Copyright © 2021 IOT. All rights reserved.
  7. //
  8. #import "OximeterConnectionViewController.h"
  9. #import "Masonry.h"
  10. #import <AILinkBleSDK/ELOximeterBleManager.h>
  11. #import <AILinkBleSDK/ELPeripheralModel.h>
  12. #import <AILinkBleSDK/ELOximeterBleModel.h>
  13. @interface OximeterConnectionViewController () <ELOximeterBleDelegate, ELBluetoothManagerDelegate>
  14. @property (nonatomic, strong) UITextView *textView;
  15. @property (nonatomic, copy) NSArray<NSNumber *> *units;
  16. @end
  17. @implementation OximeterConnectionViewController
  18. - (void)viewDidLoad {
  19. [super viewDidLoad];
  20. // Do any additional setup after loading the view.
  21. self.view.backgroundColor = [UIColor whiteColor];
  22. [ELOximeterBleManager shareManager].oximeterBleDelegate = self;
  23. [ELOximeterBleManager shareManager].delegate = self;
  24. [[ELOximeterBleManager shareManager] connectPeripheral:self.p];
  25. [self setupUIView];
  26. }
  27. - (void)viewWillDisappear:(BOOL)animated {
  28. [[ELOximeterBleManager shareManager] disconnectPeripheral];
  29. }
  30. -(void)addLog:(NSString *)log{
  31. self.textView.text = [NSString stringWithFormat:@"%@\n\n%@",log,self.textView.text];
  32. }
  33. - (void)setupUIView {
  34. self.textView = [[UITextView alloc] init];
  35. self.textView.backgroundColor = [UIColor blackColor];
  36. self.textView.text = @"Log";
  37. self.textView.textColor = [UIColor redColor];
  38. [self.view addSubview:self.textView];
  39. [self.textView mas_makeConstraints:^(MASConstraintMaker *make) {
  40. make.left.mas_equalTo(10);
  41. make.right.mas_equalTo(-10);
  42. make.bottom.offset(-44);
  43. make.top.offset(150);
  44. }];
  45. }
  46. #pragma mark - ble Delegate
  47. - (void)oximeterManagerBleState:(ELBluetoothState)state {
  48. switch (state) {
  49. case ELBluetoothStateUnavailable:
  50. {
  51. self.title = @"Please open the bluetooth";
  52. }
  53. break;
  54. case ELBluetoothStateAvailable:
  55. {
  56. self.title = @"Bluetooth is open";
  57. }
  58. break;
  59. case ELBluetoothStateScaning:
  60. {
  61. self.title = @"Scaning";
  62. }
  63. break;
  64. case ELBluetoothStateConnectFail:
  65. {
  66. self.title = @"Connect fail";
  67. }
  68. break;
  69. case ELBluetoothStateDidDisconnect:
  70. {
  71. self.title = @"Disconnected";
  72. }
  73. break;
  74. case ELBluetoothStateDidValidationPass:
  75. {
  76. self.title = @"Connected";
  77. //获取设备设置信息
  78. [[ELOximeterBleManager shareManager] sendToBleWithGetDeviceStaus];
  79. }
  80. break;
  81. case ELBluetoothStateFailedValidation:
  82. {
  83. self.title = @"Illegal equipment";
  84. }
  85. break;
  86. case ELBluetoothStateWillConnect:
  87. self.title = @"Connecting";
  88. break;
  89. default:
  90. break;
  91. }
  92. }
  93. - (void)oximeterManagerSetupState:(ELOximeterBleModel *)bleModel markType:(enum OximeterTestMarkType)markType {
  94. NSString *logString = [NSString stringWithFormat:@"SpO2 : %zd \n bpm : %zd \n PI : %.1f \n power : %zd",bleModel.SpO2,bleModel.pulseRate,bleModel.pi/10.f,bleModel.power];
  95. [self addLog:logString];
  96. }
  97. - (void)oximeterManagerBleBackManufactureData:(NSData *)data {
  98. [self addLog:[NSString stringWithFormat:@"收到的原始数据 : %@",data]];
  99. }
  100. @end