blob: f6dbd6c1d4651411c34afcd361f39b43875338f0 [file] [log] [blame]
#!/usr/bin/python
import sys
import time
import dbus
import socket
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 <socket_name> [service]" % (sys.argv[0])
sys.exit(1)
socket_name = args[0]
if (len(args) < 2):
service = "spp"
else:
service = args[1]
sk = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
sk.bind(socket_name)
sk.listen(1)
proxy_manager = dbus.Interface(bus.get_object("org.bluez", adapter_path),
"org.bluez.SerialProxyManager")
proxy_path = proxy_manager.CreateProxy(service, socket_name)
proxy = dbus.Interface(bus.get_object("org.bluez", proxy_path),
"org.bluez.SerialProxy")
proxy.Enable()
conn, addr = sk.accept()
print "Waiting for message"
while 1:
data = conn.recv(1024)
if data:
print(data)
break
proxy.Disable()
proxy_manager.RemoveProxy(proxy_path)
conn.close()