Reāllaika enerģijas datu abonēšana, izmantojot MQTT Broker (2025. gada izdevums)
1. Ievads
IAMMETER-mākonisir profesionāla enerģijas monitoringa un fotoelektrisko elementu pārvaldības platforma. Papildus jaudīgajām vizualizācijas un pārskatu veidošanas funkcijām, IAMMETER-Cloud nodrošina arī elastīgas datu saskarnes. Tas ļauj lietotājiem ar pielāgotām prasībām izmantot IAMMETER-Cloud kādatu starpprogrammatūra, programmatiski izgūstot datus, izmantojot kodu.
Ir divi galvenie veidi, kā iegūt datus no IAMMETER-Cloud, izmantojot kodu:
- Abonēt datus, izmantojotIAMMETER MQTT brokeris(šī raksta uzmanības centrā)
- Zvaniet IAMMETER-Cloud pārstāvimAPI
Šajā rokasgrāmatā ir paskaidrots, kā abonēt IAMMETER MQTT tēmas, interpretēt datu struktūras (gan vienfāzes, gan trīsfāžu skaitītājiem) un ieviest darbojošos Python un Node.js piemērus.
2. IAMMETER MQTT brokera pārskats
Piezīme:IAMMETER MQTT brokeris sākotnēji tika izstrādāts kāizstrādes un testēšanas pakalpojumsērtības labad un nav daļa no standarta IAMMETER-Cloud piedāvājuma (lai gan tas ir bijis stabils un darbojas jau vairāk nekā 5 gadus). Ražošanas vai liela mēroga izvietošanas vajadzībām iesakām iestatīt savupašu MQTT brokeris.
IAMMETER MQTT brokera konfigurācija
| parametrs | Apraksts |
|---|---|
| Brokera adrese | mqtt.iammeter.com |
| Osta | 1883(bez SSL) |
| Lietotājvārds / Parole | JāizveidoIAMMETER mākonis → Iestatījumi → MQTT iestatījumi![]() |
| Tēmas formāts | ierīce/{SN}/reāllaiks |
| Derīgās slodzes formāts | JSON |
⚠️ Svarīgi:DarītneŠeit izmantojiet savus IAMMETER Cloud pieteikšanās akreditācijas datus. Jums ir nepieciešamsizveidojiet īpašu MQTT lietotājvārdu un paroliIAMMETER Cloud informācijas panelī.
Konfigurējiet IAMMETER mērītāju MQTT režīma izmantošanai
Iestatiet IAMPERMETER mērītāju uzMQTT augšupielādes režīms(skatītprogrammaparatūras konfigurācijas ceļvedis) un ievadiet IAMMETER MQTT brokera parametrus.

3. MQTT tēmas formāts
Katra IAMMETER ierīce publicē savus reāllaika datus šādā tēmā:
ierīce/{SN}/reāllaiks
Kur{SN}ir jūsu skaitītāja sērijas numurs.
Piemēram, ja jūsu ierīces sērijas numurs irDA2BED94, tēma būs:
ierīce/DA2BED94/reāllaiks
Jūs varat abonēt šo tēmu, lai saņemtu nepārtrauktus reāllaika mērījumu datus.
4. Datu formāts
4.1 Vienfāzes skaitītāja datu formāts
Vienfāzes IAMMETER skaitītājs publicē reāllaika datus JSON formātā šādi:
{
"metode": "1-272",
"mac": "B0F8932A295C",
"versija": "i.91.062T6",
"serveris": "em",
"SN": "DA2BED94",
"Dati": [227,02, 1,81, 296,0, 21699,98, 0,00, 50,01, 0,72]
}
| rādītājs | Lauks | Apraksts | Vienība |
|---|---|---|---|
| 1 | Spriegums | Pašreizējais līnijas spriegums | V |
| 2 | Pašreizējais | Pašreizējā līnijas strāva | A |
| 3 | Jauda | Aktīvā jauda | W |
| 4 | Uz priekšu vērsta enerģija | Importētā enerģija (patērētā) | kWh |
| 5 | Apgrieztā enerģija | Eksportētā enerģija (ievadīta elektrotīklā, saules enerģija) | kWh |
| 6 | Biežums | Tīkla frekvence | Hz |
| 7 | spēka faktors | Pašreizējā jaudas koeficients | PF |
🟢 Piezīmes:
- Pozitīva jauda → enerģijas patēriņš
- Negatīva jauda → enerģijas eksports (piemēram, saules enerģijas padeve)
4.2 Trīsfāžu skaitītāja datu formāts (WEM3080T / WEM3046T / WEM3050T)
Trīsfāžu IAMMETER skaitītāji publicē datus līdzīgā JSON formātā, kur katrai fāzei atbilst trīs masīvi.
{
"metode": "4-9",
"mac": "849DC2CEC625",
"versija": "i.91.062T6",
"serveris": "em",
"SN": "CB0A0CFB",
"EA": {
"Reaktīvs": [
[-111,0, 0,000, 176,750],
[-113,0, 0,000, 179,110],
[-114,0, 36,120, 144,410]
]
},
"Dati": [
[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]
]
}
Datiir saraksts, kurā irtrīs masīvi, katrs atbilstA, B un C fāzeKatram iekšējam masīvam ir tāda pati struktūra kā vienfāzesDatimasīvs.
| rādītājs | Lauks | Apraksts | Vienība |
|---|---|---|---|
| 1 | Spriegums | fāzes spriegums | V |
| 2 | Pašreizējais | fāzes strāva | A |
| 3 | Jauda | Aktīvā jauda | W |
| 4 | Uz priekšu vērsta enerģija | Importētā enerģija | kWh |
| 5 | Apgrieztā enerģija | Eksportētā enerģija | kWh |
| 6 | Biežums | Tīkla frekvence | Hz |
| 7 | spēka faktors | Fāzes jaudas koeficients | PF |
Papildus reālajiem jaudas datiem, kadReaktīvās jaudas mērīšanair iespējots, jūs redzēsiet arīEAsadaļu šādi:
“EA”: {
“Reaktīvs”: [
[-111,0, 0,000, 176,750],
[-113,0, 0,000, 179,110],
[-114,0, 36,120, 144,410]
]
}
Šajā sadaļā ir parādītsreaktīvo mērījumu dati, kas parādās tikai tad, kadreaktīvā testa funkcijair iespējots (skatīt ekrānuzņēmumu zemāk).

