> For the complete documentation index, see [llms.txt](https://cavedu.gitbook.io/linkit-7697/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cavedu.gitbook.io/linkit-7697/linkit-7697-arduinoide/kai-fa-zhi-nan/shi-yong-mcs-han-shi-ku/mcs-han-shi-ku-api-shi-yong-shou-ce/mcsdevice.md).

# MCSDevice

為了連接到 MCS 伺服器、並與 MCS 上的測試裝置傳送資料，需使用 MCSDevice 類別建立運作在開發板上的 MCS 裝置物件。更多細節請參考MCS 簡介。

### 建構函式

**MCSDevice()**

> 建立能連接到 MCS 伺服器的裝置。
>
> **Syntax**
>
> MCSDevice *device*(device\_id, device\_key)
>
> MCSDevice *device*(device\_id, device\_key, mcs\_server\_url, mcs\_server\_port)
>
> **Parameters**
>
> device\_id：在 MCS 上建立的測試裝置 ID。
>
> device\_key：在 MCS 上建立的測試裝置 key。
>
> mcs\_server\_url：MCS 伺服器的位置。此參數為選擇性帶入，若沒有提供的話，預設會連線至 "[api.mediatek.com](http://api.mediatek.com/)"。
>
> * * MCS Global：欲連接至 MCS Global，請瀏覽 [https://mcs.mediatek.com](https://mcs.mediatek.com/) 頁面並在 MCS API 的伺服器 URL 指定 "[api.mediatek.com](http://api.mediatek.com/)"。
>   * MCS China：欲連接至 MCS China，請瀏覽 [https://mcs.mediatek.cn](https://mcs.mediatek.cn/) 頁面並在 MCS API 的伺服器 URL 指定 "[api.mediatek.cn](http://api.mediatek.cn/)"。<br>
>
> mcs\_server\_port：MCS 伺服器的通訊埠。此參數為選擇性帶入，若沒有提供的話，預設連接埠為 80。
>
> **Returns**
>
> *device* 為 **MCSDevice** 類別的實體。

### 函式

**addChannel()**

> 將資料通道加入至 MCSDevice 實體。
>
> **Syntax**
>
> *device*.addChannel(data\_channel\_instance)
>
> **Parameters**
>
> data\_channel\_instance：繼承自 MCSDataChannel 的類別實體。
>
> **Returns**
>
> 無

**connect()**

> **Description**
>
> 連接至指定的 MCS 伺服器。
>
> **Syntax**
>
> *device*.connect()
>
> **Parameters**
>
> device：MCSDevice 類別實體。
>
> **Returns**
>
> 若連接成功則回傳布林值 true，反之若有錯誤發生則回傳 false。

**connected()**

> **Description**
>
> 檢查連線是否成功。
>
> **Syntax**
>
> *device*.connected()
>
> **Parameters**
>
> device：MCSDevice 類別實體。
>
> **Returns**
>
> 若連線成功則回傳布林值 true，反之若連線已中止則回傳 false。

**process()**

> **Description**
>
> 處理來自 MCS 伺服器的資料。
>
> **Syntax**
>
> *device*.process(timeout\_value)
>
> **Parameters**
>
> timeout\_value：此參數為選擇性帶入。用來指定多久時間後 (單位為 millisecond 毫秒) 繼續執行 loop() 函式內後續的程式碼。若沒有指定的話，則以 setDefaultTimeout() 函式的設定值為準。預設的 timeout 時間為 30 秒。
>
> **Returns**
>
> 無

**setDefaultTimeout()**

> **Description**
>
> 設定 process() 函式所使用的 timeout 值。
>
> **Syntax**
>
> *device*.setDefaultTimeout(default\_timeout\_value)
>
> **Parameters**
>
> default\_timeout\_value：欲設定的 timeout 值 (單位為 millisecond 毫秒)。
>
> **Returns**
>
> 無
