在从第二个终端配对后的PiTooth.py程序中,另一个终端中的程序仍在等待连接"

时间:2016-01-22 07:28:46

标签: linux bluetooth

我跟着this tutorial模仿我的Raspberry pi模型B作为蓝牙键盘。我能够在搜索连接时将pi识别为键盘。 配对部分工作正常,我使用以下命令进行配对:

sudo blue-simple-agent hci0 <mac address>

本教程要求在一个终端中运行PiTooth代码,它将初始化所需的端口(控制和中断端口),读取SDP记录,通告sdp记录,它将监听控制和中断端口中的连接。然后打开另一个终端并使用上面的命令与客户端配对。 它正在配对,但它没有反映在另一个终端,它仍然像等待连接。以下是python代码中侦听连接和连接的部分:

class Bluetooth:
 HOST = 0 # BT Mac address
 PORT = 1 # Bluetooth Port Number...
 def listen(self):
      # Advertise our service record
      self.service_handle = self. service.AddRecord(self.service_record)
      print “Service record added”
      # Start listening on the server sockets
      self.scontrol.listen(1) # Limit of 1 connection
      self.sinterrupt.listen(1)
      print “Waiting for a connection”
      self.ccontrol, self.cinfo = self.scontrol.accept()
      print “Got a connection on the control channel from “ + self.cinfo[Bluetooth.HOST]
      self.cinterrupt, self.cinfo = self.sinterrupt.accept()
      print “Got a connection on the interrupt channel from “ + self.cinfo[Bluetooth.HOST]

整个代码真的很大,我不想扩大问题。请查看此google doc以获取代码: https://docs.google.com/document/d/1hEyprvN1MyFqyczL9Qh07_-pJjRvBIEkomiJhLHcXiQ/edit?usp=sharing

任何人都可以帮我解决这个问题。或者代码有什么问题。有没有其他方法来监听连接。

1 个答案:

答案 0 :(得分:3)

问题已解决。实际上这是一个开箱即用的解决方案。问题出在operating power of the pi上。 pi由笔记本电脑的USB端口供电,电压约为4.4V。 USB端口通常仅提供500 mA,5 V. Raspberry pi需要约4.75至5.25V的电压源和700至1000 mA范围内的电流,以获得最佳性能。确切地说,Raspberry Pi需要多少电流(mA)取决于您连接到它的内容。关于电源的reference。我只是更改了源{I} fetched power via a 1000 mA 5v adapter并检查了pi中的电压,它大约是4.64V并且工作正常。