Python Arduino和PyBluez之间的蓝牙通信

Python Arduino和PyBluez之间的蓝牙通信,python,bluetooth,arduino,bluez,Python,Bluetooth,Arduino,Bluez,我正在尝试使用Python PyBluez在Arduino Uno板(带蓝牙屏蔽)和我的Linux操作系统之间建立蓝牙通信 我已经成功地将我的笔记本电脑与Uno配对。我能够连接到电路板,但是电路板无法读取正在发送的数据,也无法发送数据 这是Arduino的草图 #include <SoftwareSerial.h> #define RxD 0 //receive data on digital 0 #define TxD 1 //transmit on digital 1

我正在尝试使用Python PyBluez在Arduino Uno板(带蓝牙屏蔽)和我的Linux操作系统之间建立蓝牙通信

我已经成功地将我的笔记本电脑与Uno配对。我能够连接到电路板,但是电路板无法读取正在发送的数据,也无法发送数据

这是Arduino的草图

#include <SoftwareSerial.h>

#define RxD 0    //receive data on digital 0
#define TxD 1 //transmit on digital 1

SoftwareSerial blueToothSerial(RxD, TxD);
int counter = 0;
int incoming;
void setup(void){
  Serial.begin(9600);
  //pinMode(RxD,INPUT);
  //pinMode(TxD,OUTPUT);
  setupBlueToothConnection();
}

void setupBlueToothConnection(){
  blueToothSerial.begin(19200);
  blueToothSerial.print("\r\n+STWMOD=0\r\n"); //set the bluetooth work in slave mode
  blueToothSerial.print("\r\n+STNA=SeeedBTSlave\r\n"); //set the bluetooth name as     "SeeedBTSlave"
  blueToothSerial.print("\r\n+STOAUT=1\r\n"); // Permit Paired device to connect me
  //blueToothSerial.print("\r\n+STAUTO=0\r\n"); // Auto-connection should be forbidden here
  delay(2000); // This delay is required.
  blueToothSerial.print("\r\n+INQ=1\r\n"); //make the slave bluetooth inquirable
  Serial.println("The slave bluetooth is inquirable!");
  delay(2000); // This delay is required.
  blueToothSerial.flush();
} 

void loop(){
  if(blueToothSerial.available())
     Serial.println(blueToothSerial.read());
  blueToothSerial.write('x');
}

我有Arduino IDE 1.0.4,我的笔记本电脑正在运行Ubuntu11.10,使用Itade Studio Bluetooth Shield,你必须上传代码,但不附带该屏蔽,然后附加该屏蔽。我很好奇其他蓝牙设备是否也是如此

为了完成,要在您的笔记本电脑和Arduino Uno w/BT shield之间建立通信:

  • 将笔记本电脑与蓝牙屏蔽配对

  • 在分离防护罩的情况下上传Arduino代码

  • 系上防护罩

  • 运行python模块

  • 在itade屏蔽上,当D1 led变为纯绿色时,您知道何时建立连接,而不是闪烁的绿色。

    您的这一行:

    data = sock.recv(1)
    
    可能没有收到足够的字节,请尝试Tim发布的以下信息:

    您能使用Arduino IDE内的串行监视器向Arduino板发送数据或从Arduino板接收数据吗?似乎对我很有用。我在我的Arduino Uno上上传了你的脚本。并执行python脚本。这是结果:
    user@ubuntu:~/$python w.py已连接已发送数据已接收[2]
    。你确定你与Arduino和蓝牙设备有工作连接吗?你使用的是哪个Bth屏蔽:是吗?否,@ton1c是,我可以通过Arduino IDE内的串行监视器发送/接收数据。
    data = sock.recv(1)