Ne pare rău, browserul dvs. nu acceptă JavaScript!

Abonament la date energetice în timp real prin MQTT Broker (ediția 2025)

1. Introducere

IAMMETRO-noreste o platformă profesională de monitorizare a energiei și gestionare a sistemelor fotovoltaice. Pe lângă funcțiile sale puternice de vizualizare și raportare, IAMMETER-Cloud oferă și interfețe de date flexibile. Acest lucru permite utilizatorilor cu cerințe personalizate să utilizeze IAMMETER-Cloud ca...middleware de date, recuperarea datelor programatic prin cod.

Există două modalități principale de a obține date de la IAMMETER-Cloud folosind cod:

  • Abonați-vă la date prinBrokerul MQTT al IAMMETER(punctul central al acestui articol)
  • Sunați oficialul IAMMETER-CloudAPI-uri

Acest ghid explică cum să vă abonați la subiectele IAMMETER MQTT, să interpretați structurile de date (atât pentru contoare monofazate, cât și pentru cele trifazate) și să implementați exemple funcționale în Python și Node.js.


2. Prezentare generală a brokerului IAMMETER MQTT

Notă:Brokerul IAMMETER MQTT a fost inițial conceput ca unserviciu de dezvoltare și testarepentru comoditate și nu face parte din oferta standard IAMMETER-Cloud (deși este stabilă și funcționează de peste 5 ani). Pentru implementări de producție sau la scară largă, vă recomandăm să configurațipropriul broker MQTT.

Configurarea brokerului IAMMETER MQTT

parametru Descriere
Adresa brokerului mqtt.iammeter.com
Port 1883(non-SSL)
Nume de utilizator / Parolă Trebuie creat înIAMMETER Cloud → Setări → Setări MQTTCaptură de ecran a setărilor MQTT
Formatul subiectului dispozitiv/{SN}/timp real
Formatul sarcinii utile JSON

⚠️ Important:DonuFolosește aici datele tale de autentificare IAMMETER Cloud. Trebuie săcreați un nume de utilizator și o parolă dedicate MQTTîn tabloul de bord IAMMETER Cloud.

Configurați contorul IAMMETER pentru a utiliza modul MQTT

Setați amperometrul IAMMETER laMod de încărcare MQTT(vedeaghid de configurare a firmware-ului) și introduceți parametrii IAMMETER MQTT Broker.

Setați contorul în modul de încărcare MQTT și configurați parametrii IAMMETER MQTT Broker


3. Formatul subiectului MQTT

Fiecare dispozitiv IAMMETER își publică datele în timp real sub următoarea temă:

dispozitiv/{SN}/timp real

Unde{SN}este numărul de serie al contorului dumneavoastră. De exemplu, dacă numărul de serie al dispozitivului dumneavoastră esteDA2BED94, subiectul va fi:

dispozitiv/DA2BED94/timp real

Vă puteți abona la acest subiect pentru a primi date de măsurare în timp real.


4. Formatul datelor

4.1 Formatul datelor contorului monofazat

Un contor IAMMETER monofazat publică date în timp real în format JSON după cum urmează:

{
„metodă”: „1-272”,
„mac”: „B0F8932A295C”,
„versiune”: „i.91.062T6”,
„server”: „em”,
„SN”: „DA2BED94”,
„Date”: [227.02, 1.81, 296.0, 21699.98, 0.00, 50.01, 0.72]
}
index Domeniu Descriere Unitate
1 Voltaj Tensiunea curentă a liniei V
2 Actual Curent de linie A
3 Putere Putere activă W
4 Energie înainte Energie importată (consumată) kWh
5 Energie inversă Energie exportată (alimentare, solară) kWh
6 Frecvență Frecvența rețelei Hz
7 factor de putere Factorul de putere curent PF

🟢 Note:

  • Putere pozitivă → consum de energie
  • Putere negativă → export de energie (de exemplu, alimentare solară)

4.2 Formatul datelor contorului trifazat (WEM3080T / WEM3046T / WEM3050T)

Contoarele IAMMETER trifazate publică datele într-un format JSON similar, cu trei matrice corespunzătoare fiecărei faze.

{
„metodă”: „4-9”,
„mac”: „849DC2CEC625”,
„versiune”: „i.91.062T6”,
„server”: „em”,
„SN”: „CB0A0CFB”,
„EA”: {
„Reactiv”: [
[-111.0, 0.000, 176.750],
[-113.0, 0.000, 179.110],
[-114.0, 36.120, 144.410]
]
},
„Date”: [
[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]
]
}

Dateeste o listă care conținetrei tablouri, fiecare corespunzândfazele A, B și CFiecare matrice internă are aceeași structură ca și cea monofazatăDatematrice.

