Párování zařízení Bluetooth s InTheHand 32Feet ukazuje jako spárované, ale nelze se připojit

0

Otázka

Jsem čelí velmi zvláštní, tři-cesta bolesti hlavy. Já používám Unity Engine a BrainLink zařízení Bluetooth jako zdroj vstupu. Jsem se připojit k BrainLink zařízení automaticky prostřednictvím kódu pomocí knihovny s názvem Neurosky.ThinkGear a tak daleko se tito dva pracují dobře dohromady, ale to je za předpokladu, že zařízení bylo spárované ručně pomocí Bluetooth A Jiných Zařízení okna.

Nyní jsem byl požádán, abych také PÁR zařízení automaticky, a to je místo, kde jsem narazil na překážku. Protože pomocí Unity Engine nemůžu používat windows runtime věci (jako Windows.Výčtu.Zařízení), rozhodl jsem se použít InTheHand 32Feet řešení pro Bluetooth zařízení a zdá se, že druh práce. Zařízení se zobrazí, jak je uvedeno v Bluetooth A Jiných Zařízení, pokud to nebyl již a je uveden jako Spárované stejně. Problém je, že při spárování přes kód, a ne ručně, knihovna, která zpracovává připojení k zařízení (uvedené Neurosky.ThinkGear) nemůže připojit k zařízení. To se připojí pouze pokud je zařízení odstraněno a znovu spárovat přes Bluetooth & Oherová Zařízení okna.

Kód jsem v současné době testování je následující:

 private void Start()
{
    Debug.Log("Operation Start");
    //btClient is a class field
    btClient = new BluetoothClient();

    //Search for existing paired devices that contain "brainlink" in their name
    BluetoothDeviceInfo btDevice = CheckExistingPairedDevices();
    if (btDevice == null)
    {
        Debug.Log("No paired device found, trying to discover");
        //Try to discover devices in range with "brainlink" in their name
        btDevice = TryDiscoverDevice();
    }
    if(btDevice!= null)
    {
        Debug.Log("Found Device " + btDevice.DeviceName+", checking for pairing");
        bool paired = AttemptPair(btDevice);
        Debug.Log("Pair Status: " + paired);
    }
    else
    {
        Debug.Log("Could not discover device");
    }
    CloseClient();
}

Je to metoda, která zpracovává párování. V okamžiku, nikdy jsem předat hodnotu na pin , ale je to tam jen v případě, že potřebuji podporu dalších zařízení v budoucnu.

private bool AttemptPair(BluetoothDeviceInfo btDevice, string pin = null)
{
    //Check if this device has been paired before
    if (btDevice.Authenticated)
        return true;

    bool result =  BluetoothSecurity.PairRequest(btDevice.DeviceAddress, pin);
    btDevice.Refresh();
    return result;
}
32feet bluetooth c# unity3d
2021-11-23 08:36:06
1

Nejlepší odpověď

0

Mám nulové znalosti o vašem zařízení/nástroje, ale co vím, je, že k sestavení připojení Bluetooth, musíme zjistit zařízení první.

Důvodem je, že takový objev vytvoří objekt , který je později použit na Bluetooth akcí (např. párování, připojení).

Zařízení se zobrazí, jak je uvedeno v Bluetooth A Jiných Zařízení, pokud to nebylo a už je uveden jako Spárované stejně.

Myslím, že to, co máte na mysli je dříve spárovaných zařízení. Zařízení se objeví na seznamu, nemusí to znamenat, že zařízení je v současné době objevena. Navrhuji změnit svůj kód podle toho, kde budete provádět objev první.

2021-11-23 09:54:58

Ok, zkusil jsem váš návrh. Místo kontroly pro stávající párování, nyní kód bude vždy snažit zjistit zařízení a pokusí spárovat bez kontroly zařízení.Ověřen v AttemptPair(), ale stále mám stejný problém.
The Manly Fairy

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................