当我运行树莓PI程序将数据发送到Arduino的它正常工作,但突然停止发送数据,并返回一个错误蓝牙错误(11,资源暂时不可用)
错误消息“
socket.send('0')
bluetooth error(11,resource are temporarily unavailable)
这个计划的目的是送0的Arduino Arduino的,如果收到0蜂鸣器不会报警否则就报警..for2分钟所有的事情进展顺利,但突然蜂鸣器报警,但2蓝牙“圆周率”和“Arduino的”仍连接没有断开。
我海rch的错误,并找到它是因为在pi中的缓冲区已满,它变成块,但我不能解决任何人都可以帮助我的问题? 谢谢。
这里是代码
import bluetooth
import time
bd_addr = "98:D3:31:FB:19:AF"
port = 1
sock = bluetooth.BluetoothSocket (bluetooth.RFCOMM)
sock.connect((bd_addr,port))
while 1:
sock.send("0")
time.sleep(2)
sock.close()
Arduino的代码
#include <SoftwareSerial.h>
SoftwareSerial bt (5,6);
int LEDPin = 13; //LED PIN on Arduino
int btdata; // the data given from the computer
void setup() { bt.begin(9600); pinMode (LEDPin, OUTPUT); }
void loop() {
if (bt.available()) {
btdata = bt.read();
if (btdata == '1') {
//if 1
digitalWrite (LEDPin,HIGH);
bt.println ("LED OFF!");
}
else {
//if 0
digitalWrite (LEDPin,LOW);
bt.println ("LED ON!");
}
} else { digitalWrite(LEDPin, HIGH);
delay (100); //prepare for data
}
}
我做到这一点,但仍然有同样的错误一些minutes..i试图0.5或0.2或0.01或0.001后,但错误依然发生 –
我修改回答让你的代码更具韧性 –
不幸的是,2分钟后蜂鸣器停止而蜂鸣器开始报警,现在蜂鸣器闪烁(pep一次),持续2分钟后报警。 –