Hola !
Hace ya varios meses que no pruebo ni escribo nada sobre BlueTooth Low Energy. Creo que lo último que escribí fueron mis posts sobre desarrollo para los smartwatchs deportivos Garmin.
Si bien trabajar con devices BlueTooth Low Energy es algo común con iOS y Android, con Windows era un tanto complicado. En un nivel más abstracto, podiamos usar Xamarin con Monkey Robotics como plataforma común, pero claro, lo mejor era implementar código nativo en cada plataforma.
Hace unos días me entero de que Adrian Secelenau (xabre), ha liberado un package de Xamarin BLE basado en Monkey Robotics, que podría considerarse version 1.0: Xamarin BlueTooth LE.
La verdad es que es bastante simple de utilizar y soporta las 4 cosas fundamentales para trabajar con BlueTooth
- Verificar el estado de BLE
- Descubrir, conectar y desconectar con BLE devices
- Descubrir servicios y características de cada BLE device
- Interactuar (leer y escribir) con estas características
Por ejemplo, si creamos un projecto de Xamarin de ejemplo, veremos que podemos agregar este paquete en 2 pasos.
Además como vemos en la imagen anterior tambíen tenemos soporte para MvvmCross, que sé que es algo que pondrá felices a los más frikis de Mvvm como Javi Suarez (@jsuarezruiz), Josue Yeray (@josueYeray).
Pues bíen, seguramente más adelante pueda migrar / escribir algún ejemplo más completo para probar el package en profundidad, por ahora puedo decir que la implementación es bastante limpia y que los ejemplos de código son muy útiles. Por ejemplo, aquí podemos ver lo simple que es acceder al BLE local, verificar el estado del mismo y suscribirse al evento DeviceDiscovered().
Saludos @ Toronto
El Bruno
References
- El Bruno, My posts on BlueTooth Low Energy
- El Bruno, My posts on Garmin SDK
- GitHub, Monkey Robotics
- GitHub, Xamarin BlueTooth LE