MQTT as a Service: Sango のリリースをお手伝いしました¶
本日 2014年8月29日より、親会社の 時雨堂 はMQTT をインターネット上で簡単に利用できるサービスである「Sango」を提供開始しまし た。
ダッシュボードはこんな感じで、MQTTへの接続情報が載っています。
GitHubアカウントがあれば、すぐに使いはじめることが出来ます。現在のとこ ろ無料プランだけが提供されており、加えて五百円プランを10月をめどに始め る予定です。無料プランはずっと提供する予定です。
詳細は プレスリリース を見てい ただくとして、ここでは軽く使い方と中身を紹介します。
Sangoの使い方¶
SangoはGitHubアカウントで簡単にログインできます。
ログインすると MQTT接続情報 として、
- 接続先 : mqtt://<MQTTサーバーのアドレス>:1883
- WebSocket接続先: ws://<MQTTサーバーのアドレス>:8080/mqtt
- アクセス先トピック: shirou@github/#
- ユーザー名: shirou@github
- パスワード: ひみつ <-- クリックすると表示されます
が出てきます。各ユーザーに対して、アクセス先トピックが割り振られている ことに注意してください。
mosquittoを使ってコマンドラインから簡単に試すことが出来ます。(事前に mosquittoをインストールしてください)
mosquitto_sub \
-h <MQTTサーバーのアドレス> \
-u shirou@github \
-t "shirou@github/#"
-P <パスワード>
とすると、 shirou@github/#
に送られたメッセージを受け取れます。各
ユーザーに対して割り当てられているトピック以外に送ってもだめなので注意
してください。
subを実行しておき、別ターミナルから
echo "MQTT is Cooooool" |
mosquitto_pub \
-h <MQTTサーバーのアドレス> \
-u shirou@github \
-t "shirou@github/#"
-P <パスワード> \
-s
とすると、さっきのsubしている部分に表示されます。
Sangoの中身¶
Sangoは
Erlang/OTPで書かれた MQTT Server
Go言語で書かれた Webアプリ
の2つの機能で構成されています。弊社 ツキノワ はこのWebアプリ部分を担当しました。
やってることはたいした事なく、MQTT Server側のAPIを叩くだけです。OAuth もrevelのサイトにサンプルがあり、一瞬で実装できたりしました。
中身の構成¶
使っているライブラリは以下のとおりです。
Webフレームワーク: revel (http://revel.github.io/)
ORM: gorm (https://github.com/jinzhu/gorm)
revelに関しては revelの紹介 記事を参照してください。
gormですが、結構簡単に使えました。今回はテーブル構造もシンプルなのです が、それでもSQLを一行も書かずに実装できました。
あとは、CLIを作る部分で
CLI: codegangsta/cli (https://github.com/codegangsta/cli)
を使いました。これも簡単に使えていいですね。
まとめ¶
「MQTT as a Service: Sango」のリリースのお手伝いをしました。
この記事はSangoの紹介、使い方と、その中身を軽く紹介しました。
MQTTはいろいろな使い道が出来るプロトコルだと思います。Sangoを使ってアイ デアを簡単に試してみるのはいかがでしょうか。
今後の展開¶
現在無料プランしか用意しておりませんが、10月をめどに五百円プランをスター トする予定です。
五百円プランは
同時接続数: 10コネクションまで使用可
QoS: 1,2に対応
セキュリティ: TLS対応
月間最大メッセージ数: 100,000
というように、さらに実用的に使えるようになる予定です。ご期待ください。
Comments
comments powered by Disqus