エンドポイント
デバイスのWebsocket版ハードウェアAPIはobnizIDを含む以下のエンドポイントとなります。
wss://obniz.io/obniz/{obniz_id}/ws/1
アクセストークン発行前であればobnizIdのみで接続が可能です。以下のプロパティがQueryStringにより設定可能です。
プロパティ(query) | デフォルト値 | 説明 |
---|---|---|
access_token | なし | デバイス管理でデバイスごとに発行したアクセストークン。または「デバイス制御」権限のあるAPIキーまたはWebAppトークンかOAuthトークン。 |
JSONについて
Websocket APIでは送信受信共に配列化されたobjectとなります。
接続手順
接続には以下の手順が必要です。
以下に接続とコマンド送受信の例を示します
<!-- HTML Example -->
<html>
<body>
<script>
// Simplest example
var host = 'wss://obniz.io'
function connect() {
var socket = new WebSocket(host + '/obniz/OBNIZ_ID_HERE/ws/1');
socket.onmessage = function (event) {
var arr = JSON.parse(event.data);
for (var i=0; i<arr.length; i++) {
var obj = arr[i];
if (obj.ws && obj.ws.redirect) {
host = obj.ws.redirect;
socket.onmessage = null;
socket.close();
connect();
}
if (obj.ws && obj.ws.ready) {
socket.send(JSON.stringify([{display:{clear:true}}, {display:{text:"Works fine."}}]));
}
}
}
}
connect();
</script>
</body>
</html>