Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
6
Help us understand the problem. What is going on with this article?

More than 1 year has passed since last update.

@hmaruyama

obnizのWebsocket APIを試してみる

Obniz Advent Calendar 2018 5日目の記事です。

obnizはWebsocket API、REST APIを公開しているため、Node.js以外でも操作することが可能です。

obniz.jsはバックエンドでWebsocket APIを叩いてますよ〜、とobnizの中の人に伺ったことがあります、確か。
obniz.jsで出来ることはAPIでも出来るはず!!ということで、Websocket APIを介してobnizを制御してみたいと思います。

【準備1】 obnizデバイスのセッティング

お手元のobnizをWi-Fiに接続しておきます。

【準備2】 Websocketの疎通確認を行う

Websocketの疎通確認を行うのに便利なツールは世の中にたくさんあるかと思いますが、私はGoogle Chrome拡張機能を使います。

chrome web storeで「websocket」と検索すればいくつか出てくるので、良さげなものを追加します。

Screen Shot 2018-11-22 at 11.19.56.png

ちなみに私はSmart Websocket Clientを使ってます〜。

obniz Websocket API に接続する

リファレンスより、接続先アドレスは wss://obniz.io/obniz/{obniz_id}/ws/1 なので、自身のobniz_idに書き換えてWebsocket接続します。

Screen Shot 2018-11-22 at 11.33.41.png

何やら、リダイレクト先のURLが返却されたようです。
次は、返却されたドメインに置き換えて再度Websocket接続します。

Screen Shot 2018-11-22 at 11.36.23.png

レスポンスを見る限り、接続はうまくいっているようです。

obnizのディスプレイに「Hello, obniz!」を表示してみます。
https://obniz.io/doc/sdk/doc/websocket#display

Request BobyにJSONデータを付与して接続します。

[
    {
        "display": {
            "clear": true
        }
    },
    {
        "display": {
            "text": "Hello, obniz!"
        }
    }
]

Screen Shot 2018-11-22 at 13.58.23.png

IMG_20181122_115517.jpg

obnizのディスプレイに表示されたら成功です。
他の言語でobnizを触ることになったらぜひWebsocket API or REST APIを試してみてはいかがでしょうか。

6
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
6
Help us understand the problem. What is going on with this article?