[#VS2013] HowTo: Listar los devices #bluetooth registrados usando #32feet.net

Hola!

Alguna que otra vez expliqué como listar y conectarnos con un dispositivo Bluetooth. Ahora que hay tantos devices que usan BLE, era hora de que vuelva a revisar estas rutinas y vea si es posible mejorar las mismas.

Antes de ponerme a reescribir código hice una búsqueda en Bing y me encontré con una biblioteca genial para trabajar con Bluetooth, IR, etc. 32feet.net.

La verdad es que resuelve asi todos los problemas que estaba teniendo y me permite centrarme únicamente en la transimisión de datos (ojo, WP8.1 ha mejorado pero sigue siendo una castaña para devices bluetooth).

Un ejemplo de esto es las siguiente líneas que listan los bluettoth devices registrados en Windows

   1: using System;

   2: using InTheHand.Net.Sockets;

   3:  

   4: namespace ConsoleApplication1

   5: {

   6:     class Program

   7:     {

   8:         static void Main()

   9:         {

  10:             var bluetoothClient = new BluetoothClient();

  11:             var devices = bluetoothClient.DiscoverDevices();

  12:             Console.WriteLine("Bluetooth devices");

  13:             foreach (var device in devices)

  14:             {

  15:                 var blueToothInfo =

  16:                     string.Format(

  17:                         "- DeviceName: {0}{1}  Connected: {2}{1}  Address: {3}{1}  Last seen: {4}{1}  Last used: {5}{1}",

  18:                         device.DeviceName, Environment.NewLine, device.Connected, device.DeviceAddress, device.LastSeen,

  19:                         device.LastUsed);

  20:                 

  21:                 blueToothInfo += string.Format("  Class of device{0}   Device: {1}{0}   Major Device: {2}{0}   Service: {3}", 

  22:                     Environment.NewLine, device.ClassOfDevice.Device, device.ClassOfDevice.MajorDevice, 

  23:                     device.ClassOfDevice.Service) ;

  24:                 Console.WriteLine(blueToothInfo);

  25:                 Console.WriteLine();

  26:             }

  27:             Console.ReadLine();

  28:         }

  29:     }

  30: }

 

La app en ejecucion nos da información como la que muestro en la siguiente imagen.

image

Bluetooth devices
– DeviceName: EV3
  Connected: False
  Address: 0016534394A7
  Last seen: 4/21/2014 3:23:57 PM
  Last used: 4/20/2014 8:56:03 PM
  Class of device
   Device: ToyRobot
   Major Device: Toy
   Service: None
– DeviceName: Pebble C93D
  Connected: False
  Address: 0017E963C93D
  Last seen: 4/21/2014 3:23:57 PM
  Last used: 4/21/2014 2:05:34 PM
  Class of device
   Device: WearableWristWatch
   Major Device: Wearable
   Service: ObjectTransfer, Audio, Telephony, Information

 

Además de ser una excelente coleccion de funcionalidades es posible instalar la misma utilizando NuGet y con soporte para Windows Phone tambien.

image

Ahora me toca refactorizar un poco de código para que el mismo se adapte a 32feet.net y ver si todo sigue funcionando.

HomePage: http://32feet.codeplex.com/

Por cierto, que la gente de pebble no soporte Windows como plataforma de desarrollo, es un dato que asusta Open-mouthed smile

Saludos @ Home

El Bruno

image image image Google