申し訳ありませんが、お使いのブラウザはJavaScriptをサポートしていません。

> ブログ

MQTTブローカーによるリアルタイムエネルギーデータサブスクリプション(2025年版)

1.はじめに

IAMMETER クラウドIAMMETER-Cloudは、プロフェッショナルなエネルギー監視および太陽光発電管理プラットフォームです。 強力な可視化機能とレポート機能に加え、IAMMETER-Cloudは柔軟なデータインターフェースも提供します。 これにより、カスタマイズされた要件を持つユーザーは、IAMMETER-Cloudをデータミドルウェアコードを通じてプログラム的にデータを取得します。

コードを使用して IAMMETER-Cloud からデータを取得するには、主に 2 つの方法があります。

  • データの購読方法IAMMETERのMQTTブローカー(この記事の焦点)
  • IAMMETER-Cloudの公式API

このガイドでは、IAMMETER MQTT トピックをサブスクライブする方法、データ構造を解釈する方法 (単相メーターと三相メーターの両方)、および実用的な Python および Node.js の例を実装する方法について説明します。


2. IAMMETER MQTTブローカーの概要

ノート:IAMMETER MQTTブローカーは、もともと開発およびテストサービス利便性のために提供されており、標準のIAMMETER-Cloudサービスには含まれていません(ただし、5年以上安定して稼働しています)。 本番環境または大規模な導入の場合は、独自のMQTTブローカー.

IAMMETER MQTTブローカー構成

パラメータ 説明
ブローカーの住所 mqtt.iammeter.com
ポート 1883(非SSL)
ユーザー名 / パスワード 作成する必要がありますIAMMETERクラウド → 設定 → MQTT設定MQTT設定のスクリーンショット
トピック形式 デバイス/{SN}/リアルタイム
ペイロード形式 JSON

⚠️ 重要:するないここでIAMMETER Cloudのログイン認証情報を使用してください。 専用のMQTTユーザー名とパスワードを作成するIAMMETER Cloud ダッシュボードで。

IAMMETERメーターをMQTTモードを使用するように設定

IAMMETERメーターをMQTTアップロードモード(見るファームウェア設定ガイド) をクリックし、IAMMETER MQTT ブローカー パラメータを入力します。

メーターをMQTTアップロードモードに設定し、IAMMETER MQTTブローカーパラメータを構成する


3. MQTTトピックフォーマット

各 IAMMETER デバイスは、次のトピックでリアルタイム データを公開します。

デバイス/{SN}/リアルタイム

どこ{SN}メーターのシリアル番号です。 例えば、デバイスのシリアル番号がDA2BED94、トピックは次のとおりです。

デバイス/DA2BED94/リアルタイム

このトピックをサブスクライブすると、継続的にリアルタイムの測定データを受信できます。


4. データ形式

4.1 単相メータデータフォーマット

単相 IAMMETER メーターは、次のように JSON 形式でリアルタイム データを公開します。

{
"method": "1-272",
"mac": "B0F8932A295C",
"version": "i.91.062T6",
"server": "em",
"SN": "DA2BED94",
"Data": [227.02, 1.81, 296.0, 21699.98, 0.00, 50.01, 0.72]
}
索引 分野 説明 単位
1 電圧 現在の線間電圧 V
2 現在 現在のライン電流 A
3 有効電力 W
4 前進エネルギー 輸入エネルギー(消費) kWh
5 逆エネルギー 輸出エネルギー(固定価格買い取り、太陽光) kWh
6 頻度 グリッド周波数 Hz
7 力率 現在の力率 PF

🟢 ノート:

  • 正の力 → エネルギー消費
  • 負の電力 → エネルギー輸出(例:太陽光発電の固定価格買い取り)

4.2 三相メータデータフォーマット(WEM3080T / WEM3046T / WEM3050T)

3 相 IAMMETER メーターは、各相に対応する 3 つの配列を持つ同様の JSON 形式でデータを公開します。

{
"method": "4-9",
"mac": "849DC2CEC625",
"version": "i.91.062T6",
"server": "em",
"SN": "CB0A0CFB",
"EA": {
"Reactive": [
[-111.0, 0.000, 176.750],
[-113.0, 0.000, 179.110],
[-114.0, 36.120, 144.410]
]
},
"Datas": [
[225.9, 1.260, 194.0, 305.110, 0.000, 49.99, 0.87],
[225.8, 1.260, 193.0, 302.690, 0.000, 49.99, 0.86],
[225.9, 1.260, 192.0, 300.890, 0.000, 49.99, 0.86]
]
}

