// // InheritConnectViewController.m // AILinkBleSDKSourceCode // // Created by iot_user on 2020/4/7. // Copyright © 2020 IOT. All rights reserved. // #import "InheritConnectViewController.h" #import "Masonry.h" #import "SubBleManager.h" #import #import @interface InheritConnectViewController () @property (nonatomic, strong) UITextView *textView; @end @implementation InheritConnectViewController - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor whiteColor]; [SubBleManager shareManager].reconnectionTimeout = 3; [SubBleManager shareManager].subDelegate = self; [SubBleManager shareManager].delegate =self; [[SubBleManager shareManager] connectPeripheral:self.p]; [self setupUIView]; } -(void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated]; [[SubBleManager shareManager] disconnectPeripheral]; } -(void)addLog:(NSString *)log{ self.textView.text = [NSString stringWithFormat:@"%@\n%@",log,self.textView.text]; } -(void)buttonAction:(UIButton *)sender{ if ([SubBleManager shareManager].state != ELBluetoothStateDidValidationPass) { [self addLog:@"Disconnected"]; return; } [self addLog:sender.titleLabel.text]; NSInteger tag = sender.tag; if (tag == 1) { //getBluetoothInfoWithELInetGetCmdType是获取设备信息的方法 [[SubBleManager shareManager] getBluetoothInfoWithELInetGetCmdType:(ELInetGetCmdTypeGetBMVersion)]; }else if (tag == 2){ [[SubBleManager shareManager] getBluetoothInfoWithELInetGetCmdType:(ELInetGetCmdTypeGetC_V_P_ID)]; }else if (tag == 3){ [[SubBleManager shareManager] getBluetoothInfoWithELInetGetCmdType:(ELInetGetCmdTypeGetName)]; }else if (tag == 4){ [[SubBleManager shareManager] setBluetoothName:@"AILink"]; }else if (tag == 5){ //MARK:发送A6数据 Byte b[5] = {0xA6,0x01,0x01,0x02,0x6A}; NSData *data = [[NSData alloc] initWithBytes:b length:5]; [self addLog:data.description]; [[SubBleManager shareManager] sendData:data]; }else if (tag == 6){ //MARK:发送A7数据 //假设根据协议得到数据为{0xA7,0x06,0x01,0x01,0x01,0x01,0x01,0x01,0x0B,0x7A} //则payload为 Byte b[6] = {0x01,0x01,0x01,0x01,0x01,0x01}; NSData *payload = [[NSData alloc] initWithBytes:b length:6]; [self addLog:payload.description]; [[SubBleManager shareManager] sendData:payload]; } } -(void)setupUIView{ UIButton *button1 = [UIButton buttonWithType:(UIButtonTypeCustom)]; [button1 setTitle:@"Get BM Version" forState:(UIControlStateNormal)]; button1.tag = 1; button1.titleLabel.adjustsFontSizeToFitWidth = YES; button1.titleLabel.numberOfLines = 2; button1.backgroundColor = [UIColor blackColor]; [button1 addTarget:self action:@selector(buttonAction:) forControlEvents:(UIControlEventTouchUpInside)]; [self.view addSubview:button1]; [button1 mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(10); make.top.mas_equalTo(80); make.width.mas_equalTo(100); make.height.mas_equalTo(40); }]; UIButton *button2 = [UIButton buttonWithType:(UIButtonTypeCustom)]; [button2 setTitle:@"Get C V P ID" forState:(UIControlStateNormal)]; button2.tag = 2; button2.titleLabel.adjustsFontSizeToFitWidth = YES; button2.titleLabel.numberOfLines = 2; button2.backgroundColor = [UIColor blackColor]; [button2 addTarget:self action:@selector(buttonAction:) forControlEvents:(UIControlEventTouchUpInside)]; [self.view addSubview:button2]; [button2 mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(button1.mas_right).mas_offset(10); make.top.mas_equalTo(80); make.width.mas_equalTo(100); make.height.mas_equalTo(40); }]; UIButton *button3 = [UIButton buttonWithType:(UIButtonTypeCustom)]; [button3 setTitle:@"Get Name" forState:(UIControlStateNormal)]; button3.tag = 3; button3.titleLabel.adjustsFontSizeToFitWidth = YES; button3.titleLabel.numberOfLines = 2; button3.backgroundColor = [UIColor blackColor]; [button3 addTarget:self action:@selector(buttonAction:) forControlEvents:(UIControlEventTouchUpInside)]; [self.view addSubview:button3]; [button3 mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(button2.mas_right).mas_offset(10); make.top.mas_equalTo(80); make.width.mas_equalTo(100); make.height.mas_equalTo(40); }]; // UIButton *button4 = [UIButton buttonWithType:(UIButtonTypeCustom)]; [button4 setTitle:@"Set Name" forState:(UIControlStateNormal)]; button4.tag = 4; button4.titleLabel.adjustsFontSizeToFitWidth = YES; button4.titleLabel.numberOfLines = 2; button4.backgroundColor = [UIColor blackColor]; [button4 addTarget:self action:@selector(buttonAction:) forControlEvents:(UIControlEventTouchUpInside)]; [self.view addSubview:button4]; [button4 mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(10); make.top.equalTo(button1.mas_bottom).mas_offset(10); make.width.mas_equalTo(100); make.height.mas_equalTo(40); }]; // UIButton *button5 = [UIButton buttonWithType:(UIButtonTypeCustom)]; [button5 setTitle:@"Send A6 Data" forState:(UIControlStateNormal)]; button5.tag = 5; button5.titleLabel.adjustsFontSizeToFitWidth = YES; button5.titleLabel.numberOfLines = 2; button5.backgroundColor = [UIColor blackColor]; [button5 addTarget:self action:@selector(buttonAction:) forControlEvents:(UIControlEventTouchUpInside)]; [self.view addSubview:button5]; [button5 mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(button4.mas_right).mas_offset(10); make.top.equalTo(button1.mas_bottom).mas_offset(10); make.width.mas_equalTo(100); make.height.mas_equalTo(40); }]; // // UIButton *button6 = [UIButton buttonWithType:(UIButtonTypeCustom)]; [button6 setTitle:@"Send A7 Data" forState:(UIControlStateNormal)]; button6.tag = 6; button6.titleLabel.adjustsFontSizeToFitWidth = YES; button6.titleLabel.numberOfLines = 2; button6.backgroundColor = [UIColor blackColor]; [button6 addTarget:self action:@selector(buttonAction:) forControlEvents:(UIControlEventTouchUpInside)]; [self.view addSubview:button6]; [button6 mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(button5.mas_right).mas_offset(10); make.top.equalTo(button1.mas_bottom).mas_offset(10); make.width.mas_equalTo(100); make.height.mas_equalTo(40); }]; // self.textView = [[UITextView alloc] init]; self.textView.backgroundColor = [UIColor blackColor]; self.textView.text = @"Log"; self.textView.textColor = [UIColor redColor]; [self.view addSubview:self.textView]; [self.textView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(10); make.right.bottom.mas_equalTo(-10); make.height.mas_equalTo(200); }]; } -(void)bluetoothManagerReceiceResponseType:(ELInetSetCmdType)type result:(ELSetBluetoothResponseType)result{ if (type == ELInetSetCmdTypeSetName) { if (result == ELSetBluetoothResponseTypeSuccess) { [self addLog:@"Set name Success "]; }else if (result == ELSetBluetoothResponseTypeFailure){ [self addLog:@"Set name failure "]; }else if (result == ELSetBluetoothResponseTypeNoSupport){ [self addLog:@"Set name unsupport "]; } } } -(void)bluetoothManagerReceiceName:(NSString *)name{ [self addLog:name]; } -(void)bluetoothManagerReceiveDID:(struct ELDIDStruct)did{ [self addLog:[NSString stringWithFormat:@"CID = %ld,VID = %d,PID = %d",did.deviceType,did.vendorID,did.productID]]; } -(void)bluetoothManagerReceiveBMVersion:(NSString *)bmVersion{ [self addLog:bmVersion]; } - (void)bluetoothManagerReceivePassData:(NSData *)data { [self addLog:data.elHexString]; } - (void)bluetoothManagerReceiveData:(NSData *)data deviceType:(ELSupportDeviceType)type { [self addLog:data.elHexString]; } //MARK:获取设备支持的单位 -(void)bluetoothManagerBackDeviceSupportUnitWithWeight:(NSArray *)weightArray Height:(NSArray *)heightArray Temperature:(NSArray *)temperatureArray BloodPressure:(NSArray *)bloodPressureArray Pressure:(NSArray *)pressureArray{ //需要什么单位根据设备而定 //设置单位时,要设置设备支持的单位 } -(void)subBluetoothUpdateState:(ELBluetoothState)state{ switch (state) { case ELBluetoothStateUnavailable: { self.title = @"Please open the bluetooth"; } break; case ELBluetoothStateAvailable: { self.title = @"Bluetooth is open"; } break; case ELBluetoothStateScaning: { self.title = @"Scaning"; } break; case ELBluetoothStateConnectFail: { self.title = @"Connect fail"; } break; case ELBluetoothStateDidDisconnect: { self.title = @"Disconnected"; } break; case ELBluetoothStateDidValidationPass: { self.title = @"Connected"; [[SubBleManager shareManager] getBluetoothInfoWithELInetGetCmdType:(ELInetGetCmdTypeReadDeviceSupportUnit)]; } break; case ELBluetoothStateFailedValidation: { self.title = @"Illegal equipment"; } break; case ELBluetoothStateWillConnect: self.title = @"Connecting"; break; default: break; } } -(void)dealloc{ } @end