public override async void Connect() { //try //{ var q = new RequestDeviceQuery(); //q.Filters.Add(new Filter() { Name = "WowWee-MiP-27244" }); q.Filters.Add(new Filter() { Name = "Miposaur-17704" }); q.OptionalServices.Add("battery_service"); q.OptionalServices.Add(WriteServiceGuid); //Write service q.OptionalServices.Add(ReadServiceGuid); //Read service try { Device = await Navigator.RequestDeviceAsync(q); Console.WriteLine(Device); await Device.SetupNotifyAsync(ReadServiceGuid, ReadCharacteristicGuid); Device.Notification += Value_Notification; base.Connect(); } catch { } }
public async Task <Device> RequestDeviceAsync(RequestDeviceQuery query) { string json = JsonConvert.SerializeObject(query, Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); var module = await moduleTask.Value; var device = await module.InvokeAsync <Device>("requestDevice", json); device.InitDevice(this); return(device); }
public async Task <Device> RequestDeviceAsync(RequestDeviceQuery query, CancellationToken cancellationToken = default) { await setDotNetRefAsync(cancellationToken); var jsonQuery = JsonConvert.SerializeObject(query, Formatting.None, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore }); var module = await _moduleTask.Value; var newDevice = await module.InvokeAsync <Device>("WebBluetoothFunctions.RequestDevice", cancellationToken, jsonQuery); if (newDevice != null) { connectedDevices.Add(newDevice); OnDeviceConnected?.Invoke(newDevice); } return(newDevice); }
public override async void Connect() { //try //{ var q = new RequestDeviceQuery(); //q.Filters.Add(new Filter() { Name = "WowWee-MiP-27244" }); q.Filters.Add(new Filter() { Name = "Miposaur-17704" }); q.OptionalServices.Add("battery_service"); q.OptionalServices.Add("0000ffe5-0000-1000-8000-00805f9b34fb"); //Send service q.OptionalServices.Add("0000ffe0-0000-1000-8000-00805f9b34fb"); //Recive service ////query = { filters: [{ name: 'WowWee-MiP-27244' }], optionalServices: ['battery_service', '0000ffe5-0000-1000-8000-00805f9b34fb','0000ffe0-0000-1000-8000-00805f9b34fb'] }; try { Device = await Navigator.RequestDeviceAsync(q); Console.WriteLine(Device); var serviceGuid = "0000ffe0-0000-1000-8000-00805f9b34fb"; var characteristicGuid = "0000ffe4-0000-1000-8000-00805f9b34fb"; await Navigator.SetupNotifyAsync(Device.Id, serviceGuid, characteristicGuid); Navigator.Notification += Value_Notification; //CharacteristicsNotify = await Device.SetUpNotifyAsync(serviceGuid, characteristicGuid); //CharacteristicsNotify.ValueChanged += CharacteristicsNotify_ValueChanged; //} //catch { } base.Connect(); } catch { } }