Я пытаюсь отправить строку с Raspberry Pi на телефон Android с помощью Bluetooth.Я могу подключить два устройства, но у меня возникают проблемы с получением данных на телефон.Вот мой код Python на Raspberry Pi с использованием Pybluez:
from bluetooth import *
import time
server_sock=BluetoothSocket( RFCOMM )
server_sock.bind(("",PORT_ANY))
server_sock.listen(1)
port = server_sock.getsockname()[1]
uuid = "00001101-0000-1000-8000-00805F9B34FB"
advertise_service( server_sock, "SampleServer",
service_id = uuid,
service_classes = [ uuid, SERIAL_PORT_CLASS ],
profiles = [ SERIAL_PORT_PROFILE ],#,
# protocols = [ OBEX_UUID ]
)
print ("Waiting for connection on RFCOMM channel %d" % port)
client_sock, client_info = server_sock.accept()
print ("Accepted connection from ", client_info)
while True:
try:
print("Preparing to send data\n")
server_sock.send("This is a test of the android raspberry pi Bluetooth Connection\n")
print("Data sent\n")
time.sleep(0.5)
except IOError:
pass
print ("disconnected")
client_sock.close()
server_sock.close()
print ("all done")
, а вот часть моего кода для Android, где я хочу получать данные:
package com.wjcparkinson.bluetoothtest;
import android.bluetooth.BluetoothSocket;
import android.util.Log;
import java.io.IOException;
import java.io.InputStream;
public class InputDataReader extends Thread{
private static final String TAG = "Data Input Tag";
private final InputStream inStream;
private final BluetoothSocket socket;
public InputDataReader(BluetoothSocket tmpSocket){
socket = tmpSocket;
InputStream tmpIn = null;
try{
tmpIn = socket.getInputStream();
} catch(IOException e){
Log.e(TAG,"Error occurred creating input stream",e);
}
inStream = tmpIn;
}
public void run(){
//Receive data from pi and put into string format here.
}
Это то, чтоЯ получаю, когда программа запускается на пи:
pi@BIKE_SENSOR_SYSTEM:~ $ sudo python Bluetest.py
Waiting for connection on RFCOMM channel 1
('Accepted connection from ', ('9C:5C:F9:5B:15:8A', 1))
Каков наилучший метод для воссоздания строки, отправленной с Raspberry Pi на устройстве Android?