Я пытаюсь настроить сервер Bluetooth на Mindstorm EV3, используя ev3dev с python.
Сервер работает нормально, поскольку это очень простая реализация сокета сервера Bluetooth.
#!/usr/bin/env python3
import bluetooth
from ev3dev2.sound import Sound
sound = Sound()
server_sock = bluetooth.BluetoothSocket(bluetooth.RFCOMM)
port = 1
server_sock.bind(("", port))
server_sock.listen(1)
sound.speak("Accepting connections on port " + str(port))
client_sock, address = server_sock.accept()
sound.speak("Accepted connection from " + str(address))
data = client_sock.recv(1024)
sound.speak("received " + str(data))
client_sock.close()
server_sock.close()
Проблема, с которой я столкнулся прямо сейчас, заключается в том, что я не могу обнаружить сигнал Bluetooth от EV3 в моем приложении flutter. Я могу найти другие устройства, и я могу найти EV3 в настройках bluetooth на телефоне, это просто приложение, которое его не обнаруживает.
Это код, который я использую для обнаружения устройств Bluetooth.
_btSubscription = _flutterBlue.scan().listen((scanResult) {
if (scanResult.device.name.isEmpty || _detectedDevices.contains(scanResult.device))
return;
print('Found Bluetooth device: (${scanResult.device.name})');
_detectedDevices.add(scanResult.device);
У EV3 есть имя, поэтому оно не игнорируется из-за проверки имени.
Любой совет приветствуется.
заранее спасибо
print()
перед вашимreturn;
, чтобы проверить, действительно ли ваш результат пуст или уже указано устройство. - person Peter   schedule 23.10.2019