В перспективе я должен создать тактильную обратную связь в 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 не найдено».