| #!/usr/bin/python |
| |
| import sys |
| import dbus |
| import time |
| |
| bus = dbus.SystemBus() |
| |
| manager = dbus.Interface(bus.get_object("org.bluez", "/"), "org.bluez.Manager") |
| |
| adapter = dbus.Interface(bus.get_object("org.bluez", manager.DefaultAdapter()), |
| "org.bluez.Adapter") |
| |
| if (len(sys.argv) < 2): |
| print "Usage: %s <command>" % (sys.argv[0]) |
| print "" |
| print " address" |
| print " name [name]" |
| print " mode [mode]" |
| print " requestmode <mode>" |
| print " discoverabletimeout [timeout]" |
| print " periodicdiscovery [on/off]" |
| print " addservicerecord <file>" |
| sys.exit(1) |
| |
| if (sys.argv[1] == "address"): |
| properties = adapter.GetProperties() |
| print properties["Address"] |
| sys.exit(0) |
| |
| if (sys.argv[1] == "name"): |
| if (len(sys.argv) < 3): |
| properties = adapter.GetProperties() |
| print properties["Name"] |
| else: |
| adapter.SetProperty("Name", sys.argv[2]) |
| sys.exit(0) |
| |
| if (sys.argv[1] == "mode"): |
| if (len(sys.argv) < 3): |
| properties = adapter.GetProperties() |
| print properties["Mode"] |
| else: |
| adapter.SetProperty("Mode", sys.argv[2]) |
| sys.exit(0) |
| |
| if (sys.argv[1] == "requestmode"): |
| if (len(sys.argv) < 3): |
| print "Need mode parameter" |
| else: |
| adapter.RequestMode(sys.argv[2]) |
| sys.exit(0) |
| |
| if (sys.argv[1] == "discoverabletimeout"): |
| if (len(sys.argv) < 3): |
| properties = adapter.GetProperties() |
| print properties["DiscoverableTimeout"] |
| else: |
| adapter.SetProperty("DiscoverableTimeout", sys.argv[2]) |
| sys.exit(0) |
| |
| if (sys.argv[1] == "periodicdiscovery"): |
| if (len(sys.argv) < 3): |
| properties = adapter.GetProperties() |
| print properties["PeriodicDiscovery"] |
| else: |
| if (sys.argv[2] == "on"): |
| value = dbus.Boolean(1) |
| elif (sys.argv[2] == "off"): |
| value = dbus.Boolean(0) |
| else: |
| value = dbus.Boolean(sys.argv[2]) |
| adapter.SetProperty("PeriodicDiscovery", value) |
| time.sleep(120) |
| sys.exit(0) |
| |
| if (sys.argv[1] == "addservicerecord"): |
| if (len(sys.argv) < 3): |
| print "Need file parameter" |
| else: |
| f = open(sys.argv[2]) |
| record = f.read() |
| f.close() |
| handle = adapter.AddServiceRecord(record) |
| print "0x%x" % (handle) |
| time.sleep(120) |
| sys.exit(0) |
| |
| print "Unknown command" |
| sys.exit(1) |