Подключение и управление Adafruit Flora с компьютером через Bluetooth LE - PullRequest
0 голосов
/ 13 июня 2019

В перспективе я должен создать тактильную обратную связь в 3D-сценарии Unity 3D. Поэтому я хочу сделать несколько носимых браслетов или лент для ношения на руках, ногах и т. Д. С помощью Adafruit Flora, нескольких досок Lilypad Vibe, модуля Flora Bluefruit LE и беспроводной заряжаемой LiPo. Пока что управление им (например, включение или выключение Vibe Board) работает с приложением Adafruit Bluefruit. Следующим шагом является управление Flora с помощью консоли Visual Studio c # Console. И есть моя проблема, я не могу заставить его работать. (Я новичок во всем этом программировании Bluetooth, а также не очень опытен с Visual Studio и c #)

Я нашел образцы Windows для майского обновления Windows, установил их на прошлой неделе вручную и смог запустить образцы. К сожалению, функции Bluetooth LE Sample не очень хорошо подошли к моей проблеме, потому что я не могу использовать пользовательский интерфейс для подключения / сопряжения Flora с ПК, когда я хочу использовать тактильную обратную связь позже в Unity VR. Тем не менее я попробовал образец и смог найти Флору, но спаривание было невозможно. Это должно быть хорошо, потому что, насколько мне известно, невозможно подключить более 1 носимого к ПК или, по крайней мере, очень медленно подключать, отключать и ремонтировать различные полосы. Поэтому я думаю, что мне просто нужно подключиться к 1 браслету, отправить команду, а затем легко подключиться к другой группе. Поэтому я попытался использовать часть кода для написания своего консольного приложения, но не очень успешно. Я читал, что у вас как-то должен быть пользовательский интерфейс для подключения к устройству Bluetooth LE. Так что, возможно, этот способ просто не работает для меня. Я искал другой способ достичь своей цели и нашел возможность RFCOMM. Кажется, я могу сделать то, что мне нужно, но я просто не могу заставить его работать. Я нашел некоторые части кода на https://en.baydachnyy.com/2017/05/19/uwp-working-with-bluetooth-part-5-bluetooth-rfcomm/ Этот пример очень похож на мою задачу, и я хотел ее реализовать.

Arduino:

void setup() {
   Serial.begin(115200);
   pinMode(9,OUTPUT);
}
byte vibe;
void loop() {
   if(Serial.available()) {
      vibe=Serial.read();
      Serial.write(vibe);
      if (vibe==3) {
         digitalWrite(9,HIGH);
      }
      else if(vibe==2) {
         digitalWrite(9,LOW);
      }
      Serial.write(vibe);
   }
}

RFCOMM-фрагменты, которые я нашел онлайн: https://en.baydachnyy.com/2017/05/19/uwp-working-with-bluetooth-part-5-bluetooth-rfcomm/

Поскольку я нашел только фрагменты этого кода, он явно не работает. Но, похоже, есть сообщения об ошибках, которых в любом случае не должно быть. Например, «Пространство имен RoutedEventArgs не найдено».

1 Ответ

0 голосов
/ 13 июня 2019

Кажется, это хороший проект.
В BLE можно делать все, что вам нужно, без пользовательского интерфейса или взаимодействия с пользователем.
Сопряжение не требуется для настройки соединения для чтения и записи команд. Если имя устройства или Bluetooth-адрес известны, вы можете просто подключиться.

Взгляните на мой пример UWP на Github; Этот пример настолько прост, насколько это возможно, и главная страница полностью пуста: https://github.com/GrooverFromHolland/SimpleBleExample_by_Devicename

...