Oprostite, vaš brskalnik ne podpira JavaScripta!
Prijava

Prejemajte podatke o energiji IAMMETER na svojem strežniku

Prejemajte podatke o energiji IAMMETER na svojem strežniku

Wi-Fi števci energije IAMMETER lahko pošiljajo merilne podatke neposredno na strežnik, MQTT posrednika ali podatkovno platformo v lasti kupca. To razvijalcem in sistemskim integratorjem omogoča, da zgradijo lasten EMS, BMS, storitev IoT, podatkovno zbirko ali nadzorno ploščo brez uporabe IAMMETER-Cloud kot cilja za podatke.

Ta vodnik obravnava integracijo s strani sprejemnega strežnika:

  • vzpostavite testni sprejemnik;
  • zajemite prvi podatkovni paket števca;
  • prepoznajte števec in merilne kanale;
  • normalizirajte in shranite podatke;
  • ocenite obseg vnosa podatkov;
  • pripravite sprejemnik za produkcijsko uporabo.
IAMMETER meter
      │
      │ HTTP/HTTPS, MQTT/MQTTS or TCP/TLS
      ▼
Customer ingestion service
      │
      ├── Raw-payload log
      ├── Time-series or relational database
      ├── EMS / BMS / ERP
      └── Dashboard, report and alarm services

Za zmogljivosti vdelane programske opreme na strani števca in formate naslovov si oglejte Vodnik po lokalnem API-ju in odprtih vmesnikih IAMMETER. Za izbiro arhitekture glejte Razvijte lasten sistem za spremljanje energije.

1. Izbira arhitekture sprejemnika

Števec lahko svoje meritve pošilja prek več prenosnih protokolov. Sprejemni sistem naj izbere eno glavno pot za vnos podatkov.

Prenos Komponenta sprejemnika Dober izhodiščni primer za
HTTP / HTTPS Spletna končna točka Zaledja REST in najpreprostejša prva integracija
MQTT / MQTTS MQTT posrednik in naročnik Obstoječe platforme IoT in podatkovni cevovodi
TCP / TLS Poslušalec vtičnic (socket listener) Namenski zbiralniki in storitve po meri za protokole

HTTP je običajno najlažji način za ogled prvega podatkovnega paketa, ker je uradni testni sprejemnik mogoče zagnati s kratkim primerom v Node.js. MQTT je odlična izbira, kadar je posrednik že del sistema. TCP/TLS zagotavlja integracijo na nižji ravni prek vtičnic, vendar zahteva več inženirskega dela na strani sprejemnika.

Varni prenosi in formati vrat po meri so opisani v trenutnem vodniku po vdelani programski opremi in tukaj niso ponovljeni.

2. Hitri začetek: prejem prvega podatkovnega paketa prek HTTP

IAMMETER ponuja uradni primer HTTP sprejemnika v Node.js za testiranje integracije.

2.1 Zagon testnega sprejemnika

Primer prenesite s:

Zaženite:

node Server.js

Primer posluša na vratih 8000. Ko prispe zahtevek:

  • zbere telo HTTP zahtevka;
  • izpiše URL zahtevka;
  • izpiše naloženo telo;
  • vrne status HTTP 200 z majhnim uspešnim JSON odzivom.

Primer je namerno minimalen. Ne zagotavlja preverjanja pristnosti, trajnega shranjevanja, validacije, omejevanja hitrosti ali varnosti za produkcijsko uporabo.

2.2 Poskrbite, da je sprejemnik dosegljiv

Pred konfiguracijo števca preverite, da:

  • strežnik posluša na pričakovanem vmesniku in vratih;
  • požarni zid dovoljuje povezavo;
  • števec lahko razreši ime domene, kadar se uporablja domena;
  • deluje pot NAT, obratnega posrednika (reverse proxy) ali VPN;
  • končni URL doseže predvideno aplikacijsko pot.

Za test v lokalnem omrežju lahko števec in sprejemnik uporabljata isto lokalno omrežje brez dostopa do interneta. Za oddaljeni sprejemnik mora lokacija imeti pot do strežnika.

2.3 Usmerite števec na sprejemnik

V trenutnem spletnem vmesniku števca izberite način delovanja HTTP in vnesite cilj, na primer:

{server-address}:8000/upload

Nastavitev sprejemne HTTP končne točke v trenutnem spletnem vmesniku IAMMETER

Končne točke HTTPS lahko uporabljajo privzeta ali po meri izbrana vrata. Trenutna pravila za naslove, vključno z https://host:port, so dokumentirana v razdelku o vdelani programski opremi za HTTP/HTTPS.

