首先是上下文:我想通过蓝牙连接发送一些数据。 要做到这一点,我想使用Python 3.6,因为我使用这种编程语言编写了算法的其余部分。我在基于Debian Jessie的Raspbian Jessie lite用于覆盆子pi上使用它。 问题是当我使用这段代码时:
import socket
hostMACAddress = 'xx:xx:xx:xx:xx:xx' # The MAC address of a Bluetooth adapter on the server
port = 3
backlog = 1
size = 1024
s=socket.socket(socket.AF_BLUETOOTH,socket.SOCK_STREAM,socket.BTPROTO_RFCOMM)
s.bind((hostMACAddress,port))
s.listen(backlog)
try:
client, address = s.accept()
while 1:
data = client.recv(size)
if data:
print("data")
client.send(data)
except:
print("Closing socket")
client.close()
s.close()
此错误如下所示:
Traceback (most recent call last):
File "TestSocket.py", line 5, in <module>
s =socket.socket(socket.AF_BLUETOOTH, socket.SOCK_STREAM, socket.BTPROTO_RFCOMM)
AttributeError: module 'socket' has no attribute 'AF_BLUETOOTH'
我在一个网站上使用它,表明它对Python 3.3及更高版本的功能。 它很复杂,因为没有这个属性,我不知道如何使用套接字模块建立蓝牙连接并正确发送数据。 我不是Python的专家,所以欢迎任何帮助或Debian发行版。 Thinx适合你的时间,抱歉任何语法错误或拼写错误英语不是我的母语。
答案 0 :(得分:2)
Raspbian安装了两个Python版本,2.7&amp; 3.4。
Python 2.7是默认值,因此在命令提示符下键入python script.py
将针对Python 2.7运行脚本
如果您使用python3 script.py
,您应该会发现您的脚本有效
另请注意,Raspbian Jessie的最新Python版本为3.4