Я хотел бы установить соединение Bluetooth с устройства Android с малиной Pi без спаривания. Язык, используемый в RPi, - это Python. Я использую createInsecureRfcommSocketToServiceRecord
с Android.Небезопасное соединение rfcomm в Python
Однако соединение устанавливается только при соединении двух устройств. Есть ли эквивалент listenUsingInsecureRfcommWithServiceRecord
в Python?
Raspberry Pi код
server_sock=BluetoothSocket(RFCOMM)
server_sock.bind(("",PORT_ANY))
server_sock.listen(1)
port = server_sock.getsockname()[1]
uuid = "f3c74f47-1d38-49ed-8bbc-0369b3eb277c"
advertise_service(server_sock, "AquaPiServer",
service_id = uuid,
service_classes = [ uuid, SERIAL_PORT_CLASS ],
profiles = [ SERIAL_PORT_PROFILE ],
)
client_sock, client_info = server_sock.accept()
print "Accepted connection from ", client_info
Android код
BluetoothDevice device = blueAdapter.getRemoteDevice(RPi_MAC);
BluetoothSocket socket = device.createInsecureRfcommSocketToServiceRecord(UUID.fromString("f3c74f47-1d38-49ed-8bbc-0369b3eb277c"));
blueAdapter.cancelDiscovery();
socket.connect();
Я не считаю, что это невозможно обойтись без сопряжения. Процесс сопряжения Bluetooth - это то, что разрешает двум устройствам общаться. – davidgyoung
Мне любопытно, почему это невозможно, так как небезопасный rfcomm отлично работает в Android. Это ограничение Малины Пи? – deadpool