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

*

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で水槽のLEDを自動点灯/消灯する

先日Raspberry Pi2を購入し、自宅からのストリーミング配信する為あれこ …

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

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

Raspberry Pi2で室温、水温を計測してグラフ表示する

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

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

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

プラ舟はじめました

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

Raspberry Pi2でリモコンを使って水槽の照明をつける

リモコン操作で照明をつける Web上からRaspberry Pi2で水槽の照明を …

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

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

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

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

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

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