---
# System prepended metadata

title: ganglion配對+取得資料

---

# ganglion配對+取得資料
1. import ganglion.unitypackage
2. 在mainUI(要連結ganglion的地方)加入空gameObject 改名為GanglionController，然後掛上GanglionController.cs的script
3.  在mainUI(要連結ganglion的地方)相關的MonoBehaviour Script(EX:MainUIController...之類的script)加入
   ```private GanglionController _ganglionController=GameObject.Find("GanglionController").GetComponent<GanglionController>(); //get script```

 同個script， ``` void Start(){} ``` 裡面加上
```C#
        DontDestroyOnLoad(GameObject.Find("GanglionController"));  //避免切換scene時釋放資源
        StartCoroutine(GanglionConnnect());  //開啟遊戲時自動找ganglion連線
```
 同個script的class內放
```C#
     IEnumerator GanglionConnnect() {
            while (!_ganglionController.connectionStatus)
            {
                Debug.Log("ganglion reconnect... " );
                _ganglionController.InitGanglion();
                yield return new WaitForSeconds(3f);
            }
        }
```
 附註: 可以在update裡加入``` Debug.LogWarning("ganglion connect? " + _ganglionController.connectionStatus); ```檢查有沒有連線

4. 換到要收資料的scene
   找個MonoBehaviour Script 一樣加入
   ``` private GanglionController _ganglionController= GameObject.Find("GanglionController").GetComponent<GanglionController>(); ```
   在任務開始前記得呼叫(只能call一次 再call一次會取消)
   ```_ganglionController.StreamData(); ```
   在``` void Update(){} ```中
      ``` _ganglionController.GetEegData(int ch)  //ch from 0 to 3 ```
   就會拿到資料
   然後可配合寫入本地那邊(有需要的話)
