大阪近郊で活動するフリーランスエンジニアのブログです 技術情報とか趣味など

*

Sangoのメッセージ数について聞いてみた

   

メッセージ数が足りない!

金魚水槽のページやトップページからライトを点灯するのにSangoというサービスを使用しているのですが、
1ヶ月で使用できるメッセージ数がどうもオーバーしそう
でもウチのPV数でそんなに沢山の人が点灯ボタン押しまくってるワケでもないし・・・何でやという事でサポートの方に聞いてみました

サポートに聞いてみる

聞いてみた結果がこちら

メッセージ数ですが、全ての MQTT メッセージをカウントしています。その中には KeepAlive 用の ping/pong も含まれています。そのため、接続しているだけでメッセージ数が増えてしまいます。
回避方法としては Ping/Pong の間隔を Connect 時に keepAliveTimer という値で指定出来ますのでそちらをながめにとっていただければと思います。

・・・との事
待ち受け側のKeepAlive機能でメッセージ数が消費されてるらしい なるほど
現在RubyのMQTTクライアントをRaspberry Pi2で使用しているのでAPIを調べてみる

Default attribute values
{
  :host => nil,
  :port => nil,
  :version => '3.1.0',
  :keep_alive => 15, #←デフォルト15秒
  :clean_session => true,
  :client_id => nil,
  :ack_timeout => 5,
  :username => nil,
  :password => nil,
  :will_topic => nil,
  :will_payload => nil,
  :will_qos => 0,
  :will_retain => false,
  :ssl => false
}

デフォルト15秒!
接続後、1分放置したら4回ping/pongが発生しメッセージ数8消費って事かな? そら足らんわw

ひとまずKeepAliveを90秒にして様子見してみる

#!/usr/bin/env ruby
# -*- coding: utf-8 -*-

require 'rubygems'
require 'mqtt'

MQTTHOST = "接続先"
USERNAME = "****@github"
PASSWORD = "パスワード"


# MQTTに接続するためのクライアントを作成します
client = MQTT::Client.new(
  MQTTHOST,
  :username => USERNAME,
  :password => PASSWORD,
  :keep_alive => 90 #←90秒に設定
)

# 接続します
client.connect do |c|
  # Subscribeします
  TOPIC = "****@github/led"
  c.get(TOPIC) do |topic, message|
    `sudo 点灯コマンド`
  end
end

これでかなりメッセージ数の消費は穏やかになりました もうちょっと伸ばしても大丈夫だろうか?
無料枠で納めたい等でどうしても足りない場合は待ち受け時間を決めてcronで接続&切断って所でしょうか
ウチの場合だと自動点灯の時間帯10:00~19:00は点灯ボタンは押してもスルーするのでその間切断しておけば節約できそう
でも自動点灯の時間帯を変更した時に直さなきゃいけないところが増えるからちょっとなぁ・・・って所w

ひとまず5月はどこまで増えるのか 繋ぎっぱの状態で様子見とします

 - Linux, Raspberry Pi, ruby

  • このエントリーをはてなブックマークに追加
  • にほんブログ村 観賞魚ブログ 金魚へ

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

  関連記事

プラ舟はじめました

プラ船買っちゃった 金魚にだだハマりなGW ついにプラ船買ってガレージに設置して …

Raspberry Pi2で外部から水槽のLEDを点灯する

外部からネット越しに金魚水槽のLEDを点灯させたい WebIOPiというライブラ …

Raspberry Pi ZERO + L-03D + IIJmioを使ってネットに接続する

野外のソーラーパネル&ラズパイからネットに繋ぎたい ソーラーパネルで給 …

Raspberry Pi2でプラ船のカメラを動かす

カメラの首振り プラ舟内に設置しているカメラにサーボを取り付けて遠隔からカメラの …

RaspberryPi2を使ったリモートのエサやりボタン復活しました

春がきた 春になり水温が上がってきたのでプラ舟ページのエサやりボタンを復活させま …

エサやりボタン復活しました

遠隔エサやりボタン 春になってきたので冬の間ストップしていたエサやりボタンを復活 …

みんなのラズパイコンテストにて受賞しました

ラズパイマガジンと日経Linux、日経ソフトウエア様の みんなのラズパイコンテス …

Raspberry Pi2でPlanexのGW-450Dが動かなくなった

Raspberry Pi2上で何も考えずソフト類をアップグレードしたらカーネルの …

Raspberry Pi2で外部から水槽のLEDを点灯する その3

前回で自宅のラズパイ側の準備が整ったので今回はWeb上から電灯のON/OFFをす …

Raspberry Pi2で外部から水槽のLEDを点灯する その2

前回でひとまずさくらVPS上のPHPから自宅水槽のLED照明をONにできるように …