index Domeniu Descriere Unitate
1 Voltaj tensiunea de fază V
2 Actual curent de fază A
3 Putere Putere activă W
4 Energie înainte Energie importată kWh
5 Energie inversă Energie Exportată kWh
6 Frecvență Frecvența rețelei Hz
7 factor de putere Factorul de putere al fazei PF

Pe lângă datele reale privind puterea, cândMăsurarea puterii reactiveeste activat, veți vedea șiEAsecțiune după cum urmează:

„EA”: {
„Reactiv”: [
[-111,0, 0,000, 176,750],
[-113,0, 0,000, 179,110],
[-114,0, 36,120, 144,410]
]
}

Această secțiune prezintădate de măsurare reactive, care apare doar atunci cândfuncție de testare reactivăeste activat (vezi captura de ecran de mai jos).

Activați măsurarea reactivă în contor

Fiecare matrice reprezintă cele trei faze (A, B, C), arătândputere reactivă (Q în kVar)șiEnergie reactivă (kVARh).

Q (kVar):Putere reactivă — pozitivă = inductivă, negativă = capacitivăkVARh:Energie reactivă — fiecare fază include două valori kVARh: una pentrusarcină inductivăși unul pentrusarcină capacitivă.


5. Exemplu Python: Abonarea la date în timp real

Mai jos este un script Python funcțional care foloseștepaho-mqttbibliotecă.

import paho.mqtt.client ca mqtt
import json

# Configurare Broker MQTT
MQTT_BROKER = „mqtt.iammeter.com”
MQTT_PORT = 1883
MQTT_USER = „numele_dvs.mqtt” # Setați în IAMMETER Cloud → Setări MQTT
MQTT_PASS = „parola_dvs.mqtt”
TOPIC = „dispozitiv/DA2BED94/timp_real” # Înlocuiți cu propriul SN al dispozitivului

# Apel invers la conectarea la broker
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("✅ Conectare cu succes la IAMMETER MQTT Broker")
client.subscribe(TOPIC)
print(f"📡 Abonat la subiectul: {TOPIC}")
else:
print(f"❌ Conexiunea a eșuat cu codul {rc}")

# Apel invers la primirea unui mesaj
def on_message(client, userdata, msg):
payload = json.loads(msg.payload.decode())
print("📊 Date în timp real primite:")
print(json.dumps(payload, indent=2, ensure_ascii=False))

# Inițializați clientul MQTT
client = mqtt.Client()
client.username_pw_set(MQTT_USER, MQTT_PASS)
client.on_connect = on_connect
client.on_message = on_message

# Conectare la broker și pornire buclă
client.connect(MQTT_BROKER, MQTT_PORT, 60)
client.loop_forever()

6. Exemplu Node.js

Vă recomandăm să încercați acest proiect open-source interesant: Acesta foloseșteNode.jspentru a vă abona la date în timp real de la brokerul IAMMETER MQTT și a le vizualiza într-un formatinterfață de utilizare web, creând un tablou de bord interesant în timp real.

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


7. Cazuri practice de utilizare

  1. Automatizare inteligentă a caseiIntegrați datele energetice în timp real înAsistent acasăsauNod-ROȘUpentru a declanșa acțiuni de automatizare (de exemplu, pornirea unui încălzitor atunci când generarea solară este mare).
  2. Vizualizare date localeStocați datele MQTT primite înInfluxDBși vizualizați-o cuTablouri de bord Grafana.
  3. Cloud privat sau Edge ComputingPreluați date despre energie în timp real direct prin MQTT pentru analize personalizate sau logică de control, fără a vă baza pe IAMMETER Cloud.

8. Depanare

Emisiune Cauză posibilă / Soluție
Nu se poate conecta la broker Verificați dacă numele de utilizator/parola MQTT sunt setate corect în IAMMETER Cloud.
Nu au fost primite date Verificați formatul subiectului (dispozitiv/{SN}/timp real) și asigurați-vă că contorul este online.
Întârziere de date Verificați stabilitatea rețelei sau puterea semnalului Wi-Fi.
Mai mulți metri Te poți abona la mai multe subiecte simultan (unul per SN).

9. Concluzie

FolosindBroker IAMMETER MQTT, puteți accesa cu ușurințăfluxuri de date energetice în timp realde la dispozitivele tale IAMMETER. Este o metodă puternică și flexibilă de a construitablouri de bord locale, automatizări inteligente sau sisteme de optimizare energetică bazate pe inteligență artificială.


📘 Referințe


Ai vrea să fac oVersiune a postării de blog formatată în Markdown(gata de publicat pe blogul oficial IAMMETER, cu evidențierea sintaxei și linkurile de imagini încorporate intacte)?

Top