Po shranjevanju nastavitve preverite konzolo sprejemnika za pot zahtevka in naloženi JSON. Ta prvi surovi podatkovni paket shranite kot testno napravo (test fixture) za poznejše teste razčlenjevalnika in podatkovne zbirke.

3. Razumevanje dohodnega podatkovnega paketa IAMMETER

IAMMETER uporablja dosledno osrednjo JSON strukturo meritev pri vseh podprtih prenosnih protokolih. Prenosni protokol spremeni način prihoda podatkovnega paketa, merilni model pa ostaja dosleden.

Podatkovni paket običajno vključuje polja na ravni naprave, kot so:

  • SN — serijska številka števca za identifikacijo naprave;
  • version — različica vdelane programske opreme števca;
  • method — metoda sporočila ali vrsta podatkovnega paketa;
  • Data ali Datas — merilne matrike.

Data se uporablja za en sam merilni kanal. Datas vsebuje več merilnih matrik za večkanalni ali trifazni števec.

Primer strukture enega kanala:

{
  "method": "uploadsn",
  "mac": "B0F8932A295C",
  "version": "i.75.98.71y",
  "server": "em",
  "SN": "12345678",
  "Data": [228.91, 1.61, 225, 15066.47, 0]
}

Ne vgradite v kodo enega fiksnega števila elementov matrike za vse števce. Število kanalov in razpoložljivih polj je odvisno od modela števca in omogočenih merilnih funkcij.

Pri implementaciji razčlenjevalnika uporabite avtoritativno definicijo:

3.1 Obdelava, značilna za model

Obdelavo, značilno za model, hranite ločeno od prenosnega sprejemnika.

Na primer, WEM3046T in WEM3046TE merita sekundarni izhod 5 A zunanjega tokovnega transformatorja. Njuni vrednosti je treba pretvoriti z ustreznim razmerjem CT, da dobimo meritev na primarni strani. To je značilnost števca in tokovnega transformatorja, ne razlika med HTTP, MQTT ali TCP.

Praktičen cevovod za vnos podatkov zato ločuje:

  1. dekodiranje prenosa;
  2. validacijo JSON;
  3. identifikacijo števca in kanala;
  4. skaliranje ali normalizacijo, značilno za model;
  5. shranjevanje in poslovne izračune.

4. Načrtovanje podatkovnega modela za vnos

Shranite dovolj informacij za reprodukcijo in diagnostiko prvotnega odčitka.

Uporaben minimalni model vključuje:

Polje Namen
Serijska številka števca (SN) Poveže podatkovni paket z registrirano napravo
Indeks kanala ali faze Razlikuje enofazne, split-phase in trifazne podatke
Čas prejema na strežniku Zagotavlja dosleden časovni žig vnosa
Napetost Električna meritev
Tok Električna meritev
Delovna moč Vhod za izračun uvozne/izvozne moči ali obremenitve v realnem času
Uvožena kWh Skupna uvožena energija
Izvožena kWh Skupna izvožena energija
Različica vdelane programske opreme Podpira odpravljanje težav in združljivost razčlenjevalnika
Surovi podatkovni paket Omogoča ponovno predvajanje, revizijo in popravke razčlenjevalnika

Dodatna polja, kot so frekvenca, faktor moči in jalove meritve, shranite, kadar jih zagotavljata izbrani model in konfiguracija.

4.1 Surove in normalizirane podatke hranite ločeno

Za produkcijske sisteme razmislite o ločenem shranjevanju:

  • nespremenljivega zapisa surovega vnosa ali zapisa s kratkim obdobjem hrambe;
  • normaliziranih odčitkov na ravni kanala, ki jih uporablja aplikacija;
  • agregiranih urnih, dnevnih in mesečnih vrednosti.

Tako je mogoče lažje popraviti logiko razčlenjevanja ali razmerij CT, ne da bi pri tem izgubili prvotni podatkovni paket.

4.2 Previdno uporabljajte čas prejema na strežniku

Zabeležite čas, ko je strežnik sprejel podatkovni paket. Če poslovni sistem uporablja tudi časovni žig naprave ali vira, shranite obe vrednosti ločeno, namesto da eno zamenjate z drugo.

Zakasnitve v omrežju, ponovne povezave in obdelava v čakalni vrsti lahko povzročijo, da se čas vnosa razlikuje od časa merjenja. Pred produkcijsko uporabo določite časovni žig, ki ga uporabljajo grafikoni, obračunavanje in alarmi.

