LoginSignup
6
6

More than 5 years have passed since last update.

MQTT(Sango)をTesselで使ったらコネクション数を消耗してしまうみたい...?

Posted at

記事というか質問というか。

  • Tessel
    Node.jsで開発できるマイコンボード http://tessel.io

  • MQTT
    M2MやIoT向けの軽量プロトコル。TCPレイヤーなのでWebsocketなどよりはだいぶ低レイヤー。

  • Sango
    MQTTをBaaS的に使えるWebサービス

TesselでMQTTを使ってみた

春だ!IoTだ!sango経由でTesselとMQTTで通信だ!

この記事を参考にTesselをMQTTに接続してみました。

時雨堂さんのMQTTブローカーサービスSango

最初はうまくって言ってたんですけど...

Connection refused: Not authorized

っていうエラーに悩まされてました。

なんで繋がらないのか

events.js:85
      throw er; // Unhandled 'error' event
            ^
Error: Connection refused: Not authorized
    at MqttClient._handleConnack (/Users/sugawara_nobisuke/n0bisuke/lab/tessel-code/node_modules/mqtt/lib/client.js:524:9)
    at Connection.<anonymous> (/Users/sugawara_nobisuke/n0bisuke/lab/tessel-code/node_modules/mqtt/lib/client.js:191:10)
    at Connection.emit (events.js:107:17)
    at Connection._write (/Users/sugawara_nobisuke/n0bisuke/lab/tessel-code/node_modules/mqtt/lib/connection.js:176:12)
    at doWrite (_stream_writable.js:301:12)
    at writeOrBuffer (_stream_writable.js:288:5)
    at Connection.Writable.write (_stream_writable.js:217:11)
    at Socket.ondata (_stream_readable.js:540:20)
    at Socket.emit (events.js:107:17)
    at readableAddChunk (_stream_readable.js:163:16)

どうやら無料プランの同時コネクション数上限を超えてしまっていたみたい

Sangoのダッシュボードで確認すると上限の6コネクションになってました。

Tessel内のプロセスが生きてる?

Tesselでプログラムを動かしてないんだけど、6コネクションしていることになってました。

Node.jsから立ち上げた場合はMQTTのプロセスはNode.jsを落とせば消えるんですけど、

Tesselの場合は一度使ったコネクションが残り続けてしまっているみたいで、デバッグしてるとコネクション数が増え続けてました。

詳しくは理解していないのですが、Tesselは内部的にLuaを使っていたりとJavascriptのプロセスとはまた別の低レイヤーで動作しているのかもしれません汗

次の日に確認したらコネクション数はもとにもどってました。

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6