Ho sentim, el teu navegador no admet JavaScript!

Subscripció a dades energètiques en temps real a través de MQTT Broker (edició 2025)

1. Introducció

IAMMETER-núvolés una plataforma professional de monitorització d'energia i gestió fotovoltaica. A més de les seves potents funcions de visualització i informes, IAMMETER-Cloud també proporciona interfícies de dades flexibles. Això permet als usuaris amb requisits personalitzats utilitzar IAMMETER-Cloud com amiddleware de dades, recuperant dades programàticament a través de codi.

Hi ha dues maneres principals d'obtenir dades d'IAMMETER-Cloud mitjançant codi:

  • Subscriu-te a les dades a través deBroker MQTT d'IAMMETER(el focus d'aquest article)
  • Truca al responsable d'IAMMETER-CloudAPI

Aquesta guia explica com subscriure's als temes MQTT d'IAMMETER, interpretar estructures de dades (tant per a comptadors monofàsics com trifàsics) i implementar exemples funcionals de Python i Node.js.


2. Visió general del broker IAMMETER MQTT

Nota:El broker IAMMETER MQTT va ser dissenyat originalment com aservei de desenvolupament i provesper comoditat i no forma part de l'oferta estàndard d'IAMMETER-Cloud (tot i que ha estat estable i funcionant durant més de 5 anys). Per a implementacions de producció o a gran escala, recomanem configurar el vostrepropi corredor MQTT.

Configuració del broker IAMMETER MQTT

paràmetre Descripció
Adreça del corredor mqtt.iammeter.com
Port 1883(no SSL)
Nom d'usuari / Contrasenya S'ha de crear enIAMMETER Cloud → Configuració → Configuració de MQTTCaptura de pantalla de la configuració de MQTT
Format del tema dispositiu/{SN}/temps real
Format de càrrega útil JSON

⚠️ Important:Fesnoutilitzeu les vostres credencials d'inici de sessió d'IAMMETER Cloud aquí. Heu decrear un nom d'usuari i una contrasenya dedicats a MQTTal tauler de control d'IAMMETER Cloud.

Configura el mesurador IAMMETER per utilitzar el mode MQTT

Configura el mesurador IAMÈTER aMode de càrrega MQTT(vegeuguia de configuració del firmware) i introduïu els paràmetres del broker IAMMETER MQTT.

Configura el mesurador al mode de càrrega MQTT i els paràmetres del broker IAMMETER MQTT


3. Format de tema MQTT

Cada dispositiu IAMMETER publica les seves dades en temps real sota el següent tema:

dispositiu/{SN}/temps real

On{SN}és el número de sèrie del vostre comptador. Per exemple, si el número de sèrie del vostre dispositiu ésDA2BED94, el tema serà:

dispositiu/DA2BED94/temps real

Pots subscriure't a aquest tema per rebre dades de mesurament contínues en temps real.


4. Format de dades

4.1 Format de dades del comptador monofàsic

Un mesurador IAMMETER monofàsic publica dades en temps real en format JSON de la següent manera:

{
"mètode": "1-272",
"mac": "B0F8932A295C",
"versió": "i.91.062T6",
"servidor": "em",
"SN": "DA2BED94",
"Dades": [227.02, 1.81, 296.0, 21699.98, 0.00, 50.01, 0.72]
}
índex Camp Descripció Unitat
1 Voltatge Tensió de línia actual V
2 Actual corrent de línia actual A
3 Poder Potència activa W
4 Energia cap endavant Energia importada (consumida) kWh
5 Energia inversa Energia exportada (alimentació, solar) kWh
6 Freqüència Freqüència de xarxa Hz
7 factor de potència Factor de potència actual PF

🟢 Notes:

  • Potència positiva → consum d'energia
  • Potència negativa → exportació d'energia (per exemple, injecció solar)

4.2 Format de dades del comptador trifàsic (WEM3080T / WEM3046T / WEM3050T)

Els mesuradors IAMMETER trifàsics publiquen les dades en un format JSON similar, amb tres matrius corresponents a cada fase.

{
"mètode": "4-9",
"mac": "849DC2CEC625",
"versió": "i.91.062T6",
"servidor": "em",
"SN": "CB0A0CFB",
"EA": {
"Reactiu": [
[-111.0, 0.000, 176.750],
[-113.0, 0.000, 179.110],
[-114.0, 36.120, 144.410]
]
},
"Dades": [
[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]
]
}

Dadesés una llista que contétres matrius, cadascun corresponent afase A, B i CCada matriu interna té la mateixa estructura que la monofàsicaDadesmatriu.

