public bool Transmit(BluetoothGattCharacteristicModel characteristicModel, byte[] buffer)
        {
            bool result = default;

            if (_gatt.Connect())
            {
                var characteristic = _gatt.GetService(Java.Util.UUID.FromString(characteristicModel.ServiceUuid.ToString()))
                                     .GetCharacteristic(Java.Util.UUID.FromString(characteristicModel.Uuid.ToString()));

                characteristic.SetValue(buffer);

                result = _gatt.WriteCharacteristic(characteristic);
            }

            return(result);
        }
        Task <GattService> DoGetPrimaryService(BluetoothUuid service)
        {
            _servicesDiscoveredHandle.WaitOne();
            ABluetooth.BluetoothGattService nativeService = NativeGatt.GetService(service);

            return(Task.FromResult(nativeService is null ? null : new GattService(Device, nativeService)));
        }
Пример #3
0
        async Task <GattService> PlatformGetPrimaryService(BluetoothUuid service)
        {
            await WaitForServiceDiscovery();

            ABluetooth.BluetoothGattService nativeService = _gatt.GetService(service);

            return(nativeService is null ? null : new GattService(Device, nativeService));
        }
        public bool Transmit(BluetoothGattCharacteristicModel characteristicModel, byte[] buffer)
        {
            /*BluetoothGattCharacteristic characteristic =
             *  new BluetoothGattCharacteristic(UUID.FromString(characteristicModel.Uuid.ToString()),
             *      (Android.Bluetooth.GattProperty)characteristicModel.Properties,
             *      (Android.Bluetooth.GattPermission)characteristicModel.Permissions);*/
            var characteristic = _gatt.GetService(UUID.FromString(characteristicModel.ServiceUuid.ToString()))
                                 .GetCharacteristic(UUID.FromString(characteristicModel.Uuid.ToString()));

            characteristic.SetValue(buffer);

            bool result = _gatt.WriteCharacteristic(characteristic);

            return(result);
        }
        Task <BluetoothRemoteGATTService> DoGetPrimaryService(Guid?service)
        {
            BluetoothGattService nativeService = null;

            _servicesDiscoveredHandle.WaitOne();
            if (service.HasValue)
            {
                nativeService = NativeGatt.GetService(Java.Util.UUID.FromString(service.ToString()));
            }
            else
            {
                foreach (var serv in NativeGatt.Services)
                {
                    if (serv.Type == GattServiceType.Primary)
                    {
                        nativeService = serv;
                        break;
                    }
                }
            }
            return(Task.FromResult(nativeService is null ? null : new BluetoothRemoteGATTService(Device, nativeService)));
        }
        private void GattCallback_ServicesDiscoveredEvent(BluetoothGatt gatt)
        {
            // �󂯎����UUID�ɐڑ����ăL�����N�^���X�e�B�b�N��擾
            var service = gatt.GetService(Java.Util.UUID.FromString(serviceUuid));
            var characteristics = service.Characteristics;

            foreach (var item in characteristics)
            {
                gattCharacteristics.Add(new TableItem {
                    Text1 = "CharacteristicName",
                    Text2 = item.Uuid.ToString(),
                    Text3 = item.Properties.ToString(),
                    Text4 = item.WriteType.ToString() });
                //gattCharacteristics.Add(item.Uuid.ToString());
            }
            //var arry = gattCharacteristics.ToArray();

            // Main Thread�ŏ���������B
            RunOnUiThread(() =>
            {
                //listView.Adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, arry);
                listView.Adapter = new CharacteristicsListAdapter(this, gattCharacteristics);
            });
        }
Пример #7
0
        private void GattCallback_ServicesDiscoveredEvent(BluetoothGatt gatt)
        {
            _gatt = gatt;
            var service = gatt.GetService(Java.Util.UUID.FromString(serviceUuid));
            _characteristics = service.GetCharacteristic(Java.Util.UUID.FromString(characteristic));

            System.Diagnostics.Debug.WriteLine($@"
            {_characteristics.Uuid},
            {_characteristics.Properties},
            {_characteristics.WriteType}
            ");
        }