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

*

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で室温、水温を計測してグラフ表示する

Raspberry Pi2に水温計と温度計を取り付け、10分ごとに室温と水温を計 …

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

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

Raspberry Pi ZEROでGW-450D2(無線LANドングル)を使う

ZERO買っちゃった Pimoroniで入荷しているのを見たのでRaspberr …

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

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

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

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

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

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

Raspberry Pi2を使ってリモートで餌やりをする

ブログからガレージの金魚にエサをやる 以前からやろうやろうと先延ばしにしてたエサ …

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

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

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

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