データを含むリストです3つの配列それぞれに対応するフェーズA、B、C. 各内部アレイは単相アレイと同じ構造である。データ配列。

索引 分野 説明 単位
1 電圧 相電圧 V
2 現在 相電流 A
3 有効電力 W
4 前進エネルギー 輸入エネルギー kWh
5 逆エネルギー 輸出エネルギー kWh
6 頻度 グリッド周波数 Hz
7 力率 相力率 PF

実際の電力データに加えて、無効電力測定有効になっている場合は、EAセクションは次のとおりです。

「EA」: {
「リアクティブ」: [
[-111.0, 0.000, 176.750],
[-113.0, 0.000, 179.110],
[-114.0, 36.120, 144.410]
]
}

このセクションでは反応測定データ、これは、リアクティブテスト関数有効になっています (下のスクリーンショットを参照)。

メーター内で反応測定を有効にする

各配列は3つのフェーズ(A、B、C)を表し、無効電力(Q、kVar)無効エネルギー(kVARh).

Q(kVar):無効電力 - 正 = 誘導性、負 = 容量性kVARh:無効電力 - 各相には2つのkVARh値が含まれます。1つは誘導負荷そして1つは容量性負荷.


5. Pythonの例: リアルタイムデータの購読

以下は、パホ-mqtt図書館。

import paho.mqtt.client as mqtt
import json

# MQTTブローカーの設定
MQTT_BROKER = "mqtt.iammeter.com"
MQTT_PORT = 1883
MQTT_USER = "mqtt_username" # IAMMETER Cloud → MQTT設定で設定
MQTT_PASS = "mqtt_password"
TOPIC = "device/DA2BED94/realtime" # ご自身のデバイスSNに置き換えてください

# ブローカー接続時のコールバック
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("✅ IAMMETER MQTTブローカーへの接続に成功しました")
client.subscribe(TOPIC)
print(f"📡 トピックをサブスクライブしました: {TOPIC}")
else:
print(f"❌ コード {rc}"で接続に失敗しました)

# メッセージ受信時のコールバック
def on_message(client, userdata, msg):
payload = json.loads(msg.payload.decode())
print("📊 リアルタイムデータを受信しました:")
print(json.dumps(payload, indent=2, ensure_ascii=False))

# MQTTクライアントを初期化
client = mqtt.Client()
client.username_pw_set(MQTT_USER, MQTT_PASS)
client.on_connect = on_connect
client.on_message = on_message

# ブローカーに接続し、ループを開始します
client.connect(MQTT_BROKER, MQTT_PORT, 60)
client.loop_forever()

6. Node.jsの例

この興味深いオープンソースプロジェクトを試してみることをお勧めします。 ノード.jsIAMMETER MQTTブローカーからのリアルタイムデータを購読し、それを視覚化するウェブUIクールなリアルタイムダッシュボードを作成します。

🔗 https://github.com/lewei50/iammeterJS


7. 実用的なユースケース

  1. スマートホームオートメーションリアルタイム電力データを統合ホームアシスタントまたNode-RED自動化アクションをトリガーします(例:太陽光発電量が多いときにヒーターを起動する)。
  2. ローカルデータの可視化受信したMQTTデータを保存インフルックスDBそしてそれを視覚化するGrafanaダッシュボード.
  3. プライベートクラウドまたはエッジコンピューティングIAMMETER Cloud に依存せずに、カスタム分析や制御ロジックのために MQTT 経由でリアルタイムの電力データを直接取得します。

8. トラブルシューティング

問題 考えられる原因 / 解決策
ブローカーに接続できません IAMMETER Cloud で MQTT ユーザー名/パスワードが正しく設定されているかどうかを確認します。
データが受信されませんでした トピックの形式を確認してください(デバイス/{SN}/リアルタイム) にアクセスし、メーターがオンラインになっていることを確認します。
データ遅延 ネットワークの安定性または Wi-Fi 信号強度を確認してください。
複数のメーター 複数のトピックを同時にサブスクライブできます (SN ごとに 1 つ)。

9. 結論

使用IAMMETER MQTTブローカー簡単にアクセスできますリアルタイムのエネルギーデータストリームIAMMETERデバイスから。 これは、強力かつ柔軟な構築方法です。ローカルダッシュボード、スマートオートメーション、またはAIベースのエネルギー最適化システム.


📘 参考文献


作ってみませんか?Markdown形式のブログ投稿バージョン(構文の強調表示と埋め込み画像リンクをそのままにして、IAMMETER 公式ブログに公開する準備はできましたか?)