diff --git a/.DS_Store b/.DS_Store
index 3efb7f4..48fbede 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/App-iOS-Wearable/.DS_Store b/App-iOS-Wearable/.DS_Store
index ab42226..e50f265 100644
Binary files a/App-iOS-Wearable/.DS_Store and b/App-iOS-Wearable/.DS_Store differ
diff --git a/App-iOS-Wearable/App-iOS-Wearable.xcodeproj/project.xcworkspace/xcuserdata/sedeam.xcuserdatad/UserInterfaceState.xcuserstate b/App-iOS-Wearable/App-iOS-Wearable.xcodeproj/project.xcworkspace/xcuserdata/sedeam.xcuserdatad/UserInterfaceState.xcuserstate
index f890279..696accb 100644
Binary files a/App-iOS-Wearable/App-iOS-Wearable.xcodeproj/project.xcworkspace/xcuserdata/sedeam.xcuserdatad/UserInterfaceState.xcuserstate and b/App-iOS-Wearable/App-iOS-Wearable.xcodeproj/project.xcworkspace/xcuserdata/sedeam.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/App-iOS-Wearable/App-iOS-Wearable.xcodeproj/xcuserdata/sedeam.xcuserdatad/xcschemes/xcschememanagement.plist b/App-iOS-Wearable/App-iOS-Wearable.xcodeproj/xcuserdata/sedeam.xcuserdatad/xcschemes/xcschememanagement.plist
index a25d592..10c49a8 100644
--- a/App-iOS-Wearable/App-iOS-Wearable.xcodeproj/xcuserdata/sedeam.xcuserdatad/xcschemes/xcschememanagement.plist
+++ b/App-iOS-Wearable/App-iOS-Wearable.xcodeproj/xcuserdata/sedeam.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -7,7 +7,7 @@
App-iOS-Wearable.xcscheme_^#shared#^_
orderHint
- 0
+ 3
diff --git a/App-iOS-Wearable/App-iOS-Wearable/.DS_Store b/App-iOS-Wearable/App-iOS-Wearable/.DS_Store
index cc83c70..f0abc3d 100644
Binary files a/App-iOS-Wearable/App-iOS-Wearable/.DS_Store and b/App-iOS-Wearable/App-iOS-Wearable/.DS_Store differ
diff --git a/App-iOS-Wearable/App-iOS-Wearable/Controller/Activities/ActivitiesViewController.swift b/App-iOS-Wearable/App-iOS-Wearable/Controller/Activities/ActivitiesViewController.swift
index ffedf8a..4345787 100644
--- a/App-iOS-Wearable/App-iOS-Wearable/Controller/Activities/ActivitiesViewController.swift
+++ b/App-iOS-Wearable/App-iOS-Wearable/Controller/Activities/ActivitiesViewController.swift
@@ -6,6 +6,7 @@
//
import UIKit
+import CoreBluetooth
class ActivitiesViewController: UIViewController, BluetoothManagerDelegate {
@@ -25,6 +26,7 @@ class ActivitiesViewController: UIViewController, BluetoothManagerDelegate {
title = "Actividades"
BluetoothManager.shared.delegate = self
+ BluetoothManager.shared.searchForDevices()
}
@IBAction func connectButtonTapped(_ sender: UIButton) {
@@ -82,4 +84,11 @@ class ActivitiesViewController: UIViewController, BluetoothManagerDelegate {
print("Datos del MPU6050: \(data)")
}
}
+
+ func didDiscoverPeripherals(peripherals: [CBPeripheral]) {
+ print("Dispositivos encontrados: ")
+ for peripheral in peripherals {
+ print("Nombre: \(peripheral.name ?? "Sin nombre"), UUID: \(peripheral.identifier.uuidString)")
+ }
+ }
}
diff --git a/App-iOS-Wearable/App-iOS-Wearable/Info.plist b/App-iOS-Wearable/App-iOS-Wearable/Info.plist
index 491d72f..94f457c 100644
--- a/App-iOS-Wearable/App-iOS-Wearable/Info.plist
+++ b/App-iOS-Wearable/App-iOS-Wearable/Info.plist
@@ -2,6 +2,8 @@
+ NSBluetoothPeripheralUsageDescription
+ Necesitamos su Bluetooth para la conexión con el SmartWatch.
UIMainStoryboardFile
Main
GIDClientID
diff --git a/App-iOS-Wearable/App-iOS-Wearable/Model/BLE/BluetoothManager.swift b/App-iOS-Wearable/App-iOS-Wearable/Model/BLE/BluetoothManager.swift
index dff4322..7b338ac 100644
--- a/App-iOS-Wearable/App-iOS-Wearable/Model/BLE/BluetoothManager.swift
+++ b/App-iOS-Wearable/App-iOS-Wearable/Model/BLE/BluetoothManager.swift
@@ -10,6 +10,7 @@ import CoreBluetooth
protocol BluetoothManagerDelegate: AnyObject {
func didUpdateConnectionStatus(isConnected: Bool)
func didReceiveData(fromCharacteristic uuid: String, data: String)
+ func didDiscoverPeripherals(peripherals: [CBPeripheral]) // delegado a notificar de dispositivos encontrados
}
class BluetoothManager: NSObject, CBCentralManagerDelegate, CBPeripheralDelegate {
@@ -24,6 +25,7 @@ class BluetoothManager: NSObject, CBCentralManagerDelegate, CBPeripheralDelegate
private var centralManager: CBCentralManager!
private var esp32Peripheral: CBPeripheral?
private var characteristics: [CBUUID: CBCharacteristic] = [:] // variable para almacenar caracterÃsticas encontradas
+ private var discoveredPeripherals: [CBPeripheral] = [] // almacenar dispositivos encontrados
weak var delegate: BluetoothManagerDelegate? // delegado para notificaciones
@@ -59,7 +61,11 @@ class BluetoothManager: NSObject, CBCentralManagerDelegate, CBPeripheralDelegate
// CBCentralManagerDelegate - Detectar y conectar al ESP32
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String: Any], rssi RSSI: NSNumber) {
- if peripheral.name == "ESP32_BLE_Serial" {
+ let deviceName = peripheral.name ?? "Sin nombre"
+ let uuid = peripheral.identifier.uuidString
+ print("Dispositivo detectado: \(deviceName) - UUID: \(uuid)")
+
+ if peripheral.name == "ESP_32_BLE_ITM" {
self.esp32Peripheral = peripheral
self.esp32Peripheral?.delegate = self
centralManager.stopScan()
@@ -118,4 +124,19 @@ class BluetoothManager: NSObject, CBCentralManagerDelegate, CBPeripheralDelegate
esp32Peripheral?.writeValue(data, for: cmdCharacteristic, type: .withResponse)
print("Comando enviado: \(command)")
}
+
+ func searchForDevices() {
+ discoveredPeripherals.removeAll()
+ if centralManager.state == .poweredOn {
+ centralManager.scanForPeripherals(withServices: nil, options: nil)
+ print("Buscando dispositivos BLE...")
+ DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
+ self.centralManager.stopScan()
+ print("Deteniendo escaneo")
+ self.delegate?.didDiscoverPeripherals(peripherals: self.discoveredPeripherals)
+ }
+ } else {
+ print("Bluetooth no esta disponible")
+ }
+ }
}