1 #!/usr/bin/python 2 3 import sys 4 import dbus 5 import time 6 7 bus = dbus.SystemBus() 8 9 manager = dbus.Interface(bus.get_object("org.bluez", "/"), "org.bluez.Manager") 10 11 adapter = dbus.Interface(bus.get_object("org.bluez", manager.DefaultAdapter()), 12 "org.bluez.Adapter") 13 14 if (len(sys.argv) < 2): 15 print "Usage: %s <command>" % (sys.argv[0]) 16 print "" 17 print " address" 18 print " name [name]" 19 print " powered [on/off]" 20 print " pairable [on/off]" 21 print " pairabletimeout [timeout]" 22 print " discoverable [on/off]" 23 print " discoverabletimeout [timeout]" 24 print " discovering" 25 sys.exit(1) 26 27 if (sys.argv[1] == "address"): 28 properties = adapter.GetProperties() 29 print properties["Address"] 30 sys.exit(0) 31 32 if (sys.argv[1] == "name"): 33 if (len(sys.argv) < 3): 34 properties = adapter.GetProperties() 35 print properties["Name"] 36 else: 37 adapter.SetProperty("Name", sys.argv[2]) 38 sys.exit(0) 39 40 if (sys.argv[1] == "powered"): 41 if (len(sys.argv) < 3): 42 properties = adapter.GetProperties() 43 print properties["Powered"] 44 else: 45 if (sys.argv[2] == "on"): 46 value = dbus.Boolean(1) 47 elif (sys.argv[2] == "off"): 48 value = dbus.Boolean(0) 49 else: 50 value = dbus.Boolean(sys.argv[2]) 51 adapter.SetProperty("Powered", value) 52 sys.exit(0) 53 54 if (sys.argv[1] == "pairable"): 55 if (len(sys.argv) < 3): 56 properties = adapter.GetProperties() 57 print properties["Pairable"] 58 else: 59 if (sys.argv[2] == "on"): 60 value = dbus.Boolean(1) 61 elif (sys.argv[2] == "off"): 62 value = dbus.Boolean(0) 63 else: 64 value = dbus.Boolean(sys.argv[2]) 65 adapter.SetProperty("Pairable", value) 66 sys.exit(0) 67 68 if (sys.argv[1] == "pairabletimeout"): 69 if (len(sys.argv) < 3): 70 properties = adapter.GetProperties() 71 print properties["PairableTimeout"] 72 else: 73 timeout = dbus.UInt32(sys.argv[2]) 74 adapter.SetProperty("PairableTimeout", timeout) 75 sys.exit(0) 76 77 if (sys.argv[1] == "discoverable"): 78 if (len(sys.argv) < 3): 79 properties = adapter.GetProperties() 80 print properties["Discoverable"] 81 else: 82 if (sys.argv[2] == "on"): 83 value = dbus.Boolean(1) 84 elif (sys.argv[2] == "off"): 85 value = dbus.Boolean(0) 86 else: 87 value = dbus.Boolean(sys.argv[2]) 88 adapter.SetProperty("Discoverable", value) 89 sys.exit(0) 90 91 if (sys.argv[1] == "discoverabletimeout"): 92 if (len(sys.argv) < 3): 93 properties = adapter.GetProperties() 94 print properties["DiscoverableTimeout"] 95 else: 96 timeout = dbus.UInt32(sys.argv[2]) 97 adapter.SetProperty("DiscoverableTimeout", timeout) 98 sys.exit(0) 99 100 if (sys.argv[1] == "discovering"): 101 properties = adapter.GetProperties() 102 print properties["Discovering"] 103 sys.exit(0) 104 105 print "Unknown command" 106 sys.exit(1) 107