123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686 |
- //
- // ELWIFIBloodPressureVC.m
- // AILinkBleSDK_Example
- //
- // Created by LarryZhang on 2023/10/6.
- // Copyright © 2023 zhengzida. All rights reserved.
- //
-
- #import "ELWIFIBloodPressureVC.h"
- #import <AILinkBleSDK/ELAILinkBleManager.h>
- #import <AILinkBleSDK/ELBluetoothManager+BleWifi.h>
- #import <AILinkBleSDK/ElBloodBleWifiManager.h>
- #import <AILinkBleSDK/ELbloodPresureBleWifiDataModel.h>
- #import "ELBfsWifiConnectTableViewCell.h"
-
- @interface ELWIFIBloodPressureVC () <ELBluetoothManagerDelegate, ElBleWifiDelegate, ELBloodBleWifiManagerDelegate, UITextFieldDelegate, UITableViewDelegate, UITableViewDataSource>
-
- @property (weak, nonatomic) IBOutlet UITextField *urlTexField;
- @property (weak, nonatomic) IBOutlet UITextField *portTexField;
- @property (weak, nonatomic) IBOutlet UITextField *pathTexField;
-
- @property (weak, nonatomic) IBOutlet UILabel *bleStatusLabel;
-
- @property (weak, nonatomic) IBOutlet UITextView *logTextView;
-
- @property (weak, nonatomic) IBOutlet UITableView *tableView;
-
- @property (nonatomic, strong) NSMutableArray<ELBleWifiDetailModel *> *dataSource;
-
- @end
-
- @implementation ELWIFIBloodPressureVC
-
- - (void)viewDidLoad {
- [super viewDidLoad];
- // Do any additional setup after loading the view from its nib.
-
- [ElBloodBleWifiManager shareManager].delegate = self;
- [ElBloodBleWifiManager shareManager].bleWifiDelegate = self;
- [ElBloodBleWifiManager shareManager].bloodDelegate = self;
- [[ElBloodBleWifiManager shareManager] startScanFilterCids:@[@(ELSupportDeviceTypeBLE_WIFIBlood)]];
- NSString *log = @"开始扫描";
- [self addLog:log];
-
- self.urlTexField.text = self.defaultURL;//@"iot.elink.com";
- self.portTexField.text = self.defaultPort;//@"80";
- self.pathTexField.text = self.defaultPath;//@"";
-
- self.dataSource = [NSMutableArray array];
- }
-
- -(void)viewDidDisappear:(BOOL)animated{
- [super viewDidDisappear:animated];
-
- [[ElBloodBleWifiManager shareManager] stopScan];
- [[ElBloodBleWifiManager shareManager] disconnectPeripheral];
- [ElBloodBleWifiManager shareManager].delegate = nil;
- [ElBloodBleWifiManager shareManager].bleWifiDelegate = nil;
- [ElBloodBleWifiManager shareManager].bloodDelegate = nil;
- }
-
- #pragma mark - Action
-
- - (IBAction)requestWifiNameAction:(id)sender {
- [[ElBloodBleWifiManager shareManager] getBluetoothInfoWithELInetGetCmdType:ELInetGetCmdTypeBleWifiName];
-
- NSString *log = @"获取当前 wifi 名称";
- [self addLog:log];
- }
-
- - (IBAction)requestDeviceStatusAcion:(id)sender {
- //获取蓝牙和WiFi连接状态
- [[ElBloodBleWifiManager shareManager] getBluetoothInfoWithELInetGetCmdType:(ELInetGetCmdTypeGetConnectState)];
-
- NSString *log = [NSString stringWithFormat:@"获取蓝牙和WiFi连接状态"];
- [self addLog:log];
- }
-
- - (IBAction)requestWifiListAction:(id)sender {
- [self.dataSource removeAllObjects];
- [self.tableView reloadData];
- [[ElBloodBleWifiManager shareManager] getBluetoothInfoWithELInetGetCmdType:ELInetGetCmdTypeBleWifiGetNearbyWifi];
-
- NSString *log = @"获取 附近的 WIFI 列表";
- [self addLog:log];
- }
-
- - (IBAction)setupServerInfoAcion:(id)sender {
- NSString *url = self.urlTexField.text;
- NSString *port = self.portTexField.text;
- NSString *path = self.pathTexField.text;
-
- self.defaultURL = url;
- self.defaultPort = port;
- self.defaultPath = path;
-
- [[ElBloodBleWifiManager shareManager] setDevAccessIpAddress:url portNumber:port.intValue path:path];
-
- NSString *log = @"设置 服务器信息";
- [self addLog:log];
- }
-
- - (IBAction)requestServerInfoAcion:(id)sender {
- [[ElBloodBleWifiManager shareManager] getBluetoothInfoWithELInetGetCmdType:ELInetGetCmdTypeBleWifiGetURL];
- [[ElBloodBleWifiManager shareManager] getBluetoothInfoWithELInetGetCmdType:ELInetGetCmdTypeBleWifiGetPort];
- [[ElBloodBleWifiManager shareManager] getBluetoothInfoWithELInetGetCmdType:ELInetGetCmdTypeBleWifiGetPathAddress];
-
- NSString *log = @"获取 服务器信息";
- [self addLog:log];
- }
-
- - (IBAction)requestDeviceIdAcion:(id)sender {
- //获取wifi设备的SN号,即设备id
- [[ElBloodBleWifiManager shareManager] getBluetoothInfoWithELInetGetCmdType:ELInetGetCmdTypeBleWifiGetSNNumber];
-
- NSString *log = @"获取 设备ID";
- [self addLog:log];
- }
-
- - (IBAction)switchUintAction:(id)sender {
- static BOOL value = YES;
- if (value) {
- [[ElBloodBleWifiManager shareManager] changeUnit:ELDeviceBloodPressureUnit_mmhg];
-
- NSString *log = @"设置单位 mmhg";
- [self addLog:log];
- } else {
- [[ElBloodBleWifiManager shareManager] changeUnit:ELDeviceBloodPressureUnit_kPa];
-
- NSString *log = @"设置单位 kPa";
- [self addLog:log];
- }
- value = !value;
- }
-
- - (IBAction)switchSpeechAtion:(id)sender {
- static BOOL value = YES;
- if (value) {
- [[ElBloodBleWifiManager shareManager] sendSwitchVoice:ELBloodBleSwitchVoiceTypeOn];
-
- NSString *log = @"打开 语音";
- [self addLog:log];
- } else {
- [[ElBloodBleWifiManager shareManager] sendSwitchVoice:ELBloodBleSwitchVoiceTypeOff];
-
- NSString *log = @"关闭 语音";
- [self addLog:log];
- }
- value = !value;
- }
-
- - (IBAction)startMeasureAction:(id)sender {
- [[ElBloodBleWifiManager shareManager] sendInteractiveInstructions:ELBloodInteractionTypeStartTest];
-
- NSString *log = @"开始 测量";
- [self addLog:log];
- }
-
- - (IBAction)stopMeasureAction:(id)sender {
- [[ElBloodBleWifiManager shareManager] sendInteractiveInstructions:ELBloodInteractionTypeStopTest];
-
- NSString *log = @"停止 测量";
- [self addLog:log];
- }
-
- - (IBAction)restoreFactoryAction:(id)sender {
- UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"恢复出厂设置" message:@"确认要恢复出厂设置吗?" preferredStyle:UIAlertControllerStyleAlert];
- UIAlertAction *conform = [UIAlertAction actionWithTitle:@"确认" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
- NSLog(@"点击了确认按钮");
-
- [[ElBloodBleWifiManager shareManager] setFactoryDataReset];
- NSString *log = @"恢复出厂设置";
- [self addLog:log];
- }];
- UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
- NSLog(@"点击了取消按钮");
- }];
-
- [alert addAction:conform];
- [alert addAction:cancel];
- [self presentViewController:alert animated:YES completion:nil];
-
- }
-
- - (IBAction)clearAction:(id)sender {
- self.logTextView.text = @"";
- }
-
- - (IBAction)shareLogAction:(id)sender {
- }
-
- #pragma mark -
-
- - (NSString *)defaultURL {
- return [[NSUserDefaults standardUserDefaults] stringForKey:@"defaultURL"];
- }
-
- - (void)setDefaultURL:(NSString *)defautlURL {
- [[NSUserDefaults standardUserDefaults] setObject:defautlURL forKey:@"defaultURL"];
- [[NSUserDefaults standardUserDefaults] synchronize];
- }
-
- - (NSString *)defaultPort {
- return [[NSUserDefaults standardUserDefaults] stringForKey:@"defaultPort"];
- }
-
- - (void)setDefaultPort:(NSString *)defaultPort {
- [[NSUserDefaults standardUserDefaults] setObject:defaultPort forKey:@"defaultPort"];
- [[NSUserDefaults standardUserDefaults] synchronize];
- }
-
- - (NSString *)defaultPath {
- return [[NSUserDefaults standardUserDefaults] stringForKey:@"defaultPath"];
- }
-
- - (void)setDefaultPath:(NSString *)defaultPath {
- [[NSUserDefaults standardUserDefaults] setObject:defaultPath forKey:@"defaultPath"];
- [[NSUserDefaults standardUserDefaults] synchronize];
- }
-
- #pragma mark - textField Delegate
-
- - (void)textFieldDidEndEditing:(UITextField *)textField {
- if (textField.tag == 119) {
- NSLog(@"%@",textField.text);
- //MARK:7.再发送配置wifi的密码的指令
- [[ElBloodBleWifiManager shareManager] bleWifiSetWifiPwd:textField.text];
- }
- }
-
- #pragma mark - tableView Delegate And DataSource
-
- - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
- return 1;
- }
-
- - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
- return self.dataSource.count;
- }
-
- - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
- return 0.f;
- }
-
- - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
- return nil;
- }
-
- - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
- static NSString *cellId = @"ELBfsWifiConnectTableViewCell";
- ELBfsWifiConnectTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId];
- if (!cell) {
- cell = [[ELBfsWifiConnectTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellId];
- }
-
- ELBleWifiDetailModel *model = self.dataSource[indexPath.row];
-
- cell.wifiName = model.wifiName;
- if (model.wifiState == ELBleWifiUseStateConnected) {
- cell.isLink = YES;
- } else {
- cell.isLink = NO;
- }
-
- return cell;
- }
-
- - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
-
- [tableView deselectRowAtIndexPath:indexPath animated:YES];
-
- ELBleWifiDetailModel *model = self.dataSource[indexPath.row];
-
- //MARK:5.先发送配置wifi的mac地址的指令
- [[ElBloodBleWifiManager shareManager] bleWifiSetConnectWifiMac:model.macData];
-
- UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"请输入wifi密码" message:model.wifiName preferredStyle:UIAlertControllerStyleAlert];
- UIAlertAction *conform = [UIAlertAction actionWithTitle:@"确认" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
- NSLog(@"点击了确认按钮");
- }];
- UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
- NSLog(@"点击了取消按钮");
- }];
- //MARK:6.输入wifi密码
- [alert addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
- textField.placeholder = @"密码";
- textField.delegate = self;
- textField.tag = 119;
- }];
-
- [alert addAction:conform];
- [alert addAction:cancel];
- [self presentViewController:alert animated:YES completion:nil];
- }
-
- #pragma mark - ELBluetoothManagerDelegate
-
- /**
- Callback Bluetooth status(回调蓝牙状态)
- @param state Bluetooth status(蓝牙状态)
- */
- -(void)bloodBleManagerUpdateBleState:(ELBluetoothState)state {
- NSLog(@"## bluetoothManagerUpdateBleState = %ld", state);
- if (state == ELBluetoothStateScaning) {
- self.bleStatusLabel.text = @"正在连接...";
- // NSString *log = @"正在连接...";
- // [self addLog:log];
- } else if (state == ELBluetoothStateDidValidationPass) {
- self.bleStatusLabel.text = [@"连接成功 " stringByAppendingString:self.per.macAddressString];
- NSString *log = [@"连接成功 " stringByAppendingString:self.per.macAddressString];
- [self addLog:log];
-
- // //获取蓝牙和WiFi连接状态
- // [[ElBloodBleWifiManager shareManager] getBluetoothInfoWithELInetGetCmdType:(ELInetGetCmdTypeGetConnectState)];
- // log = [NSString stringWithFormat:@"获取蓝牙和WiFi连接状态"];
- // [self addLog:log];
- } else if (state == ELBluetoothStateDidDisconnect) {
- self.bleStatusLabel.text = @"连接已断开";
- NSString *log = @"连接已断开";
- [self addLog:log];
- } else {
- // self.bleStatusLabel.text = @"";
- }
- }
-
- /**
- Callback scanned device(回调扫描到的设备)
- @param devices 设备
- */
- - (void)bloodBleManagerScanDevices:(NSArray<ELPeripheralModel *> *_Nullable)devices {
- NSLog(@"## bloodBleManagerScanDevices = %@", devices);
- for (int i = 0; i < devices.count; i++) {
- ELPeripheralModel *device = devices[i];
- if ([device.macAddress isEqualToString:self.per.macAddressString]) {
- [[ElBloodBleWifiManager shareManager] stopScan];
-
- [[ElBloodBleWifiManager shareManager] connectPeripheral:device];
- return;
- }
- }
- }
-
- #pragma mark - ElBleWifiDelegate
-
- /**
- Callback Wifi details(回调Wifi详情)
- @param model 模型
- */
- - (void)bleWifiReceiveWifiDetailModel:(ELBleWifiDetailModel *)model {
- NSLog(@"## bleWifiReceiveWifiDetailModel");
- // [self addLog:[NSString stringWithFormat:@"wifi type---%lu name---%@ link state--%zd",(unsigned long)model.wifiState,model.wifiName,model.wifiState]];
- // MARK:3.WiFi配置得到Wifi列表
- if (model.wifiName.length > 0) {
- [self.dataSource addObject:model];
- }
- [self.tableView reloadData];
- }
-
- /**
- Scan nearby wifi results(扫描附近wifi结果)
- @param count Number of nearby wifi(附近wifi数量)
- */
- - (void)bleWifiReceiveScanedWifiCount:(int)count {
- NSLog(@"## bleWifiReceiveScanedWifiCount() count:%@", @(count));
- //MARK:4.WiFi配置得到一个附近wifi的列表,点击选择一个wifi,进行配置
- [self.tableView reloadData];
- }
-
- /**
- Callback Wifi MAC address(回调Wifi MAC地址)
- @param macData mac
- */
- - (void)bleWifiReceiveWifiMacData:(NSData *_Nullable)macData {
- NSLog(@"## bleWifiReceiveWifiMacData");
- }
-
- /**
- Callback WIFI password(回调WIFI密码)
- @param pwd password(密码)
- */
- - (void)bleWifiReceiveWifiPwd:(NSString *_Nonnull)pwd {
- NSLog(@"## bleWifiReceiveWifiPwd");
- }
-
- /**
- Get DTIM interval (unit: ms)(获取DTIM间隔(单位:ms))
- @param interval Interval (unit: ms)(间隔(单位:ms))
- */
- - (void)bleWifiReceiveWifiDTIMInterval:(NSInteger)interval {
- NSLog(@"## bleWifiReceiveWifiDTIMInterval");
- }
-
- /**
- Returns the visited URL(返回访问的url)
- @param url url
- */
- - (void)bleWifiReceiveWifiAccessURL:(NSString *)url {
- NSLog(@"## bleWifiReceiveWifiAccessURL() url:%@", url);
-
- NSString *log = [NSString stringWithFormat:@"url:%@", url];
- [self addLog:log];
- }
-
- /**
- Call back wifi port number(回调wifi的端口号)
- @param port 端口号
- */
- - (void)bleWifiReceiveWifiPort:(int)port {
- NSLog(@"## bleWifiReceiveWifiPort() port:%@", @(port));
- NSString *log = [NSString stringWithFormat:@"port:%@", @(port)];
- [self addLog:log];
- }
-
- //Returns the visited path(返回访问的path)
- - (void)bleWifiReceiveWifiPath:(NSString *)path {
- NSLog(@"## bleWifiReceiveWifiPath() path:%@", path);
-
- NSString *log = [NSString stringWithFormat:@"path:%@", path];
- [self addLog:log];
- }
-
- /**
- Set or query the callback of the instruction execution result(设置指令蓝牙WIFI响应回调方法)
- 只支持蓝牙Wifi部分枚举
- @param type Type of setting (设置的类型)
- @param result Set result(设置的结果)
- */
- - (void)bleWifiReceiceResponseType:(ELInetSetCmdType)type result:(ELSetBluetoothResponseType)result {
- NSLog(@"## bleWifiReceiceResponseType");
-
- if (result == ELSetBluetoothResponseTypeSuccess) {
- //设置WiFi结果
- if (type == ELInetSetCmdTypeBleWifiSetWifiMac) {
-
- } else if (type == ELInetSetCmdTypeBleWifiSetWifiPwd){
- //MARK:8.然后发起连接Wifi
- [[ElBloodBleWifiManager shareManager] bleWifiSetupWifiConnect:YES];
- } else if (type == ELInetSetCmdTypeBleWifiSetConnectWifi){
- //获取连接状态,更新Wi-Fi列表
- // [self.dataSource removeAllObjects];
- // [self.tableView reloadData];
- // [[ElBloodBleWifiManager shareManager] getBluetoothInfoWithELInetGetCmdType:ELInetGetCmdTypeBleWifiGetNearbyWifi];
- }
- } else {
- //TODO:Wifi配置过程中失败的情况自行处理
- }
- }
-
- /**
- 获取会话码(deviceId)
-
- @param code (deviceId) deviceId(0 means no:为0时表示不存在)
- */
- - (void)bleWifiReceiveWifiSNCode:(int)code {
- NSLog(@"## bleWifiReceiveWifiSNCode() code:%@", @(code));
- if (code == 0) {
- //失败
- }
-
- NSString *log = [NSString stringWithFormat:@"会话码(deviceId): %@", @(code)];
- [self addLog:log];
- }
-
- /** 返回wifi名称 */
- - (void)bleWifiName:(NSString *)wifiName {
- NSLog(@"## bleWifiName() wifi名称: %@", wifiName);
-
- NSString *log = [NSString stringWithFormat:@"wifi名称: %@", wifiName];
- [self addLog:log];
- }
-
- //- (void)bluetoothManagerReceiveMCUConnectedState:(struct ELMCUStateStruct)stateStrct {
- // NSLog(@"## bluetoothManagerReceiveMCUConnectedState");
- // BleWiFiConnectState wifiState = stateStrct.wifiState;
- //
- //// //请求会话码
- //// [[ElBloodBleWifiManager shareManager] getBluetoothInfoWithELInetGetCmdType:ELInetGetCmdTypeBleWifiGetSNNumber];
- // //MARK:1.WiFi配置提示用户配网
- // //TODO:注意:wifi配置过程必须保持蓝牙与设备的连接
- // if (wifiState == BleWiFiConnectStateNoWiFi) {
- // //1.如果没有配网,则提示用户去配网
- // //MARK:2.WiFi配置先获取wifi列表
- // [self.dataSource removeAllObjects];
- // [self.tableView reloadData];
- // [[ElBloodBleWifiManager shareManager] getBluetoothInfoWithELInetGetCmdType:ELInetGetCmdTypeBleWifiGetNearbyWifi];
- // NSString *log = @"获取附近 wifi 列表";
- // [self addLog:log];
- // } else if (wifiState == BleWiFiConnectStateSuccess) {
- // [[ElBloodBleWifiManager shareManager] getBluetoothInfoWithELInetGetCmdType:ELInetGetCmdTypeBleWifiName];
- //
- // NSString *log = @"获取当前 wifi 名称";
- // [self addLog:log];
- // } else {
- //// //MARK:2.没网也可以获取Wi-Fi列表,如果需要更新Wi-Fi的话
- //// [self.dataSource removeAllObjects];
- //// [self.tableView reloadData];
- //// [[ElBloodBleWifiManager shareManager] getBluetoothInfoWithELInetGetCmdType:ELInetGetCmdTypeBleWifiGetNearbyWifi];
- // }
- //
- // ///MARK:9.wifi配置结果
- // //wifi相关的其他指令和数据接收,请查看ELBluetoothManager.h文件
- // if (stateStrct.wifiState == BleWiFiConnectStateSuccess) {
- // //成功
- // //MARK:10.获取wifi设备的SN号,即设备id
- // [[ElBloodBleWifiManager shareManager] getBluetoothInfoWithELInetGetCmdType:ELInetGetCmdTypeBleWifiGetSNNumber];
- // }
- //}
-
- -(void)bluetoothManagerReceiveWMState:(ELWMStateStruct)stateStrct {
- NSString *bleString = @"0_无连接";
- if (stateStrct.bleState == WMBleStateConnected) {
- bleString = @"1_已连接";
- } else if (stateStrct.bleState == WMBleStatePaired) {
- bleString = @"2_配对完成";
- }
-
- NSString *wifiString = @"0_未配置AP";
- if (stateStrct.wifiState == WMWiFiStateConnectAPFail) {
- wifiString = @"1_连接AP失败";
- } else if (stateStrct.wifiState == WMWiFiStateConnectServerFail) {
- wifiString = @"2_与服务器通讯失败";
- } else if (stateStrct.wifiState == WMWiFiStateConnectedAP) {
- wifiString = @"3_成功连接上AP";
- } else if (stateStrct.wifiState == WMWiFiStateConnectingAP) {
- wifiString = @"4_正在连接AP";
- }
-
- NSString *workString = @"0_唤醒";
- if (stateStrct.workState == WMWorkStateSleep) {
- workString = @"1_进入休眠";
- } else if (stateStrct.workState == WMWorkStateReady) {
- workString = @"2_模块准备就绪";
- }
-
- NSString *errorString = @"0_未知原因";
- if (stateStrct.failCode == WMWorkStateFailCodeAPSignalBad) {
- errorString = @"1_AP信号差";
- } else if (stateStrct.failCode == WMWorkStateFailCodeWrongPassword) {
- errorString = @"2_密码错误";
- } else if (stateStrct.failCode == WMWorkStateFailCodeNoIP) {
- errorString = @"3_获取不到IP";
- } else {
- errorString = @"";
- }
-
-
- NSLog(@"## bluetoothManagerReceiveMCUConnectedState()模块状态 蓝牙状态: %@, wifi状态: %@, 工作状态: %@ 失败原因: %@", bleString, wifiString, workString, errorString);
- if (errorString.length > 0) {
- NSString *log = [NSString stringWithFormat:@"模块状态 蓝牙状态: %@, wifi状态: %@, 工作状态: %@ 失败原因: %@", bleString, wifiString, workString, errorString];
- [self addLog:log];
- } else {
- NSString *log = [NSString stringWithFormat:@"模块状态\n 蓝牙状态: %@,\n wifi状态: %@,\n 工作状态: %@", bleString, wifiString, workString];
- [self addLog:log];
- }
- }
-
- //-(void)bluetoothManagerReceiveWMStateFailCode:(WMWorkStateFailCode)failCode {
- // NSLog(@"## bluetoothManagerReceiveMCUConnectedState");
- //
- //}
-
- #pragma mark - ELBloodBleWifiManagerDelegate
-
- /**
- Call back real-time, stable data(回调实时、稳定数据)
- @param model 数据
- @param type 类型
- */
- - (void)bloodBleManagerReceiceTestData:(ELbloodPresureBleWifiDataModel *)model type:(ELBloodBleDataModelType)type {
- NSLog(@"## bloodBleManagerReceiceTestData");
-
- static BOOL testEnd = NO;
-
- if (type == ELBloodBleDataModelTypeStable) {
- if (testEnd == NO) {
- testEnd = YES;
- }
- NSString *log = [NSString stringWithFormat:@"收缩压:%@, 舒张压:%@, ", model.sys, model.dia];
- [self addLog:log];
- } else if (type == ELBloodBleDataModelTypeRealTime) {
- testEnd = NO;
- NSString *log = [NSString stringWithFormat:@"压力:%@", model.dia];
- [self addLog:log];
- }
-
- }
-
- /**
- Set unit callback(设置单位回调)
- @param type 结果
- */
- - (void)bloodBleManagerReceiveSetUnitResult:(ELSetBluetoothResponseType)type {
- NSLog(@"## bloodBleManagerReceiveSetUnitResult() type:%@", @(type));
- if (type == ELSetBluetoothResponseTypeSuccess) {
- NSString *log = @"切换单位 成功";
- [self addLog:log];
- } else if (type == ELSetBluetoothResponseTypeFailure) {
- NSString *log = @"切换单位 失败";
- [self addLog:log];
- } else if (type == ELSetBluetoothResponseTypeNoSupport) {
- NSString *log = @"切换单位 不支持";
- [self addLog:log];
- }
- }
-
- /**
- Set the interaction type(设置交互类型)
- @param type 结果
- */
- - (void)bloodBleManagerReceiveInteractionType:(ELBloodInteractionType)type {
- NSLog(@"## bloodBleManagerReceiveInteractionType");
- if (type == ELBloodInteractionTypeStartTest) {
- NSString *log = @"设备状态 已开始测量";
- [self addLog:log];
- } else if (type == ELBloodInteractionTypeStopTest) {
- NSString *log = @"设备状态 已停止测量";
- [self addLog:log];
- } else if (type == ELBloodInteractionTypeShutdown) {
- NSString *log = @"设备状态 已关机";
- [self addLog:log];
- } else if (type == ELBloodInteractionTypeBoot) {
- NSString *log = @"设备状态 已开机";
- [self addLog:log];
- }
- }
-
- /**
- Error code sent on the device(设备上发错误码)
- @param code error code(错误码)
- */
- - (void)bloodBleManagerReceiveFailCode:(ELBloodFailCode)code {
- NSLog(@"## bloodBleManagerReceiveFailCode");
- }
-
- /**
- Send voice alarm setting result(下发语音报警设置结果)
- @param type 操作类型
- @param result 结果
- */
- - (void)bloodBleManagerReceiveSetSwitchVoiceOperationType:(ELBloodBleSwitchVoiceType)type result:(ELSetBluetoothResponseType)result {
- NSLog(@"## bloodBleManagerReceiveSetSwitchVoiceOperationType");
- if (result == ELSetBluetoothResponseTypeSuccess) {
- if (type == ELBloodBleSwitchVoiceTypeOn) {
- NSString *log = @"语音 打开 成功";
- [self addLog:log];
- }else if (type == ELBloodBleSwitchVoiceTypeOff){
- NSString *log = @"语音 关闭 成功";
- [self addLog:log];
- }
- } else {
- NSString *log = @"语音 设置 失败";
- [self addLog:log];
- }
- }
-
- //获取版本号
- - (void)bluetoothManagerReceiveBMVersion:(NSString *)bmVersion {
- NSLog(@"%@", bmVersion);
-
- NSString *log = [NSString stringWithFormat:@"模块版本: %@", bmVersion];
- [self addLog:log];
- }
-
- #pragma mark - addLog
-
- - (void)addLog:(NSString *)log {
- [self addLog:log newline:YES];
- }
-
- - (void)addWithoutNewlineLog:(NSString *)log {
- [self addLog:log newline:NO];
- }
-
- - (void)addLog:(NSString *)log newline:(BOOL)newline {
- NSDateFormatter *format = [[NSDateFormatter alloc] init];
- format.dateFormat = @"HH:mm:ss.SSS";
- NSString *time = [format stringFromDate:[NSDate date]];
- if (newline) {
- self.logTextView.text = [self.logTextView.text stringByAppendingFormat:@"%@ %@\n", time, log];
- } else {
- self.logTextView.text = [self.logTextView.text stringByAppendingFormat:@"%@ %@", time, log];
- }
- [self.logTextView scrollRangeToVisible:NSMakeRange(self.logTextView.text.length, 1)];
- }
-
- @end
|