índex Camp Descripció Unitat
1 Voltatge tensió de fase V
2 Actual corrent de fase A
3 Poder Potència activa W
4 Energia cap endavant Energia importada kWh
5 Energia inversa Energia exportada kWh
6 Freqüència Freqüència de xarxa Hz
7 factor de potència Factor de potència de fase PF

A més de les dades d'energia real, quanMesura de la potència reactivaestà activat, també veureu elEAsecció de la següent manera:

«EA»: {
«Reactiu»: [
[-111.0, 0.000, 176.750],
[-113.0, 0.000, 179.110],
[-114.0, 36.120, 144.410]
]
}

Aquesta secció mostradades de mesura reactives, que només apareix quan elfunció de prova reactivaestà activat (vegeu la captura de pantalla següent).

Habilita la mesura reactiva al comptador

Cada matriu representa les tres fases (A, B, C), mostrantpotència reactiva (Q en kVar)iEnergia reactiva (kVARh).

Q (kVar):Potència reactiva — positiva = inductiva, negativa = capacitivakVARh:Energia reactiva: cada fase inclou dos valors de kVARh: un per acàrrega inductivai un percàrrega capacitiva.


5. Exemple de Python: Subscripció a dades en temps real

A continuació es mostra un script de Python que funciona utilitzantpaho-mqttbiblioteca.

importa paho.mqtt.client com a mqtt
importa json

# Configuració del broker MQTT
MQTT_BROKER = "mqtt.iammeter.com"
MQTT_PORT = 1883
MQTT_USER = "el_vostre_nom_d'usuari_mqtt" # Establir a IAMMETER Cloud → Configuració MQTT
MQTT_PASS = "la_vostra_contrasenya_mqtt"
TOPIC = "dispositiu/DA2BED94/temps_real" # Substitueix amb el número de sèrie del teu propi dispositiu

# Trucada de retorn quan es connecta al broker
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("✅ Connectat correctament al broker IAMMETER MQTT")
client.subscribe(TOPIC)
print(f"📡 Subscrit al tema: {TOPIC}")
else:
print(f"❌ La connexió ha fallat amb el codi {rc}")

# Trucada de retorn quan es rep un missatge
def on_message(client, userdata, msg):
payload = json.loads(msg.payload.decode())
print("📊 Dades en temps real rebudes:")
print(json.dumps(payload, indent=2, ensure_ascii=False))

# Inicialitza el client MQTT
client = mqtt.Client()
client.username_pw_set(MQTT_USER, MQTT_PASS)
client.on_connect = on_connect
client.on_message = on_message

# Connecta't al broker i inicia el bucle
client.connect(MQTT_BROKER, MQTT_PORT, 60)
client.loop_forever()

6. Exemple de Node.js

Us recomanem que proveu aquest interessant projecte de codi obert: UtilitzaNode.jsper subscriure's a dades en temps real del broker IAMMETER MQTT i visualitzar-les en uninterfície d'usuari web, creant un quadre de comandament en temps real genial.

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


7. Casos d'ús pràctics

  1. Automatització de la llar intel·ligentIntegrar dades d'energia en temps real enAuxiliar de la llaroNode-VERMELLper activar accions d'automatització (per exemple, engegar un escalfador quan la generació solar és alta).
  2. Visualització de dades localsEmmagatzema les dades MQTT entrants aInfluxDBi visualitzar-ho ambTaulers de control de Grafana.
  3. Núvol privat o computació perimetralRecupereu dades d'energia en temps real directament a través de MQTT per a anàlisis personalitzades o lògica de control sense dependre d'IAMMETER Cloud.

8. Resolució de problemes

Problema Possible causa / solució
No es pot connectar amb el broker Comproveu si el vostre nom d'usuari i contrasenya de MQTT estan correctament configurats a IAMMETER Cloud.
No s'han rebut dades Verifiqueu el format del tema (dispositiu/{SN}/temps real) i assegureu-vos que el comptador estigui en línia.
Retard de dades Comproveu l'estabilitat de la xarxa o la intensitat del senyal Wi-Fi.
Múltiples metres Pots subscriure't a diversos temes simultàniament (un per SN).

9. Conclusió

UtilitzantBroker IAMMETER MQTT, podeu accedir fàcilmentfluxos de dades energètiques en temps realdes dels vostres dispositius IAMMETER. És un mètode potent i flexible per crearquadres de comandament locals, automatitzacions intel·ligents o sistemes d'optimització energètica basats en IA.


📘 Referències


Vols que faci un/unaVersió d'entrada de blog amb format Markdown(llest per publicar al bloc oficial d'IAMMETER, amb el ressaltat de sintaxi i els enllaços d'imatges incrustats intactes)?

Superior