Katrs masīvs attēlo trīs fāzes (A, B, C), parādotreaktīvā jauda (Q kVar)unReaktīvā enerģija (kVARh).
Q (kVar):Reaktīvā jauda — pozitīva = induktīva, negatīva = kapacitatīvakVARh:Reaktīvā enerģija — katra fāze ietver divas kVARh vērtības: vienu priekšinduktīvā slodzeun viens priekškapacitatīvā slodze.
5. Python piemērs: reāllaika datu abonēšana
Zemāk ir redzams darbojošs Python skripts, kas izmantopaho-mqttbibliotēka.
importēt paho.mqtt.client kā mqtt
importēt json
# MQTT brokera konfigurācija
MQTT_BROKER = "mqtt.iammeter.com"
MQTT_PORT = 1883
MQTT_USER = "jūsu_mqtt_lietotājvārds" # Iestatīt IAMMETER mākonī → MQTT iestatījumi
MQTT_PASS = "jūsu_mqtt_parole"
TOPIC = "device/DA2BED94/realtime" # Aizstāt ar savas ierīces SN
# Atzvanīšana, kad izveidots savienojums ar brokeri
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("✅ Veiksmīgi izveidots savienojums ar IAMMETER MQTT brokeri")
client.subscribe(TOPIC)
print(f"📡 Abonēts tēmai: {TOPIC}")
else:
print(f"❌ Savienojums neizdevās ar kodu {rc}")
# Atzvanīšana, kad saņemts ziņojums
def on_message(client, userdata, msg):
payload = json.loads(msg.payload.decode())
print("📊 Saņemti reāllaika dati:")
print(json.dumps(payload, indent=2, ensure_ascii=False))
# MQTT klienta inicializācija
client = mqtt.Client()
client.username_pw_set(MQTT_USER, MQTT_PASS)
client.on_connect = on_connect
client.on_message = on_message
# Izveido savienojumu ar brokeri un sāc ciklu
client.connect(MQTT_BROKER, MQTT_PORT, 60)
client.loop_forever()
6. Node.js piemērs
Iesakām izmēģināt šo interesanto atvērtā pirmkoda projektu: Tas izmantoNode.jsabonēt reāllaika datus no IAMMETER MQTT brokera un vizualizēt tostīmekļa lietotāja saskarne, izveidojot lielisku reāllaika informācijas paneli.
🔗 https://github.com/lewei50/iammeterJS
7. Praktiski lietošanas gadījumi
- Viedās mājas automatizācijaIntegrēt reāllaika jaudas datusMājas palīgsvaiMezgls-SARKANSlai aktivizētu automatizācijas darbības (piemēram, ieslēgtu sildītāju, kad saules enerģijas ģenerēšana ir augsta).
- Lokālā datu vizualizācijaSaglabāt ienākošos MQTT datusInfluxDBun vizualizējiet to arGrafana informācijas paneļi.
- Privātais mākonis vai Edge ComputingIegūstiet reāllaika jaudas datus tieši, izmantojot MQTT, pielāgotai analīzei vai vadības loģikai, nepaļaujoties uz IAMMETER Cloud.
8. Problēmu novēršana
| Problēma | Iespējamais iemesls / risinājums |
|---|---|
| Nevar izveidot savienojumu ar brokeri | Pārbaudiet, vai jūsu MQTT lietotājvārds/parole ir pareizi iestatīta IAMMETER mākonī. |
| Nav saņemti dati | Pārbaudiet tēmas formātu (ierīce/{SN}/reāllaiks) un pārliecinieties, vai skaitītājs ir tiešsaistē. |
| Datu aizkave | Pārbaudiet tīkla stabilitāti vai Wi-Fi signāla stiprumu. |
| Vairāki metri | Varat abonēt vairākas tēmas vienlaikus (vienu katrā SN). |
9. Secinājums
IzmantojotIAMPĒTERA MQTT brokeris, jūs varat viegli piekļūtreāllaika enerģijas datu plūsmasno jūsu IAMMETER ierīcēm. Tā ir jaudīga un elastīga metode, lai izveidotulokāli informācijas paneļi, viedās automatizācijas vai mākslīgā intelekta enerģijas optimizācijas sistēmas.
📘 Atsauces
- IAMMETER programmaparatūra un komunikācijas funkcijas
- IAMMETER mākoņa un MQTT API dokumentācija
- Izstrādājiet savu enerģijas monitoringa informācijas paneli, izmantojot NodeJS
Vai vēlaties, lai es uztaisuMarkdown formatēta emuāra ieraksta versija(gatavs publicēšanai IAMMETER oficiālajā emuārā ar neskartu sintakses izcelšanu un iegultajām attēlu saitēm)?
