讀取資料

WebSocket

  • JSON 格式

請求網址(Request URL)
// please change $MCSLiteServerIP to the real IP address or hostname of MCS Lite server
// please change $MCSLiteWSPort to the real port that MCS Lite WebSocket server is binding
// please change $deviceID to the real device ID you created on MCS Lite console

ws://$MCSLiteServerIP:$MCSLiteWSPort/deviceId/$deviceID/deviceKey/$deviceKey/viewer

欲接收以 JSON 格式回傳的資料時,請求 API 為 .../viewer,範例

ws://192.168.0.100:8000/deviceId/BJlQmdbQ0l/deviceKey/71ad1f7abc449a3168cc712291198f7de1ab5603e148dce1228c30e0bcea509f/viewer
回覆內文(Response Body)

透過 WebSocket 所接收到的 JSON 數據格式與上傳資料完全一致。

  • 針對只會產生一筆資料的通道,像是開關、整數、浮點數、十六進位值、字串、GPIO等,其回傳的數據格式為
{"datachannelId":"$dataChannelID","values":{"value":$value}}

例如

{"datachannelId":"GPIO","values":{"value":0}}
{"datachannelId":"onoff","values":{"value":1}}
{"datachannelId":"GPIO","values":{"value":1}}
{"datachannelId":"String","values":{"value":"MCS Lite is good!"}}
  • 針對會同時產生多筆資料的通道,其回傳的數據格式為
{"datachannelId":"$dataChannelID","values":{"value":"$value", "period":"$period"}}
{"datachannelId":"$dataChannelID","values":{"value":"$value"}}
{"datachannelId":"$dataChannelID","values":{"period":"$period"}}

例如

{"datachannelId":"pwm","values":{"value":"31","period":"8"}}
{"datachannelId":"pwm","values":{"period":"8"}}
  • CSV 格式

請求網址(Request URL)
// please change $MCSLiteServerIP to the real IP address or hostname of MCS Lite server
// please change $MCSLiteWSPort to the real port that MCS Lite WebSocket server is binding
// please change $deviceID to the real device ID you created on MCS Lite console

ws://$MCSLiteServerIP:$MCSLiteWSPort/deviceId/$deviceID/deviceKey/$deviceKey/csv

欲接收以 CSV 格式回傳的資料時,請求 API 為 .../csv,範例

ws://192.168.0.100:8000/deviceId/BJlQmdbQ0l/deviceKey/71ad1f7abc449a3168cc712291198f7de1ab5603e148dce1228c30e0bcea509f/csv
回覆內文(Response Body)

透過 WebSocket 所接收到的 CSV 數據格式乃是經過轉換後方便裝置讀取的格式。

  • 針對只會產生一筆資料的通道,像是開關、整數、浮點數、十六進位值、字串、GPIO等,其回傳的數據格式為
$deviceID,$deviceKey,$timeStamp,$dataChannelID,$value

例如

S1lK-BNQCx,4b3ab6e572ac5cc9d344c6f95e30b6c8785035bb2c07f150062c7007fe7bb247,1493108019302,control_gpio,1
  • 針對會同時產生多筆資料的通道,其回傳的數據格式為
$deviceID,$deviceKey,$timeStamp,$dataChannelID,$value1,$value2

例如

S1lK-BNQCx,4b3ab6e572ac5cc9d344c6f95e30b6c8785035bb2c07f150062c7007fe7bb247,1493112039310,control_pwm,255,33

其中 255 為指定給 PWM 通道的類比輸出值(範圍是 0~255),33 為時間區間 (period)。

使用 WebSocket API 接收資料時,並不需要指定資料通道,該測試裝置底下全部資料通道的數據若有更新時,皆會及時的推送。 由於 WebSocket 屬於永久性的連線,即時收到更新數據且無法查詢歷史紀錄,因此較適合用於開發需要即時接收數據或指令的裝置。

HTTP

  • JSON格式

請求網址(Request URL)
// please change $MCSLiteServerIP to the real IP address or hostname of MCS Lite server
// please change $MCSLiteAPIPort to the real port that MCS Lite API server is binding
// please change $deviceID to the real device ID you created on MCS Lite console
// please change $dataChannelID to the real channel ID you created on MCS Lite console

http://$MCSLiteServerIP:$MCSLiteAPIPort/api/devices/$deviceID/datachannels/$dataChannelID/datapoints?limit=1
請求方法(Request Method)

GET

參數 (parameter)

需在請求的 URI 中加入 limit=1 參數,表示只獲取最新一筆的資料。若要獲取多筆歷史紀錄,可透過 limit 指定數量。

表頭 (Header)
  • deviceKey: $deviceKey

    請將 $deviceKey 置換成您在 MCS Lite 平台上所建立的測試裝置的 device key

回覆內文(Response Body)

內文為標準的 JSON 格式。

{
    "data":[
        {
            "deviceId":"your device ID",
            "datachannelId":"your channel ID",
            "values":{
                "value":0
            },
            "createdAt":1492497174410,
            "updatedAt":1492497174410,
            "isActive":true,
            "_id":"EdG6Jnrq4O1Sd4l9"
        }
    ]
}
  • CSV 格式

請求網址(Request URL)
// please change $MCSLiteServerIP to the real IP address or hostname of MCS Lite server
// please change $MCSLiteAPIPort to the real port that MCS Lite API server is binding
// please change $deviceID to the real device ID you created on MCS Lite console
// please change $dataChannelID to the real channel ID you created on MCS Lite console

http://$MCSLiteServerIP:$MCSLiteAPIPort/api/devices/$deviceID/datachannels/$dataChannelID/datapoints.csv
請求方法(Request Method)

GET

參數 (parameter)

若要獲取多筆歷史紀錄,可透過 limit 指定數量。

表頭 (Header)
  • deviceKey: $deviceKey

    請將 $deviceKey 置換成您在 MCS Lite 平台上所建立的測試裝置的 device key

回覆內文(Response Body)

內文為標準的 CSV 格式。

S1lK-BNQCx,4b3ab6e572ac5cc9d344c6f95e30b6c8785035bb2c07f150062c7007fe7bb247,1493108019302,control_gpio,1

使用 HTTP API 接收資料時,需要指定資料通道,MCS Lite 平台會回傳最新一筆資料,由於 HTTP 接收的資料並非即時,且可以指定要獲取多少歷史紀錄,因此較適合用於開發需要統計或是比較的分析圖表功能,若想在裝置上透過 HTTP API 獲取即時訊息,則需要實作一個迴圈的機制,定期去詢問是否有資料更新。

results matching ""

    No results matching ""