5. Implementacija drugih vrst sprejemnikov

5.1 Sprejemnik MQTT ali MQTTS

Za vnos prek MQTT mora sistem kupca zagotoviti:

  • dosegljivega MQTT posrednika;
  • pravila za preverjanje pristnosti in nadzor dostopa;
  • storitev naročnika ali porabnika;
  • validacijo in trajno shranjevanje podatkovnih paketov;
  • spremljanje zdravja posrednika in porabnika.

IAMMETER objavlja podatke v realnem času pod temo naprave, na primer:

device/{SN}/realtime

Uporabite namenski vodnik za konfiguracijo posrednika, poverilnice, teme in posebnosti MQTTS:

MQTT Discovery za Home Assistant ni potreben za splošno integracijo s strežnikom kupca.

5.2 TCP sprejemnik

IAMMETER ponuja minimalen TCP poslušalec v Node.js:

Primer posluša na vratih 8000 in izpisuje prejete podatke. Produkcijski TCP sprejemnik mora dodatno zagotavljati:

  • upravljanje življenjskega cikla povezav;
  • medpomnjenje in validacijo podatkovnih paketov;
  • varno obravnavo delnih ali združenih delov vtičnic;
  • identifikacijo naprav;
  • trajno shranjevanje in obravnavo napak;
  • spremljanje in nadzorovane omejitve virov.

Ne predpostavljajte, da je en dogodek data vtičnice vedno eno celotno aplikacijsko sporočilo.

5.3 TLS sprejemnik

Uradni TLS primer prikazuje poslušalec TLS s strežniškim ključem in potrdilom:

Pred produkcijsko uporabo zamenjajte demonstracijska potrdila in nastavitve z odobrenimi potrdili organizacije ter konfiguracijo upravljanja ključev in varnosti. Sprejemnik naj beleži napake TLS ločeno od napak pri validaciji podatkovnih paketov.

Formati naslovov na strani števca za TCP in TLS so opisani v vodniku po vmesnikih vdelane programske opreme.

6. Načrtovanje intervala pošiljanja in zmogljivosti strežnika

Trenutna vdelana programska oprema podpira interval pošiljanja tretjim osebam do 2 sekund. Kratek interval je uporaben le, kadar sprejemni sistem, shranjevanje in aplikacija potrebujejo dodatno ločljivost.

Približno število zapisov, ki jih ustvari en števec:

Interval pošiljanja Zapisov na števec na dan 100 števcev na dan 1.000 števcev na dan
60 sekund 1.440 144.000 1.440.000
10 sekund 8.640 864.000 8.640.000
2 sekundi 43.200 4.320.000 43.200.000

Te številke predstavljajo dogodke pošiljanja, ne nujno vrstic v podatkovni zbirki. Trifazni podatkovni paket je mogoče normalizirati v več zapisov kanalov, dejanski obseg podatkovne zbirke pa povečajo indeksi, hramba surovih podatkovnih paketov ali podvojeno shranjevanje.

Načrtovanje zmogljivosti mora vključevati:

  • največje število sočasnih povezav;
  • zahtevke ali sporočila na sekundo;
  • stroške razčlenjevanja JSON;
  • množenje vrstic na ravni kanalov;
  • indekse podatkovne zbirke in obdobja hrambe;
  • nadzorne plošče in poizvedbe agregacij;
  • dnevnike, ponovne poskuse in shranjevanje neuspešnih sporočil (dead-letter);
  • promet varnostnih kopij in podvajanja.

Za enosekundni nadzor ali avtomatizacijo v istem lokalnem omrežju razmislite o Modbus TCP namesto o oddaljenem cevovodu za pošiljanje.

7. Zanesljivost in kakovost podatkov

Produkcijski sprejemnik mora pričakovati napake v omrežju in aplikacijah.

7.1 Preverite vsak podatkovni paket

Preverite vsaj:

  • sintakso JSON;
  • obvezna identifikacijska polja;
  • pričakovano strukturo matrik;
  • številske tipe in razumne obsege vrednosti;
  • preslikavo podprtih modelov ali kanalov;
  • različice polj, odvisne od vdelane programske opreme.

Neveljavne podatkovne pakete hranite na nadzorovani diagnostični poti, ne da bi z njimi blokirali delujoče naprave.

7.2 Načrtujte podvojene in manjkajoče prenose

Ne predpostavljajte, da vsak interval ustvari natanko en trajno shranjen zapis. Prekinitve omrežja, vedenje ob ponovni povezavi, ponovni poskusi strežnika ali obdelava v aplikaciji lahko povzročijo manjkajoče ali ponovljene dogodke vnosa.

