#!/usr/bin/python import sys import time import dbus from optparse import OptionParser, make_option bus = dbus.SystemBus() manager = dbus.Interface(bus.get_object("org.bluez", "/"), "org.bluez.Manager") option_list = [ make_option("-i", "--device", action="store", type="string", dest="dev_id"), ] parser = OptionParser(option_list=option_list) (options, args) = parser.parse_args() if options.dev_id: adapter_path = manager.FindAdapter(options.dev_id) else: adapter_path = manager.DefaultAdapter() adapter = dbus.Interface(bus.get_object("org.bluez", adapter_path), "org.bluez.Adapter") if (len(args) < 1): print "Usage: %s <address> [service]" % (sys.argv[0]) sys.exit(1) address = sys.argv[0] if (len(args) < 2): service = "spp" else: service = args[1] path = adapter.FindDevice(address) serial = dbus.Interface(bus.get_object("org.bluez", path), "org.bluez.Serial") node = serial.Connect(service) print "Connected %s to %s" % (node, address) print "Press CTRL-C to disconnect" try: time.sleep(1000) print "Terminating connection" except: pass serial.Disconnect(node)