Как обнаружить Mindstorm EV3 с помощью flutter_blue - PullRequest
1 голос
/ 16 октября 2019

Я пытаюсь настроить 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 в своем приложении для флаттера. Я могу найти другие устройства очень хорошо, и я могу найти 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 имеет установленное имя, поэтому оно не игнорируется из-за проверки имени.

Любой совет приветствуется.

Заранее спасибо

...