我正在使用kivy +蓝牙插座。
当我从蓝牙接收数据时,bufferedreader.read()方法有效。 但bufferedreader.readLine()方法将无法正常工作..
def change_data(self):
Logger.info('Im in the change_data!!')
self.data = 'change_data'
paired_devices = BluetoothAdapter.getDefaultAdapter().getBondedDevices().toArray()
if BluetoothAdapter.isEnabled() == False:
Logger.info('bluetooth not turned on')
PythonActivity.mActivity.startActivityForResult(Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE), 200)
else:
pass
for device in paired_devices:
self.data = str(device.getName())
Logger.info('Im in the loop!!'+str(device))
if device.getName() == 'HC-06':
self.socket = device.createRfcommSocketToServiceRecord(UUID.fromString('00001101-0000-1000-8000-00805F9B34FB'))
break
if self.socket == None:
pass
else:
self.data = 'connecting'
self.socket.connect()
def read(self,dt):
self.recv = BufferedReader(InputStreamReader(self.socket.getInputStream()))
self.data =self.recv.read()
def start(self):
self.change_data()
Clock.schedule_interval(self.read,1)
答案 0 :(得分:0)
readLine读取IO需要数据以\ r \ n结尾,蓝牙发送数据需要添加结束标记\ r \ n