Witam jakiś czas temu w moje ręce trafił "MindWave Mobile+(urządzenie robiące skan eeg mózgu i wysyłające różne dane przez bluetooth).Połączyłem to urządzenie z Unity(jest połączenie ale odbieram tylko część danych opisanych w nocie)
o to mój kod na Unity(działa):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO.Ports;
public class serial : MonoBehaviour
{
// public int read();
public SerialPort bci= new SerialPort("COM14",9600);//57600
public int attention = 0;
public int meditation = 0;
int[] tab = new int[173];
int licz = 0;
int bajt = 0;
int buf = 0;
int it = 0;
void Start()
{
bci.Open();
bci.ReadTimeout = 5000;
}
///////////////////////////
void Update()
{
bajt = Czytaj();
Debug.Log(bajt);
}//---------------update()
/////////////////////////
public int Czytaj()
{ if (bci.IsOpen==false) bci.Open();
if (bci.IsOpen)
{
try
{
buf= bci.ReadByte();
transform.Rotate(1, 1, 0);
}
catch (System.Exception)
{
Debug.Log("error");
}
//k/ bci.Close();
}
return buf;
}//read()
}//class
żeby bluetooth działał:
api compatibility level .NET 4.0
seria tylko 8 bajtów w pakiecie(za mało)
jakieś sugestie
edit edit edit edit
170 i 170(dla synchronizacji nagłówka pakietu)
4 to następny bajt nagłówka mówiący ile będzie bajtów w sekcji danych
128 to czwarty bajt czyli pierwszy w sekcji danych
87 suma kontrolna