Exemple #1
0
    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);
    }
Exemple #3
0
        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 { }
        }