private async Task <string> InterrogateForSerial(IDevice device) { string serial = ""; try { await _ble.ConnectToDevice(device); var diService = await device.GetService(AxLEUuid.DeviceInformationServiceUuid); var snCharac = await diService.GetCharacteristic(AxLEUuid.SerialNumberCharacUuid); var serialBytes = await snCharac.Read(); serial = Encoding.UTF8.GetString(serialBytes); } catch (Exception ex) { Console.WriteLine($"UNABLE TO CONNECT TO DEVICE: {ex}"); } try { // May cause issues with multiple devices if you don't disconnect after each interrogation. await _ble.DisconnectDevice(device); } catch (Exception ex) { Console.WriteLine($"UNABLE TO DISCONNECT: {ex}"); } return(serial); }