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

*

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

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

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

Raspberry Pi2に2台のカメラを繋いで同時配信する

水槽増えたんだけどまたパイ買うの? 先日新しく45cm水槽を買いまして買ったなら …

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

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

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

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

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

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

プラ舟はじめました

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

プラ舟のカメラ復活しました

カメラの首振りができなくなっていた プラ船のカメラが横方向に動かなくなっていたの …

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

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

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

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

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

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

RaspberryPi2で動画配信しながら写真も撮りたい

金魚デカくなった? 金魚にエサやってると4月の初頭から飼い始めた琉金が1周り大き …