Določite, kako bo poslovni sistem:

  • zaznaval podvojene zapise;
  • prepoznaval vrzeli;
  • razlikoval tihega števca od okvarjenega sprejemnika;
  • preprečil izračun energije z nepremišljenim seštevanjem kumulativnih registrov kWh;
  • uskladil kumulativno energijo po prekinitvi.

7.3 Spremljajte celotno podatkovno pot

Spremljajte več kot samo spletni proces ali proces vtičnic. Uporabni signali vključujejo:

  • čas zadnjega podatkovnega paketa za vsak števec;
  • število neveljavnih podatkovnih paketov;
  • odzivni čas sprejemnika in stopnjo napak;
  • aktivne povezave TCP/TLS;
  • zaostanek porabnika MQTT;
  • zakasnitev zapisovanja v podatkovno zbirko;
  • globino čakalne vrste;
  • porabo diska in opravila hrambe.

8. Zavarujte sprejemni sistem

Za sprejemnik, izpostavljen internetu:

  • dajte prednost šifriranemu prenosu, ki ga podpira vaša namestitev;
  • omejite izpostavljena vrata in omrežne vire, kjer je to mogoče;
  • uporabite preverjanje pristnosti MQTT in avtorizacijo tem;
  • zaščitite HTTP končne točke z okoliško omrežno ali aplikacijsko varnostno arhitekturo;
  • varno upravljajte potrdila TLS in zasebne ključe;
  • izogibajte se zapisovanju poverilnic ali celotnih občutljivih podatkovnih paketov v dnevnike aplikacije;
  • omejite hitrost in izolirajte nepravilen ali zlorabljen promet;
  • redno posodabljajte operacijski sistem, izvajalno okolje in odvisnosti.

Pred izbiro varnostne zasnove preglejte trenutno vedenje vdelane programske opreme za MQTTS, TLS in HTTPS v vodniku po vdelani programski opremi in odprtih vmesnikih.

9. Kontrolni seznam za produkcijsko uporabo

Števec in omrežje

  • Zabeležena in potrjena različica vdelane programske opreme
  • Serijska številka števca preslikana na pravo lokacijo in kanale
  • Preverjen naslov in vrata cilja
  • Preizkušena pot DNS, požarnega zidu, NAT ali VPN
  • Potrjen zahtevani interval pošiljanja

Sprejemnik

  • Surovi podatkovni paket zajet za vsak model števca v obsegu
  • Testi razčlenjevalnika ustvarjeni iz resničnih podatkovnih paketov
  • Obdelani eno- in večkanalni podatkovni paketi
  • Potrjena obdelava razmerja CT za WEM3046T/E, kjer je to ustrezno
  • Nepravilni in nepodprti podatkovni paketi varno izolirani
  • Sprejemnik vrne ali ohranja vedenje, ki ga pričakuje izbrani prenos

Shranjevanje in delovanje

  • Dokumentirana politika časovnih žigov
  • Dokumentirana politika za podvojene in manjkajoče podatke
  • Zmogljivost podatkovne zbirke izračunana glede na število naprav in interval
  • Omogočeni dnevniki, metrike in opozorila o zadnjem pojavu posameznega števca
  • Preizkušene hramba, varnostne kopije in obnovitev
  • Pregledana potrdila, poverilnice in pravila dostopa
  • Preizkušena prekinitev omrežja in ponovni zagon sprejemnika

10. Povezana dokumentacija

11. Posnetki zaslona starejše konfiguracije na strani števca

Prvotna različica tega dokumenta se je osredotočala na konfiguracijo starejše vdelane programske opreme števcev. Ti posnetki zaslona so ohranjeni le za uporabnike, ki prepoznavajo obstoječo namestitev. Za nove integracije uporabite trenutni spletni vmesnik in najnovejšo vdelano programsko opremo.

Stara TCP stran

Stara konfiguracija TCP strežnika IAMMETER

Stara TLS stran

Stara konfiguracija TLS strežnika IAMMETER

Stara HTTP/HTTPS stran

Stara konfiguracija HTTP/HTTPS strežnika IAMMETER

Starejša dokumentacija o vdelani programski opremi je uporabljala tudi lokalno metodo konfiguracije /api/uploadinterval in opisovala najmanjši interval šestih sekund. Trenutna vdelana programska oprema prikazuje interval v spletnem vmesniku in podpira dokumentiran najmanjši interval 2 sekundi.

Nazadnje posodobljeno: 16. julij 2026

Na vrh