Staré dobré TCP - Bart Digital Products Staré dobré TCP - Bart Digital Products

Staré dobré TCP

Aplikácia klima-online slúži na ovládanie a reguláciu chodu klimatizácií. Užívateľ má plne v rukách, v akých režimoch budú skupiny zariadení fungovať. Jednoduchým nastavením plánov správca budovy určí, kedy sa bude kúriť, kedy chladiť, alebo kedy bude systém vypnutý. Z pohľadu užívateľa a použitých technológií sme o tejto aplikácii písali dávnejšie v inšpiráciách

Táto aplikácia neexistuje len sama o sebe. Komunikuje ešte s dispečerským systémom, ktorý zbiera dáta v pravidelných intervaloch, analyzuje poruchy a posiela upozornenia mailom. Ide o číselné hodnoty ako teplota v priestore, teplota prívodu, stav ventilátora, porucha čerpadla a podobne. Požiadavka tohto systému je jasná – mať všetky dáta také aktuálne, ako je to možné.

Tento externý systém umožňuje komunikáciu viacero spôsobmi. V prvej verzii sme implementovali odosielanie dát metódou HTTP-POST. V praxi to fungovalo tak, že sme v pravidelných intervaloch vyčítali MODBUS registre všetkých zariadení na danej lokalite a poslali ich vo formáte JSON na server. Ako developeri webových technológií pracujeme s JSON na dennej báze, takže implementácia bola v podstate priamočiara. Dodržali sme formát JSON správy podľa dokumentácie a odosielanie dát fungovalo výborne. 

V úvode som spomenul, že pri posielaní dát pracujeme iba s číselnými údajmi a externý systém dokáže prijať aj dátové balíčky protokolu MODBUS-TCP. Tak prečo to nevyužiť? Formát správy protokolu je pomerne jednoduchý a dlho ho hľadať tiež netreba :) Implementovali sme jednoduchý TCP server, ktorý na požiadavku o dáta odpovedá vyčítanými hodnotami registrov zariadenia. Požiadavky posiela externý systém v pravidelných intervaloch niekoľko sekúnd. A aký to celé malo zmysel?

Vizualizácia a monitoring zariadení v kotolni. V modálnom okne je možné ovládať jednotlivé čerpadlá – komunikácia prebehne cez MODBUS-TCP na náš server, ktorý sa postará o obsluhu konkrétneho zariadenia.

Dosiahli sme tým hneď dve veci naraz. Prvá – zmenšila sa veľkosť prenášaných dát. Všetky vyčítané hodnoty posielame ako sériu byte-ov. Systémy si medzi sebou neposielajú žiadne HTTP hlavičky, neposielme žiadne reťazce navyše, ktoré predtým tvorili formát JSON správy. Druhá – externý dispečerský systém umožňuje po tomto protokole aj nastavenia zariadenia zmeniť, čo je v ojedinelých prípadoch žiaduce.

Priebeh merania vonkajšej teploty.

V nasledujúcom kroku nás čaká zlepšiť manažment bežiacich MODBUS-TCP serverov, kde chceme naplno využiť potenciál podman kontajnerov v kombinácii so systemd a umožniť štart, stop, reštart a vyčítanie stavu priamo z aplikácie klima-online.eu z obrazoviek administrátora.