python - For bluetooth connection using PyBluez, socket connection is not getting accepted even after pairing -
i have raspberry pi model b booted rasbian os , bluetooth dongle plugged it. able discover pi when searching pc , able pair using blueman gui. python program using pairing process:
from bluetooth import * server_sock=bluetoothsocket(l2cap) server_sock.bind(("", 17)) open(sys.path[0] + "/sdp_record.xml", "r") fh: service_record = fh.read() self.bus = dbus.systembus() self.manager = dbus.interface(self.bus.get_object("org.bluez", "/"),"org.bluez.manager") adapter_path = self.manager.defaultadapter() self.service = dbus.interface(self.bus.get_object("org.bluez",adapter_path), "org.bluez.service") service_handle = service.addrecord(service_record) print "service record added" server_sock.listen(1) print("waiting connection on l2cap") try: client_sock, client_info = server_sock.accept() print("accepted connection ", client_info) while true: data = client_sock.recv(1024) if len(data) == 0: break print("received [%s]" % data) except ioerror: pass except keyboardinterrupt: print "stopping..." stop_advertising(server_sock) sys.exit() print("disconnected") client_sock.close() server_sock.close() print("all done")
i have working sdp record, being read , added sdp server. @ first when posted question got error:
traceback (most recent call last): file "pytest.py", line 4, in <module> server_sock.bind(("", 17)) file "/usr/lib/python2.7/dist-packages/bluetooth/bluez.py", line 140, in bind return self._sock.bind (addrport) _bluetooth.error: (13, 'permission denied')
this because bluetooth needs root privileges. ran python code using sudo python code.py
, error resolved. guys answered.
now problem is, socket connection not getting accepted after pairing. pairing, run code in 1 terminal , when waiting connection on l2cap
, open console , pair pi computer using command sudo bluez-simple-agent hci0 computers_macaddress
, getting paired after entering pin in both pi , computer. after pairing, code still waiting connection:
service record added waiting connection on l2cap
it seems looping @ server_sock.accept() function.
can give solution?
i faced same kind of issue. problem operating power of pi. usb ports provide 500 ma, 5 v
. raspberry pi need voltage source of 4.75 5.25v
, current in range of 700 1000 ma
optimum performance. how current (ma) raspberry pi requires dependent on connect it. try changing source, fetch power via 1000 ma 5v adapter. let me know if worked.
Comments
Post a Comment