示例#1
0
文件: demo.py 项目: rdub/bt-manager
def device_info(args):
    if (len(args)):
        dev_path = args.pop(0)
    else:
        print 'Error: Must specify device path'
        return

    try:
        device = bt_manager.BTDevice(dev_path=dev_path)
        print '========================================================='
        print device
        print '========================================================='
        cod = bt_manager.BTCoD(device.Class)
        print 'Vendor Name:', bt_manager.VENDORS.get(device.Vendor, 'Unknown')
        print 'Device Class:', hex(device.Class)
        print 'Major Service Class:', str(cod.major_service_class)
        print 'Major Device Class:', str(cod.major_device_class)
        print 'Minor Device Class:', str(cod.minor_device_class)
        print '========================================================='
        uuids = device.UUIDs
        for i in uuids:
            uuid = bt_manager.BTUUID(i)
            print bt_manager.SERVICES.get(uuid.uuid16, uuid)
        print '========================================================='
    except dbus.exceptions.DBusException:
        print 'Unable to complete:', sys.exc_info()
    def run(self):
        while self.connected_socket is not None:
            data = self.connected_socket.recv(1024)
            print "Printing sent Data: ", data

            if data == "start_pairing":
                self.commands.pair_device()
                pass

            if data == "start_discovery":
                self.commands.start_discovery()
                pass

            if data == "stop_discover":
                self.commands.stop_discovery()
                pass

            if data == "request_device_list":
                self.commands.list_paired_devices()
                pass

            if data == "set_default_device":
                device = bt_manager.BTDevice(
                    self.adapter.find_device(self.connected_client_address))
                self.config.SetDefaultBluetoothDevice(device)
                pass

            if data == "get_default_device":
                self.connected_socket.send(
                    self.config.GetDefaultBluetoothDevice())

            if data == "quit_connection":
                self.connected_socket.close()
                self.connected_socket = None
示例#3
0
def on_device_found(address, properties):
    adapter.stop_discovery()

    caps = 'NoInputNoOutput'
    path = '/test/agent'

    agent = bt_manager.BTAgent(path=path)
    adapter.create_paired_device(address, path, caps)

    bluetoothConfig.SetDefaultBluetoothDevice(
        bt_manager.BTDevice(adapter.find_device(address)))
示例#4
0
文件: demo.py 项目: rdub/bt-manager
def device_disconnect(args):
    if (len(args)):
        dev_path = args.pop(0)
    else:
        print 'Error: Must specify device path'
        return

    try:
        device = bt_manager.BTDevice(dev_path=dev_path)
        device.disconnect()
    except dbus.exceptions.DBusException:
        print 'Unable to complete:', sys.exc_info()
示例#5
0
文件: demo.py 项目: rdub/bt-manager
def device_set(args):
    if (len(args) >= 2):
        dev_path = args.pop(0)
        name = args.pop(0)
        value = args.pop(0)
    else:
        print 'Error: Requires device path, property name and value'
        return

    try:
        device = bt_manager.BTDevice(dev_path=dev_path)
        device.set_property(name, value)
    except dbus.exceptions.DBusException:
        print 'Unable to complete:', sys.exc_info()
示例#6
0
文件: demo.py 项目: rdub/bt-manager
def device_discovery(args):
    if (len(args)):
        dev_path = args.pop(0)
    else:
        print 'Error: Must specify device path'
        return

    try:
        device = bt_manager.BTDevice(dev_path=dev_path)
        discovery = device.discover_services()
        if (discovery):
            for rec in discovery.keys():
                print '========================================================='  # noqa
                print bt_manager.BTDiscoveryInfo(discovery[rec])
        print '========================================================='
    except dbus.exceptions.DBusException:
        print 'Unable to complete:', sys.exc_info()
示例#7
0
文件: demo.py 项目: rdub/bt-manager
def device_get(args):
    if (len(args)):
        dev_path = args.pop(0)
        if (len(args)):
            name = args.pop(0)
        else:
            name = None
    else:
        print 'Error: Requires device path'
        return

    try:
        device = bt_manager.BTDevice(dev_path=dev_path)
        print '========================================================='
        print device.get_property(name=name)
    except dbus.exceptions.DBusException:
        print 'Unable to complete:', sys.exc_info()
示例#8
0
def device_listen(args):
    if (len(args)):
        dev_path = args.pop(0)
    else:
        print 'Error: Requires device path'
        return

    global services

    try:
        device = bt_manager.BTDevice(dev_path=dev_path)
        device.add_signal_receiver(dump_signal,
                                   bt_manager.BTDevice.SIGNAL_PROPERTY_CHANGED,
                                   None)
        services[dev_path] = device
    except dbus.exceptions.DBusException:
        print 'Unable to complete:', sys.exc_info()
 def GetDefaultBluetoothDevice(self):
     device = None
     if self.config.has_section(self.default_bluetooth_device):
         address = self.config.get(self.default_bluetooth_device, 'address')
         device = bt_manager.BTDevice(self.adapter.find_device(address))
     return device