55 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/python
 | 
						|
 | 
						|
from __future__ import absolute_import, print_function, unicode_literals
 | 
						|
 | 
						|
from optparse import OptionParser, make_option
 | 
						|
import sys
 | 
						|
import time
 | 
						|
import dbus
 | 
						|
import bluezutils
 | 
						|
 | 
						|
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 (len(args) < 1):
 | 
						|
	print("Usage: %s <address> [service]" % (sys.argv[0]))
 | 
						|
	sys.exit(1)
 | 
						|
 | 
						|
# Fix-up in case of "connect" invocation that other scripts use
 | 
						|
if args[0] == "connect":
 | 
						|
	del args[:1]
 | 
						|
 | 
						|
if (len(args) < 2):
 | 
						|
	service = "panu"
 | 
						|
else:
 | 
						|
	service = args[1]
 | 
						|
 | 
						|
device = bluezutils.find_device(args[0], options.dev_id)
 | 
						|
 | 
						|
network = dbus.Interface(bus.get_object("org.bluez", device.object_path),
 | 
						|
						"org.bluez.Network1")
 | 
						|
 | 
						|
iface = network.Connect(service)
 | 
						|
 | 
						|
print("Connected to %s service %s, interface %s" % (args[0], service, iface))
 | 
						|
 | 
						|
print("Press CTRL-C to disconnect")
 | 
						|
 | 
						|
try:
 | 
						|
	time.sleep(1000)
 | 
						|
	print("Terminating connection")
 | 
						|
except:
 | 
						|
	pass
 | 
						|
 | 
						|
network.Disconnect()
 |