func (handle *blob) ReadValue() ([]byte, error) {
	var data []byte
	err := handle.callv("ReadValue", Properties{}).Store(&data)
	return data, err
}
ReadValue reads the handle's value.
package ble
const (
	GATTMTU = 20
	serviceInterface        = "org.bluez.GattService1"
	characteristicInterface = "org.bluez.GattCharacteristic1"
	descriptorInterface     = "org.bluez.GattDescriptor1"
)
func (conn *Connection) findGattObject(iface string, uuid string) (*blob, error) {
	return conn.findObject(iface, func(desc *blob) bool {
		return desc.UUID() == uuid
	})
}
type GattHandle interface {
	BaseObject
	UUID() string
}
func (handle *blob) UUID() string {
	return handle.properties["UUID"].Value().(string)
}
type Service interface {
	GattHandle
}
func (conn *Connection) GetService(uuid string) (Service, error) {
	return conn.findGattObject(serviceInterface, uuid)
}
type ReadWriteHandle interface {
	GattHandle
	ReadValue() ([]byte, error)
	WriteValue([]byte) error
}