{"id":15204,"date":"2022-12-09T13:58:14","date_gmt":"2022-12-09T12:58:14","guid":{"rendered":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/?p=15204"},"modified":"2025-07-25T09:47:26","modified_gmt":"2025-07-25T07:47:26","slug":"jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika","status":"publish","type":"post","link":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\/","title":{"rendered":"Jak monitorowa\u0107 temperatur\u0119 i wilgotno\u015b\u0107 w biurze z wykorzystaniem panelu Astraada HMI, czujnik\u00f3w ELA i routera Teltonika"},"content":{"rendered":"\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"dowiesz-sie\">\n<h3>Z tego artyku\u0142u dowiesz si\u0119:<\/h3>\n<ul class=\"bulleted\">\n<li>jak zbudowa\u0107 aplikacj\u0119 do monitorowania danych wysy\u0142anych z czujnik\u00f3w w oprogramowaniu Astraada HMI CFG,<\/li>\n<li>w jaki spos\u00f3b skonfigurowa\u0107 protok\u00f3\u0142 MQTT w aplikacji Astraada HMI CFG,<\/li>\n<li>jak monitorowa\u0107 dane pomiarowe na serwerze,<\/li>\n<li>w jaki spos\u00f3b skonfigurowa\u0107 router, aby pe\u0142ni\u0142 role brokera i wysy\u0142a\u0142 dane z czujnik\u00f3w po protokole mqtt na okre\u015blone tematy.<\/li>\n<\/ul>\n<\/div>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Monitorowanie temperatury czy wilgotno\u015bci w odleg\u0142ych od siebie lokalizacjach (pomieszczeniach) za pomoc\u0105 jednego panelu, na kt\u00f3ry przesy\u0142ane s\u0105 wszystkie zarejestrowane dane pomiarowe, jest bardzo praktyczne. Nie trzeba chodzi\u0107 i kolejno sprawdza\u0107 wyniki pomiar\u00f3w \u2013 zamiast tego monitorujemy je z jednego miejsca. Mo\u017cliwo\u015b\u0107 tak\u0105 daje panel operatorski Astraada HMI w po\u0142\u0105czeniu z czujnikami ELA Innovation oraz routerem Teltonika RUTX11.<\/p>\n\n\n\n<p>W tym artykule poka\u017cemy, jak zbudowa\u0107 prosty system monitorowania temperatury i wilgotno\u015bci w biurze za pomoc\u0105 aplikacji Astraada HMI CFG oraz w jaki spos\u00f3b dane z czujnik\u00f3w s\u0105 do niego wysy\u0142ane.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Tworzenie nowego projektu<\/h2>\n\n\n\n<p>Na samym pocz\u0105tku po pobraniu i zainstalowaniu aplikacji Astraada HMI CFG ze strony <a href=\"https:\/\/www.astor.com.pl\/wsparcie\/dokumentacja-techniczna\/id\/9593\"><strong>wsparcia technicznego ASTOR<\/strong><\/a> nale\u017cy zacz\u0105\u0107 od stworzenia nowego projektu.<\/p>\n\n\n\n<div class=\"link-box d-flex align-items-center\">\r\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/themes\/poradnik\/public\/images\/icons\/icon-link.svg\" alt=\"arrow\" class=\"ml-3\">\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<div><p>Je\u017celi chcesz pozna\u0107 podstawy programowania paneli Astraada HMI i dowiedzie\u0107 si\u0119, jak stworzy\u0107 nowy projekt, zapoznaj si\u0119 z naszym bezp\u0142atnym kursem <a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/programowanie-paneli-hmi-kurs-dla-automatykow\/\"><strong>Programowanie paneli HMI \u2013 kurs dla automatyk\u00f3w<\/strong><\/a>.<\/p>\n<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Edycja ekran\u00f3w aplikacji<\/strong><\/h2>\n\n\n\n<p>W tej cz\u0119\u015bci zaczniemy tworzenie aplikacji, kt\u00f3ra b\u0119dzie wizualizowa\u0142a monitorowanie temperatury i wilgotno\u015bci w ka\u017cdym z pokoj\u00f3w biura. Biuro ma 8 pokoi i w ka\u017cdym b\u0119dzie wy\u015bwietlana bie\u017c\u0105ca warto\u015b\u0107 temperatury i wilgotno\u015bci. Po klikni\u0119ciu w dany obszar pokoju otworzy si\u0119 okno z Data Loggerem.<\/p>\n\n\n\n<p>Edycja ekranu startowego mo\u017cliwa jest po dwukrotnym klikni\u0119ciu w niego w drzewie projektu:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"709\" height=\"654\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-1.png\" alt=\"\" class=\"wp-image-15248\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>W polu <strong><em>Screen Name<\/em><\/strong> wpisujemy nazw\u0119 ekranu. Ni\u017cej definiujemy typ ekranu <strong><em>Normal Screen<\/em><\/strong> (ekran podstawowy zajmuj\u0105cy ca\u0142y obszar wy\u015bwietlacza) oraz reszt\u0119 parametr\u00f3w.<\/p>\n\n\n\n<p>Na pocz\u0105tek wgramy z dysku zdj\u0119cie rzutu biura w formacie .png, kt\u00f3re b\u0119dzie g\u0142\u00f3wnym elementem aplikacji.<\/p>\n\n\n\n<p>W tym celu wybieramy z menu <strong><em>Draw -&gt; Picture -&gt; Import Picture From File<\/em><\/strong> i wybieramy zdj\u0119cie, kt\u00f3re dopasowujemy do ekranu:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1395\" height=\"983\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Apka0.gif\" alt=\"\" class=\"wp-image-15250\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Nast\u0119pnie dodajemy opisy pomieszcze\u0144, aby widok by\u0142 bardziej czytelny.<\/p>\n\n\n\n<p>Z menu <strong><em>Draw<\/em><\/strong> wybieramy <strong>Text<\/strong>, wstawiamy go w wybrane pomieszczenie i dwuklikiem przechodzimy do jego ustawie\u0144:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"408\" height=\"479\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-2.png\" alt=\"\" class=\"wp-image-15252\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Po formatowaniu nasz ekran wygl\u0105da tak jak na zdj\u0119ciu poni\u017cej:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"938\" height=\"477\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-3.png\" alt=\"\" class=\"wp-image-15253\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-3.png 938w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-3-840x427.png 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-3-768x391.png 768w\" sizes=\"auto, (max-width: 938px) 100vw, 938px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Teraz przejdziemy do utworzenia nowego ekranu zawieraj\u0105cego nag\u0142\u00f3wek, kt\u00f3ry b\u0119dzie wy\u015bwietlany na g\u00f3rze ka\u017cdego z ekran\u00f3w. Nowy ekran b\u0119dzie mia\u0142 typ <strong><em>Window Screen<\/em><\/strong>, na wz\u00f3r okna Windows, aby by\u0142o mo\u017cna je przesun\u0105\u0107:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1443\" height=\"903\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Apka1.gif\" alt=\"\" class=\"wp-image-15255\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Na nag\u0142\u00f3wku zamie\u015bcimy takie informacje, jak logo firmy, opis, dat\u0119 i godzin\u0119. Logo wstawiamy w identyczny spos\u00f3b, jak rysunek rzutu biura, a opis w formie tekstu tak, jak opis pomieszcze\u0144.<\/p>\n\n\n\n<p>Dat\u0119 oraz godzin\u0119 wybieramy z paska <strong><em>Object Toolbar<\/em><\/strong> i formatujemy:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1627\" height=\"146\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-4.png\" alt=\"\" class=\"wp-image-15257\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-4.png 1627w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-4-840x75.png 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-4-768x69.png 768w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-4-1536x138.png 1536w\" sizes=\"auto, (max-width: 1627px) 100vw, 1627px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:34px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Uwaga<\/strong>: Je\u015bli nie widzimy tego paska, wybieramy z menu <strong><em>View<\/em><\/strong> i zaznaczamy <strong><em>Object Toolbar<\/em><\/strong>:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"655\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-5.png\" alt=\"\" class=\"wp-image-15258\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Nasz nag\u0142\u00f3wek wygl\u0105da tak:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1017\" height=\"76\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-6.png\" alt=\"\" class=\"wp-image-15260\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-6.png 1017w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-6-840x63.png 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-6-768x57.png 768w\" sizes=\"auto, (max-width: 1017px) 100vw, 1017px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Dodanie go do ekranu Biuro odbywa si\u0119 za pomoc\u0105 elementu <strong><em>Windaw Screen Display<\/em><\/strong> z menu <strong><em>Object<\/em><\/strong>, dwuklikiem przechodzimy do konfiguracji i dopasowujemy nag\u0142\u00f3wek do ekranu.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1375\" height=\"903\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Apka2.gif\" alt=\"\" class=\"wp-image-15261\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Konfiguracja MQTT w panelu Astraada HMI<\/h2>\n\n\n\n<div class=\"link-box d-flex align-items-center\">\r\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/themes\/poradnik\/public\/images\/icons\/icon-link.svg\" alt=\"arrow\" class=\"ml-3\">\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<div><p>Szczeg\u00f3\u0142owa instrukcja odno\u015bnie do konfiguracji MQTT w aplikacji Astraada HMI CFG opisana zosta\u0142a w artykule <a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/komunikacja-mqtt-w-panelach-astraada-hmi\/\"><strong data-rich-text-format-boundary=\"true\">Komunikacja MQTT w panelach Astraada HMI<\/strong><\/a><\/p>\n<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\n\n\n\n<p><\/p>\n\n\n\n<p>W naszym projekcie chcemy, aby panel m\u00f3g\u0142 publikowa\u0107 oraz subskrybowa\u0107 dane pomiarowe czujnik\u00f3w na okre\u015blony temat \u201eRHT\u201d.<\/p>\n\n\n\n<p>Zaczynamy od przygotowania routera RUTX11, kt\u00f3ry b\u0119dzie pe\u0142ni\u0142 funkcj\u0119 brokera o nast\u0119puj\u0105cych parametrach:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>adres: 192.168.1.1<\/li>\n\n\n\n<li>port: 1883<\/li>\n<\/ul>\n\n\n\n<div class=\"link-box d-flex align-items-center\">\r\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/themes\/poradnik\/public\/images\/icons\/icon-link.svg\" alt=\"arrow\" class=\"ml-3\">\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<div><p>Podstawowa konfiguracja routera zosta\u0142a przedstawiona w artykule <a href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/podstawowa-konfiguracja-routera-dla-sieci-przemyslowej-dostep-do-internetu-publiczny-ip-lan-wifi-resetowanie-routera-ddns-kurs-zdalnego-dostepu-do-maszyn-i-stanowisk-produkcyjnych-odc\/\"><strong>Podstawowa konfiguracja routera dla sieci przemys\u0142owej \u2013 dost\u0119p do Internetu, publiczny IP, LAN, WiFi, resetowanie routera, DDNS<\/strong><\/a><\/p>\n<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\n\n\n\n<p><\/p>\n\n\n\n<p>W zak\u0142adce <strong><em>MQTT Client<\/em><\/strong> z w\u0119z\u0142a <strong><em>Link<\/em><\/strong> z drzewa projektu konfigurujemy po\u0142\u0105czenie mi\u0119dzy brokerem a panelem Astraada HMI.<\/p>\n\n\n\n<p>Otwarte zostanie okno z konfiguracj\u0105 MQTT, w kt\u00f3rym nale\u017cy zaznaczy\u0107 opcj\u0119 ENABLE i uzupe\u0142ni\u0107 informacj\u0119 o brokerze:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"428\" height=\"616\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-7.png\" alt=\"\" class=\"wp-image-15263\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Na pocz\u0105tku nale\u017cy okre\u015bli\u0107 temat publikacji, subskrypcji oraz tre\u015b\u0107 wiadomo\u015bci. Dokonamy tego wybieraj\u0105c z drzewka projektowego opcj\u0119 <strong>Text Format Table<\/strong>:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"188\" height=\"322\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-8.png\" alt=\"\" class=\"wp-image-15264\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Wy\u015bwietli nam si\u0119 tabela z trzema kolumnami: <strong><em>ID, Name, Language 1<\/em><\/strong>. W naszym przypadku b\u0119dziemy mie\u0107 jeden wsp\u00f3lny temat dla publikacji i subskrypcji, wi\u0119c tre\u015b\u0107 wiadomo\u015bci te\u017c b\u0119dzie mia\u0142a taki sam format dla obu tryb\u00f3w \u2013 wystarczy zdefiniowa\u0107 jedn\u0105 tre\u015b\u0107 wiadomo\u015bci.<\/p>\n\n\n\n<p>Wobec tego za pomoc\u0105 ikony <strong><em>NEW<\/em><\/strong> tworzymy dwa wiersze. W kolumnie <strong><em>Name<\/em><\/strong> wpisujemy dowoln\u0105 nazw\u0119, a w\u0142a\u015bciwy tekst zdefiniujemy w kolumnie <strong><em>Language 1<\/em><\/strong>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pierwszy wiersz stanowi tekst wiadomo\u015bci \u2013 tekst b\u0119dzie przesy\u0142a\u0142 zmienn\u0105, dlatego musi zosta\u0107 ona zdefiniowana. W naszym przyk\u0142adzie b\u0119dziemy odczytywa\u0107 t\u0105 sam\u0105 wiadomo\u015b\u0107, jak\u0105 wysy\u0142amy do brokera.<\/li>\n\n\n\n<li>Drugi wiersz przedstawia form\u0119 tematu, na jaki b\u0119dziemy publikowa\u0107 i subskrybowa\u0107 dane. W naszym przypadku b\u0119dzie to wsp\u00f3lny temat \u201eRHT\u201d.<\/li>\n<\/ul>\n\n\n\n<p>Podanym wierszom nale\u017cy jeszcze nada\u0107 odpowiednie cechy, \u017ceby mog\u0142y by\u0107 wykorzystane do konkretnych cel\u00f3w. Aby to zrobi\u0107, zale\u017cy zaznaczy\u0107 wybrany tekst i klikn\u0105\u0107 przycisk <strong><em>Property<\/em><\/strong>. W przypadku wiersza drugiego wystarczy zaznaczy\u0107 odpowiednie pola w <strong><em>Specific Purposes<\/em><\/strong>:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"866\" height=\"612\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-9.png\" alt=\"\" class=\"wp-image-15265\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-9.png 866w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-9-840x594.png 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-9-768x543.png 768w\" sizes=\"auto, (max-width: 866px) 100vw, 866px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Natomiast w przypadku wiersza pierwszego, opr\u00f3cz zaznaczenia odpowiednich p\u00f3l <strong><em>w Specific Purposes<\/em><\/strong>, definiujemy zmienn\u0105 <strong><em>$U1000<\/em><\/strong>, kt\u00f3ra b\u0119dzie naszym ci\u0105giem JSON. Zatwierdzamy przyciskiem OK. Ostatnim krokiem jest wpisanie w tre\u015b\u0107 wiadomo\u015bci znaku zdefiniowanej zmiennej \u2013 \u201e%1\u201d:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"868\" height=\"602\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-10.png\" alt=\"\" class=\"wp-image-15266\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-10.png 868w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-10-840x583.png 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-10-768x533.png 768w\" sizes=\"auto, (max-width: 868px) 100vw, 868px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Nasza tabela powinna mie\u0107 nast\u0119puj\u0105ca form\u0119:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"498\" height=\"129\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-11.png\" alt=\"\" class=\"wp-image-15268\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>W nast\u0119pnym kroku powracamy do zak\u0142adki <strong><em>MQTT Client<\/em><\/strong> i przeprowadzamy dalsz\u0105 konfiguracj\u0119. Jedn\u0105 z rzeczy, kt\u00f3ra zrobimy, jest zaznaczenie i wybranie zdefiniowanego przez nas tematu publikacji i subskrypcji:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"719\" height=\"121\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-12.png\" alt=\"\" class=\"wp-image-15269\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Dobrym zwyczajem jest monitorowanie dzia\u0142ania MQTT, \u017ceby nie publikowa\u0107\/subskrybowa\u0107 danych na marne. Pomo\u017ce to r\u00f3wnie\u017c szybciej zauwa\u017cy\u0107, gdzie w obs\u0142udze MQTT jest b\u0142\u0105d. Do tego u\u017cyjemy elementu <strong>Bit lamp<\/strong>. B\u0119dzie on sygnalizowa\u0142 status MQTT \u2013 czy jest ono w\u0142\u0105czone, czy wy\u0142\u0105czone.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1343\" height=\"907\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Apka3.gif\" alt=\"\" class=\"wp-image-15270\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Dalej utworzymy specjalne makra, za pomoc\u0105 kt\u00f3rych odbywa\u0107 si\u0119 b\u0119dzie komunikacja MQTT. Napiszemy w sumie trzy r\u00f3\u017cne makra do trybu publikacji, subskrypcji i do zdefiniowania sta\u0142ych zmiennych.<\/p>\n\n\n\n<p>Zacznijmy od makra publikacji.<\/p>\n\n\n\n<p>Tworzymy nowe makro, wybieraj\u0105c z drzewa projektu <strong><em>Macros -&gt; Native Scripts -&gt; Add Script<\/em><\/strong> i nadajemy dowoln\u0105 nazw\u0119, w naszym przypadku b\u0119dzie to <strong><em>PUBLISH<\/em><\/strong>.<\/p>\n\n\n\n<p>Do publikacji wiadomo\u015bci skorzystamy z komendy: <strong><em>A = Mqtt_IF (B, C, D).<\/em><\/strong><\/p>\n\n\n\n<p>W naszym przypadku do zmiennej <strong><em>result<\/em><\/strong> przypiszemy funkcj\u0119 <strong><em>Mqtt_IF<\/em><\/strong>. Warto\u015bci w nawiasie po kolei oznaczaj\u0105:<\/p>\n\n\n\n<p>1 \u2013 nasz temat \u201eRHT\u201d zaznaczony przy Topic ID 1.<\/p>\n\n\n\n<p>2 \u2013 tekst naszej wiadomo\u015bci zapisany w Text Format Table o ID 00002.<\/p>\n\n\n\n<p>0 \u2013 wys\u0142anie wiadomo\u015bci bez \u017cadnych potwierdze\u0144 dostarczenia.<\/p>\n\n\n\n<p>Zmienne takie jak <strong><em>result<\/em><\/strong> definiujemy w opcji <strong><em>Tags<\/em><\/strong>, umieszczonej w drzewie projektowym.<\/p>\n\n\n\n<p>Zgodnie z powy\u017cszym nasze makro b\u0119dzie mia\u0142o nast\u0119puj\u0105c\u0105 posta\u0107:<\/p>\n\n\n\n<p><strong>0\\result = MqttP_IF (1,2,0)<\/strong><\/p>\n\n\n\n<p>Aby opublikowa\u0107 nasz\u0105 wiadomo\u015b\u0107 na serwerze, u\u017cyjemy elementu <strong><em>Bit Button<\/em><\/strong>, w kt\u00f3rym zawrzemy stworzone przez nas makro.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1343\" height=\"907\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Apka4.gif\" alt=\"\" class=\"wp-image-15271\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Nast\u0119pnym krokiem b\u0119dzie utworzenie nowego makra o nazwie <strong><em>STA\u0141E<\/em><\/strong> i zdefiniowanie w nim sta\u0142ych, do kt\u00f3rych b\u0119d\u0105 przypisane nazwy czujnik\u00f3w. Nazwy czujnik\u00f3w odpowiadaj\u0105 numerowi pokoju, w kt\u00f3rym si\u0119 znajduj\u0105.<\/p>\n\n\n\n<p><strong>0\\czujnik8 = &#8222;8&#8221;<\/strong><\/p>\n\n\n\n<p><strong>0\\czujnik9 = &#8222;9&#8221;<\/strong><\/p>\n\n\n\n<p><strong>0\\czujnik10 = &#8222;10&#8221;<\/strong><\/p>\n\n\n\n<p><strong>0\\czujnik11 = &#8222;11&#8221;<\/strong><\/p>\n\n\n\n<p><strong>0\\czujnik12 = &#8222;12&#8221;<\/strong><\/p>\n\n\n\n<p><strong>0\\czujnik13 = &#8222;13&#8221;<\/strong><\/p>\n\n\n\n<p><strong>0\\czujnik14 = &#8222;14&#8221;<\/strong><\/p>\n\n\n\n<p><strong>0\\czujnik15 = &#8222;15&#8221;<\/strong><\/p>\n\n\n\n<p>Ten skrypt wystarczy, \u017ce wykona si\u0119 tylko raz przy starcie aplikacji, wi\u0119c powi\u0105\u017cemy go z aplikacj\u0105 w zak\u0142adce <strong><em>General Setup<\/em><\/strong>. Zaznaczamy pozycj\u0119 <strong><em>Startup Macro<\/em><\/strong> i w zak\u0142adce, kt\u00f3ra si\u0119 pojawi\u0142a, wybieramy makro <strong><em>STA\u0141E<\/em><\/strong>.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1343\" height=\"907\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Apka5.gif\" alt=\"\" class=\"wp-image-15273\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Ostatnim elementem konfiguracji MQTT b\u0119dzie napisanie makra do trybu subskrypcji <strong><em>CONVERT<\/em><\/strong>. Makro to b\u0119dzie odbiera\u0107 informacje przychodz\u0105ce na serwer, por\u00f3wnywa\u0107 nazwy czujnik\u00f3w, konwertowa\u0107 dane i zapisywa\u0107 w zmiennych.<\/p>\n\n\n\n<p>Skrypt rozpoczniemy od wykorzystania funkcji <strong><em>MqttGet<\/em><\/strong>, kt\u00f3ra odbiera informacje o najnowszej wiadomo\u015bci od brokera. W zmiennej \u201enazwa\u201d b\u0119dzie przechowywany napis <strong><em>Nazwa<\/em><\/strong>. Dalej za pomoc\u0105 funkcji <strong><em>GetJsonVal <\/em><\/strong>pobieramy nazw\u0119 czujnika w ci\u0105gu JSON o adresie <strong><em>$U1000<\/em><\/strong>, konwertujemy j\u0105 na typ danych STR i zapisujemy wynik w zmiennej <strong><em>wynik_nazwy<\/em><\/strong>. W zmiennej <strong><em>wynikJson<\/em><\/strong> b\u0119dzie zapisane, czy operacja si\u0119 powiod\u0142a czy te\u017c nie.<\/p>\n\n\n\n<p>Nast\u0119pnie za pomoc\u0105 funkcji <strong><em>STRCMP<\/em><\/strong> por\u00f3wnujemy ze sob\u0105 dwa stringi \u2013 nazw\u0119 czujnika zdefiniowan\u0105 w skrypcie <strong><em>STA\u0141E<\/em><\/strong> z nazw\u0105 odebran\u0105 przez broker.<\/p>\n\n\n\n<p>Je\u015bli zdefiniowane i odebrane nazwy s\u0105 takie same (czyli funkcja zwraca warto\u015b\u0107 0) to wykonuj\u0105 si\u0119 dalsze instrukcje zwi\u0105zane z funkcj\u0105 <strong><em>GetJsonVal<\/em><\/strong>. Na koniec wykonywana jest konwersja ASCII -&gt; INT przy pomocy funkcji <strong><em>A2I<\/em><\/strong>, \u017ceby warto\u015bci temperatury mo\u017cna by\u0142o wy\u015bwietli\u0107 za pomoc\u0105 elementu <strong><em>numeric display<\/em><\/strong>.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>0\\msgLen = MqttGet (0\\topic&#091;0], $U1000, 0\\topicLen)\n0\\nazwa = L\"Nazwa\"\n0\\wynikJson = GetJsonVal($U1000,0\\nazwa ,0\\wynik_nazwy) (STR)\n\n0\\porownanie8 = STRCMP(0\\wynik_nazwy,0\\czujnik8)\n0\\porownanie9 = STRCMP(0\\wynik_nazwy,0\\czujnik9)\n0\\porownanie10 = STRCMP(0\\wynik_nazwy,0\\czujnik10)\n0\\porownanie11 = STRCMP(0\\wynik_nazwy,0\\czujnik11)\n0\\porownanie12 = STRCMP(0\\wynik_nazwy,0\\czujnik12)\n0\\porownanie13 = STRCMP(0\\wynik_nazwy,0\\czujnik13)\n0\\porownanie14 = STRCMP(0\\wynik_nazwy,0\\czujnik14)\n0\\porownanie15 = STRCMP(0\\wynik_nazwy,0\\czujnik15)\nif 0\\porownanie8 == 0\n    0\\nazwa_t = L\u201d&#091;0].Dane.temperature\"\n    0\\wynikJson = GetJsonVal($U1000, 0\\nazwa_t, 0\\wynik_temp8) (STR)\n    0\\nazwa_h = L\u201d&#091;0]. Dane.humidity\"\n    0\\wynikJson = GetJsonVal($U1000, 0\\nazwa_h, 0\\wynik_hum8) (STR)\nendif\nif 0\\porownanie9 == 0\n   0\\nazwa_t = L\"&#091;0].Dane.temperature\"\n   0\\wynikJson = GetJsonVal($U1000,0\\nazwa_t, 0\\wynik_temp9) (STR)\n   0\\nazwa_h = L\"&#091;0].Dane.humidity\"\n   0\\wynikJson = GetJsonVal($U1000, 0\\nazwa_h, 0\\wynik_hum9) (STR)\nendif\nif 0\\porownanie10 == 0\n   0\\nazwa_t = L\"&#091;0].Dane.temperature\"\n   0\\wynikJson = GetJsonVal($U1000, 0\\nazwa_t, 0\\wynik_temp10) (STR)\n   0\\nazwa_h = L\"&#091;0].Dane.humidity\"\n   0\\wynikJson = GetJsonVal($U1000, 0\\nazwa_h, 0\\wynik_hum10) (STR)\nendif\nif 0\\porownanie11 == 0\n   0\\nazwa_t = L\"&#091;0].Dane.temperature\"\n   0\\wynikJson = GetJsonVal($U1000, 0\\nazwa_t, 0\\wynik_temp11) (STR)\n   0\\nazwa_h = L\"&#091;0].Dane.humidity\"\n   0\\wynikJson = GetJsonVal($U1000, 0\\nazwa_h, 0\\wynik_hum11) (STR)\nendif\nif 0\\porownanie12 == 0\n   0\\nazwa_t = L\"&#091;0].Dane.temperature\"\n   0\\wynikJson = GetJsonVal($U1000, 0\\nazwa_t, 0\\wynik_temp12) (STR)\n   0\\nazwa_h = L\"&#091;0].Dane.humidity\"\n   0\\wynikJson = GetJsonVal($U1000, 0\\nazwa_h, 0\\wynik_hum12) (STR)  \nendif\nif 0\\porownanie13 == 0\n   0\\nazwa_t = L\"&#091;0].Dane.temperature\"\n   0\\wynikJson = GetJsonVal($U1000, 0\\nazwa_t, 0\\wynik_temp13) (STR)\n   0\\nazwa_h = L\"&#091;0].Dane.humidity\"\n   0\\wynikJson = GetJsonVal($U1000, 0\\nazwa_h, 0\\wynik_hum13) (STR)\nendif \nif 0\\porownanie14 == 0\n   0\\nazwa_t = L\"&#091;0].Dane.temperature\"\n   0\\wynikJson = GetJsonVal($U1000, 0\\nazwa_t, 0\\wynik_temp14) (STR)\n   0\\nazwa_h = L\"&#091;0].Dane.humidity\"\n   0\\wynikJson = GetJsonVal($U1000, 0\\nazwa_h, 0\\wynik_hum14) (STR)\nendif \nif 0\\porownanie15 == 0\n   0\\nazwa_t = L\"&#091;0].Dane.temperature\"\n   0\\wynikJson = GetJsonVal($U1000, 0\\nazwa_t, 0\\wynik_temp15) (STR)\n   0\\nazwa_h = L\"&#091;0].Dane.humidity\"\n   0\\wynikJson = GetJsonVal($U1000, 0\\nazwa_h, 0\\wynik_hum15) (STR)\nendif \n\/\/ASCII-&gt;INT\n0\\wynik_t8 = A2I(0\\wynik_temp8,4,0)(S)\n0\\wynik_h8 = A2I(0\\wynik_hum8,4,0)(S)\n0\\wynik_t9 = A2I(0\\wynik_temp9,4,0)(S)\n0\\wynik_h9 = A2I(0\\wynik_hum9,4,0)(S)\n0\\wynik_t10 = A2I(0\\wynik_temp10,4,0)(S)\n0\\wynik_h10 = A2I(0\\wynik_hum10,4,0)(S)\n0\\wynik_t11 = A2I(0\\wynik_temp11,4,0)(S)\n0\\wynik_h11 = A2I(0\\wynik_hum11,4,0)(S)\n0\\wynik_t12 = A2I(0\\wynik_temp12,4,0)(S)\n0\\wynik_h12 = A2I(0\\wynik_hum12,4,0)(S)\n0\\wynik_t13 = A2I(0\\wynik_temp13,4,0)(S)\n0\\wynik_h13 = A2I(0\\wynik_hum13,4,0)(S)\n0\\wynik_t14 = A2I(0\\wynik_temp14,4,0)(S)\n0\\wynik_h14 = A2I(0\\wynik_hum14,4,0)(S)\n0\\wynik_t15 = A2I(0\\wynik_temp15,4,0)(S)\n0\\wynik_h15 = A2I(0\\wynik_hum15,4,0)(S)<\/code><\/pre>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><em>Dodatkowe informacje dotycz\u0105ce powy\u017cszego kodu<\/em><\/strong><\/h3>\n\n\n\n<p>Je\u015bli tekst poprzedza litera \u201eL\u201d to jeden znak zapisywany jest na jednym bajcie, np.:<\/p>\n\n\n\n<p><strong>0\\nazwa = L\u201dNazwa\u201d<\/strong><\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"343\" height=\"255\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/tabelka1.jpg\" alt=\"\" class=\"wp-image-15210\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>U\u017cywamy tej opcji tylko w przypadku, gdy wykorzystujemy p\u00f3\u017aniej funkcj\u0119 GetJsonVal, kt\u00f3ra konwertuje tekst do zmiennej okre\u015blonego typu.<\/p>\n\n\n\n<p>Tekst zdefiniowany bez litery \u201eL\u201d zapisze si\u0119 w zmiennej jako ci\u0105g, np.:<\/p>\n\n\n\n<p><strong>0\\czujnik10 = \u201e10\u201d<\/strong><\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"421\" height=\"91\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/tabelka2.jpg\" alt=\"\" class=\"wp-image-15212\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Kropka umieszczona przed tekstem pozwala nam wej\u015b\u0107 jeden poziom g\u0142\u0119biej w strukturze formatu JSON. Np. gdy mamy dane zapisane w takim formacie JSON:<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n\"Nazwa\": \"8\",\n\"Dane\":{\n       \u201dtemperature\": \"23\",\n      \"humidity\": \"50\"\n            }\n}<\/code><\/pre>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>to \u017ceby odnie\u015b\u0107 si\u0119 do \u201etemperature\u201d musimy u\u017cy\u0107 zapisu \u201e.Dane.temperature\u201d<\/p>\n\n\n\n<p>STR \u2013 8-bitowy ci\u0105g zako\u0144czony znakiem NULL<\/p>\n\n\n\n<p>Wszystkie zmienne u\u017cyte w skryptach definiujemy w w\u0119\u017ale <strong><em>Tags -&gt; Interial Memory<\/em><\/strong> i wygl\u0105daj\u0105 one nast\u0119puj\u0105co:<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<table border><tbody><tr><td><strong>tag<\/strong><\/td><td><strong>data type<\/strong><\/td><td><strong>addr<\/strong><\/td><td><strong>alias for<\/strong><\/td><td><strong>scan rate<\/strong><\/td><td><strong>exposed<\/strong><\/td><\/tr><tr><td><strong>result<\/td><td>16-Bit Unsigned Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>topic<\/td><td>16-Bit Unsigned Integer[72]<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>msgLen<\/td><td>16-Bit Unsigned Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>topicLen<\/td><td>16-Bit Unsigned Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>czujnik8<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>czujnik9<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>czujnik10<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>czujnik11<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>czujnik12<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>czujnik13<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>czujnik14<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>czujnik15<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>porownanie8<\/td><td>16-Bit Unsigned Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>porownanie9<\/td><td>16-Bit Unsigned Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>porownanie10<\/td><td>16-Bit Unsigned Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>porownanie11<\/td><td>16-Bit Unsigned Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>porownanie12<\/td><td>16-Bit Unsigned Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>porownanie13<\/td><td>16-Bit Unsigned Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>porownanie14<\/td><td>16-Bit Unsigned Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>porownanie15<\/td><td>16-Bit Unsigned Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_nazwy<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_temp8<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_temp9<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_temp10<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_temp11<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_temp12<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_temp13<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_temp14<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_temp15<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_t8<\/td><td>16-Bit Signed Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_t9<\/td><td>16-Bit Signed Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_t10<\/td><td>16-Bit Signed Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_t11<\/td><td>16-Bit Signed Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_t12<\/td><td>16-Bit Signed Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_t13<\/td><td>16-Bit Signed Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_t14<\/td><td>16-Bit Signed Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_t15<\/td><td>16-Bit Signed Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>nazwa<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynikJson<\/td><td>16-Bit Unsigned Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_hum8<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_hum9<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_hum10<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_hum11<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_hum12<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_hum13<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_hum14<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_hum15<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_h8<\/td><td>16-Bit Signed Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_h9<\/td><td>16-Bit Signed Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_h10<\/td><td>16-Bit Signed Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_h11<\/td><td>16-Bit Signed Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_h12<\/td><td>16-Bit Signed Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_h13<\/td><td>16-Bit Signed Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_h14<\/td><td>16-Bit Signed Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>wynik_h15<\/td><td>16-Bit Signed Integer<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>nazwa_t<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><tr><td>nazwa_h<\/td><td>STRING<\/td><td>AUTO-2097152<\/td><td>n\/a<\/td><td>Normal<\/td><td>No<\/td><\/tr><\/tbody><\/table>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Teraz wr\u00f3cimy do naszego ekranu Biuro i dodamy elementy wy\u015bwietlaj\u0105ce temperatur\u0119 i wilgotno\u015b\u0107 w ka\u017cdym z pokoj\u00f3w. Procedura jest taka sama dla wy\u015bwietlania temperatury, jak i wilgotno\u015bci \u2013 wybieramy odpowiednie do ka\u017cdego pokoju zmienne zamienione z ASCII na INT ze skryptu <strong><em>CONVERT wynik_t[8-15], wynik_h[8-15]<\/em><\/strong> i konfigurujemy dany element.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1343\" height=\"907\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Apka6.gif\" alt=\"\" class=\"wp-image-15275\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Ko\u0144cowy efekt wstawiania element\u00f3w <strong><em>Numeric Display<\/em><\/strong> do pokoj\u00f3w prezentuje si\u0119 tak jak na poni\u017cszym rysunku:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1026\" height=\"761\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-13.png\" alt=\"\" class=\"wp-image-15276\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-13.png 1026w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-13-840x623.png 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-13-768x570.png 768w\" sizes=\"auto, (max-width: 1026px) 100vw, 1026px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Data Logger<\/h2>\n\n\n\n<p>Przydatn\u0105 funkcjonalno\u015bci\u0105, kt\u00f3r\u0105 oferuje panel Astraada HMI, jest mo\u017cliwo\u015b\u0107 utworzenia Data Logger\u00f3w &#8211; obiekt\u00f3w do gromadzenia danych. Dzi\u0119ki nim stworzymy wizualizacj\u0119, kt\u00f3ra u\u0142atwi nam p\u00f3\u017aniejsze analizy.<\/p>\n\n\n\n<p>Klikamy na w\u0119ze\u0142 <strong><em>Data Loggers -&gt; Add Data Loggers<\/em><\/strong>. Zaczynamy od wpisania nazwy i zdefiniowania, kt\u00f3re dane chcemy zapisywa\u0107. W naszym przypadku b\u0119d\u0105 to zmienne <strong><em>wynik_t[8-15] i wynik_h[8-15].<\/em><\/strong> W Data Logger mo\u017cemy zapisywa\u0107 tylko jedn\u0105 dan\u0105, wi\u0119c musimy wi\u0119c utworzy\u0107 16 Data Logger\u00f3w \u2013 po dwa na ka\u017cdy czujnik (temperatura i wilgotno\u015b\u0107). Wielko\u015b\u0107 bufora przechowuj\u0105cego dane ustawiamy na 100 s\u0142\u00f3w bitowych, a interwa\u0142 pobierania danych ustawiamy na 1 sekund\u0119.<\/p>\n\n\n\n<p>Zaznaczamy <strong><em>Save Data to File<\/em><\/strong> i ustalamy parametry zapisu danych do plik\u00f3w. Stworzony zostanie plik .csv w okre\u015blonym miejscu na dysku. Plik zostanie stworzony tylko raz a dane s\u0105 do niego dopisywane. Powiadomienia o zapisie danych do pliku nie b\u0119d\u0105 wy\u015bwietlane.<\/p>\n\n\n\n<p>Ca\u0142a konfiguracja dla pokoju nr 8 wygl\u0105da nast\u0119puj\u0105co:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1069\" height=\"652\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-14.png\" alt=\"\" class=\"wp-image-15278\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-14.png 1069w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-14-840x512.png 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-14-768x468.png 768w\" sizes=\"auto, (max-width: 1069px) 100vw, 1069px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Przechodzimy do drugiej zak\u0142adki <strong><em>Data Item<\/em><\/strong>, tam dodajemy nazw\u0119 zmiennej, kt\u00f3ra b\u0119dzie widoczna w pliku i obiektach graficznych. Dla Data Logger\u00f3w zwi\u0105zanych z temperatur\u0105 zmienna b\u0119dzie mia\u0142a nazw\u0119 <strong><em>\u201ePoziom temperatury\u201d<\/em><\/strong>, a dla zwi\u0105zanych z wilgotno\u015bci\u0105 \u2013 <strong><em>\u201ePoziom wilgotno\u015bci\u201d.<\/em><\/strong> Powinno to wygl\u0105da\u0107 tak, jak na poni\u017cszych ilustracjach:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1240\" height=\"658\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-15.png\" alt=\"\" class=\"wp-image-15279\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-15.png 1240w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-15-840x446.png 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-15-768x408.png 768w\" sizes=\"auto, (max-width: 1240px) 100vw, 1240px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1272\" height=\"656\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-16.png\" alt=\"\" class=\"wp-image-15280\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-16.png 1272w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-16-840x433.png 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-16-768x396.png 768w\" sizes=\"auto, (max-width: 1272px) 100vw, 1272px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Chcemy, aby po naci\u015bni\u0119ciu na obszar danego pokoju pojawia\u0142 si\u0119 ekran z Data Loggerem. Tworzymy zatem 8 nowych ekran\u00f3w <strong><em>DataLogger[8-15]<\/em><\/strong> z poni\u017cszymi parametrami.&nbsp; Ekrany te b\u0119d\u0105 w trybie <strong><em>Window Screen<\/em><\/strong>, aby by\u0142o mo\u017cna je otworzy\u0107 klikaj\u0105c na okre\u015blony przycisk oraz zamkn\u0105\u0107.<\/p>\n\n\n\n<p>Dla pokoju nr 8 dodawanie ekranu wygl\u0105da nast\u0119puj\u0105co:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"705\" height=\"651\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-17.png\" alt=\"\" class=\"wp-image-15281\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Po zdefiniowaniu wszystkich ekran\u00f3w powinny by\u0107 one widoczne w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"181\" height=\"202\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-18.png\" alt=\"\" class=\"wp-image-15282\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Do ka\u017cdego z ekran\u00f3w Data Loggera dodajemy nast\u0119puj\u0105ce elementy:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><em>Nag\u0142\u00f3wek <\/em><\/strong>(wstawiamy tak samo, jak do ekranu Biuro)<\/li>\n\n\n\n<li><strong><em>Historic Data Table<\/em><\/strong> wraz z suwakiem, aby wy\u015bwietla\u0107 dane w postaci tabeli \u2013 po jednym dla temperatury i wilgotno\u015bci<\/li>\n\n\n\n<li><strong><em>Historic Trend Graph<\/em><\/strong> wraz z suwakiem, aby wy\u015bwietla\u0107 dane w postaci wykresu \u2013 po jednym dla temperatury i wilgotno\u015bci<\/li>\n\n\n\n<li>Przycisk <strong><em>Screen Button<\/em><\/strong> do zamkni\u0119cia ekranu<\/li>\n<\/ul>\n\n\n\n<p>Dodawanie tych element\u00f3w dla pokoju nr 8 wygl\u0105da tak:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1384\" height=\"907\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Apka7.gif\" alt=\"\" class=\"wp-image-15283\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong><em>Uwaga:<\/em><\/strong><\/p>\n\n\n\n<p>Elementy <strong><em>Historic Data Table <\/em><\/strong>oraz<strong><em> Historic Trend Graph <\/em><\/strong>maj\u0105 przypisane<strong><em> ID. <\/em><\/strong>Dodaj\u0105c <strong><em>Scroll Bar<\/em><\/strong> musimy w polu <strong><em>Asscociated Object ID<\/em><\/strong> wybra\u0107 ID elementu, do kt\u00f3rego chcemy do\u0142\u0105czy\u0107 <strong><em>Scroll Bar<\/em><\/strong>.<\/p>\n\n\n\n<p>Po sformatowaniu ekran DataLogger8 wygl\u0105da u nas tak:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"550\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-19.png\" alt=\"\" class=\"wp-image-15285\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-19.png 1015w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-19-840x455.png 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-19-768x416.png 768w\" sizes=\"auto, (max-width: 1015px) 100vw, 1015px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Na ekranie Biuro w poszczeg\u00f3lnych pokojach wstawiamy elementy <strong><em>Screen Button<\/em><\/strong>, otwieraj\u0105ce nowo utworzone ekrany <strong><em>DataLogger[8-15]<\/em><\/strong>. Przyciski b\u0119d\u0105 prze\u017aroczyste, obejmuj\u0105ce ca\u0142\u0105 powierzchni\u0119 pokoju, aby u\u017cytkownik klikaj\u0105c na obszar pokoju zosta\u0142 przeniesiony do odpowiedniego ekranu:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"613\" height=\"668\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-20.png\" alt=\"\" class=\"wp-image-15287\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong><em>Uwaga:<\/em><\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ka\u017cdy z dodanych element\u00f3w mo\u017cemy dodatkowo sformatowa\u0107 wed\u0142ug uznania (nada\u0107 kolor, tekst).<\/li>\n\n\n\n<li>Przyk\u0142ady wykonane s\u0105 dla pokoju nr 8. Czynno\u015bci wykonujemy w taki sam spos\u00f3b dla pozosta\u0142ych pokoj\u00f3w.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Konfiguracja czujnik\u00f3w ELA Innovation<\/h2>\n\n\n\n<p>Aby czujniki zbiera\u0142y dane \u015brodowiskowe (temperatur\u0119 i wilgotno\u015b\u0107), trzeba je aktywowa\u0107 i skonfigurowa\u0107 moc oraz cz\u0119stotliwo\u015b\u0107 nadawania. W tym celu korzystamy z aplikacji Device Manager PC, kt\u00f3r\u0105 pobra\u0107 nale\u017cy ze strony producenta czujnik\u00f3w &#8211; <a href=\"https:\/\/elainnovation.com\/en\/device-manager-suite\/\">Ela Innovation Device Manager PC<\/a>. Konfiguracja jest bardzo prosta i odbywa si\u0119 poprzez czytnik NFC. W naszym przypadku u\u017cyjemy czujnik\u00f3w RHT, musimy zmieni\u0107 dodatkowo ich nazwy, tak aby odpowiada\u0142y numerowi pokoju, w kt\u00f3rym si\u0119 znajduj\u0105.<\/p>\n\n\n\n<p>Konfiguracja powinna wygl\u0105da\u0107 tak, jak poni\u017cej:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"525\" height=\"786\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-Astraada-HMI-czujnikow-ELA-i-routera-Teltonika.png\" alt=\"\" class=\"wp-image-23479\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-Astraada-HMI-czujnikow-ELA-i-routera-Teltonika.png 525w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-Astraada-HMI-czujnikow-ELA-i-routera-Teltonika-490x734.png 490w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"link-box d-flex align-items-center\">\r\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/themes\/poradnik\/public\/images\/icons\/icon-link.svg\" alt=\"arrow\" class=\"ml-3\">\r\n\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<div><p>Wi\u0119cej o czujnikach dowiesz si\u0119 z artyku\u0142u Pierwsze kroki z czujnikami ELA. Bezprzewodowe zbieranie danych w praktyce<\/p>\n<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Konfiguracja MQTT routera Teltonika RUTX11<\/h2>\n\n\n\n<p>Przejdziemy teraz do aplikacji konfiguracyjnej routera, wpisuj\u0105c w przegl\u0105dark\u0119 jego adres IP i loguj\u0105c si\u0119.<\/p>\n\n\n\n<p>Na pocz\u0105tku nale\u017cy z menu <strong><em>SERVICES<\/em><\/strong> przej\u015b\u0107 do zak\u0142adki <strong><em>MQTT<\/em><\/strong> i aktywowa\u0107 opcj\u0119 <strong><em>MQTT Broker,<\/em><\/strong> aby router m\u00f3g\u0142 pe\u0142ni\u0107 funkcj\u0119 serwera:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"879\" height=\"249\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-22.png\" alt=\"\" class=\"wp-image-15289\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-22.png 879w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-22-840x238.png 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-22-768x218.png 768w\" sizes=\"auto, (max-width: 879px) 100vw, 879px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Aby router m\u00f3g\u0142 odbiera\u0107 paczki danych pomiarowych wysy\u0142ane przez czujniki, musi by\u0107 on z nimi sparowany.<\/p>\n\n\n\n<p>W tym celu wybieramy <strong><em>SERVICES -&gt;<\/em><\/strong> <strong><em>BLUETOOTH<\/em><\/strong>, po czym przesuwamy <strong><em>Enable Bluetooth<\/em><\/strong> na <strong><em>\u201eon\u201d<\/em><\/strong> i rozpoczynamy skanowanie czujnik\u00f3w. Je\u015bli na li\u015bcie zeskanowanych czujnik\u00f3w jest ten, kt\u00f3ry nas interesuje \u2013 zaznaczamy go i klikamy <strong><em>PAIR<\/em><\/strong>. Zatwierdzamy dokonane zmiany przyciskiem <strong><em>SAVE&amp;APPLY<\/em><\/strong>:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1533\" height=\"888\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-23.png\" alt=\"\" class=\"wp-image-15290\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-23.png 1533w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-23-840x487.png 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-23-768x445.png 768w\" sizes=\"auto, (max-width: 1533px) 100vw, 1533px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong><em>Uwaga:<\/em><\/strong><\/p>\n\n\n\n<p>Zaleca si\u0119 zaznaczenie <strong><em>STORE DATA<\/em><\/strong>.<\/p>\n\n\n\n<p>Przechodzimy do <strong><em>DATA TO SERVER <\/em><\/strong>z menu<strong><em> SERVICES<\/em><\/strong>, gdzie mo\u017cemy doda\u0107 i skonfigurowa\u0107 czujnik, kt\u00f3ry zebrane dane wysy\u0142a na broker \u2013 w naszym przypadku router wysy\u0142a dane \u201esam na siebie\u201d. Klikamy <strong>ADD<\/strong> i przechodzimy do konfiguracji czujnika. Wybieramy <strong><em>SAVE&amp;APLLY,<\/em><\/strong> aby zapisa\u0107 zmiany:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1902\" height=\"983\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Apka8.gif\" alt=\"\" class=\"wp-image-15291\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Wgrywanie projektu z aplikacji Astraada HMI CFG na fizyczny panel<\/h2>\n\n\n\n<p>Zobaczmy teraz efekt ko\u0144cowy na panelu Astraada HMI, w naszym przypadku jest to model AS46TFT1207. Aby wgra\u0107 projekt z aplikacji na panel, nale\u017cy go zapisa\u0107, skompilowa\u0107 i za\u0142adowa\u0107 za pomoc\u0105 trzech ikon zaznaczonych poni\u017cej na \u017c\u00f3\u0142to.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"753\" height=\"32\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-24.png\" alt=\"\" class=\"wp-image-15292\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong><em>Uwaga:<\/em><\/strong><\/p>\n\n\n\n<p>Je\u015bli projekt prawid\u0142owo dzia\u0142a na symulacji, a na panelu nie, sprawd\u017a, czy klikaj\u0105c na przycisk <strong>Download <\/strong>masz zaznaczone checkboxy tak, jak na ilustracji poni\u017cej:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"498\" height=\"202\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-25.png\" alt=\"\" class=\"wp-image-15293\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>A tak wygl\u0105da nasza aplikacja na panelu Astraada HMI:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"840\" height=\"587\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-26.jpg\" alt=\"\" class=\"wp-image-15295\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-26.jpg 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-26-768x537.jpg 768w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"840\" height=\"567\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-27.jpg\" alt=\"\" class=\"wp-image-15296\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-27.jpg 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-27-768x518.jpg 768w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Monitorowanie informacji na serwerze<\/h2>\n\n\n\n<p>Do monitorowania danych przesy\u0142anych na serwer skorzystamy z narz\u0119dzia <strong><em>MQTT EXPLORER<\/em><\/strong>, kt\u00f3re mo\u017cemy pobra\u0107 ze sklepu Microsoft.<\/p>\n\n\n\n<p>Po uruchomieniu zainstalowanej aplikacji nale\u017cy doda\u0107 nasz broker, do kt\u00f3rego b\u0119dzie \u0142\u0105czy si\u0119 MQTT Explorer:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"704\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Apka9.gif\" alt=\"\" class=\"wp-image-15297\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>MQTT Explorer domy\u015blnie subskrybuje wszystkie tematy, wystarczy wi\u0119c poczeka\u0107, a\u017c na podany przez nas temat w <strong><em>DATA TO SERVER<\/em><\/strong> przyjdzie paczka danych. Mo\u017cna w ten spos\u00f3b por\u00f3wna\u0107, czy dane pomiarowe na ekranie Biuro s\u0105 takie same, jak tu.<\/p>\n\n\n\n<p>Z poziomu naszego narz\u0119dzia mo\u017cna r\u00f3wnie\u017c publikowa\u0107 dane na wybrany temat. W aplikacji Astraada HMI CFG zdefiniowali\u015bmy temat \u201eRHT\u201d do subskrypcji oraz dane \u201eNazwa\u201d, \u201etemperature\u201d i \u201ehumidity\u201d \u2013 wi\u0119c w naszym przypadku powinno to wygl\u0105da\u0107 tak:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"443\" height=\"313\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-28.png\" alt=\"\" class=\"wp-image-15298\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong><em>Uwaga:<\/em><\/strong><\/p>\n\n\n\n<p>Je\u017celi chcemy, aby dane z czujnik\u00f3w by\u0142y wysy\u0142ane automatycznie przez router dzi\u0119ki <strong><em>DATA TO SERVER<\/em><\/strong>, to w skrypcie <strong><em>CONVERT<\/em><\/strong> przy zmiennych <strong><em>0\\nazwa_t<\/em><\/strong> i <strong><em>0\\nazwa_h<\/em><\/strong> nale\u017cy doda\u0107 indeksowanie <strong><strong>L<\/strong>\u201d<strong><em>[0].Dane.temperature<\/em><\/strong>\u201d<\/strong>.<\/p>\n\n\n\n<p>Jednak je\u015bli chcemy wysy\u0142a\u0107 dane r\u0119cznie poprzez jakie\u015b narz\u0119dzie (np. <strong><em>MQTT Explorer<\/em><\/strong>), to rezygnujemy z indeksowania <strong><em>L&#8221;.Dane.temperature&#8221;.<\/em><\/strong><\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n            <div id=\"mailerlite-form_9\" data-temp-id=\"69f0c5715310e\">\n                <div class=\"mailerlite-form\">\n                    <form action=\"\" method=\"post\" novalidate>\n                                                    <div class=\"mailerlite-form-title\"><h3>Newsletter Poradnika Automatyka<\/h3><\/div>\n                                                <div class=\"mailerlite-form-description\"><p>Czytaj trendy i inspiracje, podstawy automatyki, automatyk\u0119 w praktyce<\/p>\n<\/div>\n                        <div class=\"mailerlite-form-inputs\">\n                                                                                            <div class=\"mailerlite-form-field\">\n                                    <label for=\"mailerlite-9-field-email\">Email<\/label>\n                                    <input id=\"mailerlite-9-field-email\"\n                                           type=\"email\" required=\"required\"                                            name=\"form_fields[email]\"\n                                           placeholder=\"Email\"\/>\n                                <\/div>\n                                                        <div class=\"mailerlite-form-loader\">Please wait...<\/div>\n                            <div class=\"mailerlite-subscribe-button-container\">\n                                <button class=\"mailerlite-subscribe-submit\" type=\"submit\">\n                                    Zapisz si\u0119                                <\/button>\n                            <\/div>\n                            <input type=\"hidden\" name=\"form_id\" value=\"9\"\/>\n                            <input type=\"hidden\" name=\"action\" value=\"mailerlite_subscribe_form\"\/>\n                            <input type=\"hidden\" name=\"ml_nonce\" value=\"da894fc8ee\"\/>\n                        <\/div>\n                        <div class=\"mailerlite-form-response\">\n                                                            <h4><p>Dzi\u0119kujemy za zapis do newslettera!<\/p>\n<\/h4>\n                                                    <\/div>\n                    <\/form>\n                <\/div>\n            <\/div>\n        <script type=\"text\/javascript\" src='https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/plugins\/official-mailerlite-sign-up-forms\/assets\/js\/localization\/validation-messages.js'><\/script>\n         <script type=\"text\/javascript\"> var selectedLanguage = \"pl\"; var validationMessages = messages[\"en\"]; if(selectedLanguage) { validationMessages = messages[selectedLanguage]; } window.addEventListener(\"load\", function () { var form_container = document.querySelector(`#mailerlite-form_9[data-temp-id=\"69f0c5715310e\"] form`); let submitButton = form_container.querySelector('.mailerlite-subscribe-submit'); submitButton.disabled = true; fetch('https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-admin\/admin-ajax.php', { method: 'POST', headers:{ 'Content-Type': 'application\/x-www-form-urlencoded', }, body: new URLSearchParams({ \"action\" : \"ml_create_nonce\", \"ml_nonce\" : form_container.querySelector(\"input[name='ml_nonce']\").value }) }) .then((response) => response.json()) .then((json) => { if(json.success) { form_container.querySelector(\"input[name='ml_nonce']\").value = json.data.ml_nonce; submitButton.disabled = false; } }) .catch((error) => { console.error('Error:', error); }); form_container.addEventListener('submit', (e) => { e.preventDefault(); let data = new URLSearchParams(new FormData(form_container)).toString(); let validationError = false; document.querySelectorAll('.mailerlite-form-error').forEach(el => el.remove()); Array.from(form_container.elements).forEach((input) => { if(input.type !== 'hidden') { if(input.required) { if(input.value == '') { validationError = true; let error = document.createElement(\"span\"); error.className = 'mailerlite-form-error'; error.textContent = validationMessages.required; input.after(error); return false; } } if((input.type == \"email\") && (!validateEmail(input.value))) { validationError = true; let error = document.createElement(\"span\"); error.className = 'mailerlite-form-error'; error.textContent = validationMessages.email; input.after(error); return false; } } }); if(validationError) { return false; } fade.out(form_container.querySelector('.mailerlite-subscribe-button-container'), () => { fade.in(form_container.querySelector('.mailerlite-form-loader')); }); fetch('https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-admin\/admin-ajax.php', { method: 'POST', headers:{ 'Content-Type': 'application\/x-www-form-urlencoded', }, body: data }) .then((response) => { fade.out(form_container.querySelector('.mailerlite-form-inputs'), () => { fade.in(form_container.querySelector('.mailerlite-form-response')); }); }) .catch((error) => { console.error('Error:', error); }); }); }, false); var fade = { out: function(el, fn = false) { var fadeOutEffect = setInterval(function () { if (!el.style.opacity) { el.style.opacity = 1; } if (el.style.opacity > 0) { el.style.opacity -= 0.1; } else { el.style.display = 'none'; clearInterval(fadeOutEffect); } }, 50); if( typeof (fn) == 'function') { fn(); } }, in: function(el) { var fadeInEffect = setInterval(function () { if (!el.style.opacity) { el.style.opacity = 0; } if (el.style.opacity < 1) { el.style.opacity = Number(el.style.opacity) + 0.1; } else { el.style.display = 'block'; clearInterval(fadeInEffect); } }, 50); } }; function validateEmail(email){ if(email.match( \/^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$\/ )) { return true; } return false; } <\/script> \n","protected":false},"excerpt":{"rendered":"<p>W tym artykule poka\u017cemy, jak zbudowa\u0107 prosty system monitorowania temperatury i wilgotno\u015bci w biurze, wykorzystuj\u0105cy panel operatorski Astraada HMI w po\u0142\u0105czeniu z czujnikami ELA Innovation oraz routerem Teltonika RUTX11.<\/p>\n","protected":false},"author":75,"featured_media":15295,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[234],"tags":[96,239,204],"class_list":["post-15204","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-automatyka-w-praktyce","tag-astraada-hmi-panel","tag-ela-innovation","tag-teltonika"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\r\n<title>Jak monitorowa\u0107 temperatur\u0119 i wilgotno\u015b\u0107 w biurze z wykorzystaniem panelu Astraada HMI, czujnik\u00f3w ELA i routera Teltonika | Poradnik Automatyka<\/title>\r\n<meta name=\"description\" content=\"Budujemy system monitorowania temperatury i wilgotno\u015bci, wykorzystuj\u0105c panel Astraada HMI, czujniki ELA Innovation i router Teltonika RUTX11.\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\/\" \/>\r\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"Jak monitorowa\u0107 temperatur\u0119 i wilgotno\u015b\u0107 w biurze z wykorzystaniem panelu Astraada HMI, czujnik\u00f3w ELA i routera Teltonika | Poradnik Automatyka\" \/>\r\n<meta property=\"og:description\" content=\"Budujemy system monitorowania temperatury i wilgotno\u015bci, wykorzystuj\u0105c panel Astraada HMI, czujniki ELA Innovation i router Teltonika RUTX11.\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\/\" \/>\r\n<meta property=\"og:site_name\" content=\"Poradnik Automatyka\" \/>\r\n<meta property=\"article:published_time\" content=\"2022-12-09T12:58:14+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2025-07-25T07:47:26+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-26.jpg\" \/>\r\n\t<meta property=\"og:image:width\" content=\"840\" \/>\r\n\t<meta property=\"og:image:height\" content=\"587\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\r\n<meta name=\"author\" content=\"Natalia Kazykalewicz\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Natalia Kazykalewicz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"25 minut\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\\\/\"},\"author\":{\"name\":\"Natalia Kazykalewicz\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#\\\/schema\\\/person\\\/78169a629842031f25d635c6678aff5b\"},\"headline\":\"Jak monitorowa\u0107 temperatur\u0119 i wilgotno\u015b\u0107 w biurze z wykorzystaniem panelu Astraada HMI, czujnik\u00f3w ELA i routera Teltonika\",\"datePublished\":\"2022-12-09T12:58:14+00:00\",\"dateModified\":\"2025-07-25T07:47:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\\\/\"},\"wordCount\":3125,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Rysunek-26.jpg\",\"keywords\":[\"Astraada HMI Panel\",\"ELA Innovation\",\"Teltonika\"],\"articleSection\":[\"Automatyka w praktyce\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\\\/\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\\\/\",\"name\":\"Jak monitorowa\u0107 temperatur\u0119 i wilgotno\u015b\u0107 w biurze z wykorzystaniem panelu Astraada HMI, czujnik\u00f3w ELA i routera Teltonika | Poradnik Automatyka\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Rysunek-26.jpg\",\"datePublished\":\"2022-12-09T12:58:14+00:00\",\"dateModified\":\"2025-07-25T07:47:26+00:00\",\"description\":\"Budujemy system monitorowania temperatury i wilgotno\u015bci, wykorzystuj\u0105c panel Astraada HMI, czujniki ELA Innovation i router Teltonika RUTX11.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Rysunek-26.jpg\",\"contentUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Rysunek-26.jpg\",\"width\":840,\"height\":587},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Automatyka w praktyce\",\"item\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/category\\\/automatyka-w-praktyce\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Jak monitorowa\u0107 temperatur\u0119 i wilgotno\u015b\u0107 w biurze z wykorzystaniem panelu Astraada HMI, czujnik\u00f3w ELA i routera Teltonika\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#website\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/\",\"name\":\"Poradnik Automatyka\",\"description\":\"Poradnik Automatyka to przydatne kursy, u\u017cyteczne artyku\u0142y i merytoryczne webinary dla ka\u017cdego automatyka i elektryka.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#organization\",\"name\":\"ASTOR\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/ASTOR_zwykly_sam_logotyp.png\",\"contentUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/ASTOR_zwykly_sam_logotyp.png\",\"width\":3322,\"height\":1078,\"caption\":\"ASTOR\"},\"image\":{\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/#\\\/schema\\\/person\\\/78169a629842031f25d635c6678aff5b\",\"name\":\"Natalia Kazykalewicz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/N.-Kazylkiewicz.jpg\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/N.-Kazylkiewicz.jpg\",\"contentUrl\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/N.-Kazylkiewicz.jpg\",\"caption\":\"Natalia Kazykalewicz\"},\"description\":\"Absolwentka Politechniki Wroc\u0142awskiej na kierunku Telekomunikacja, specjalno\u015b\u0107 : sieci teleinformatyczne. Odpowiedzialna za wsparcie techniczne w dziedzinie komunikacji bezprzewodowej i IIoT w Mission Critical by ASTOR.\",\"url\":\"https:\\\/\\\/www.astor.com.pl\\\/poradnikautomatyka\\\/autor\\\/nataliak\\\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Jak monitorowa\u0107 temperatur\u0119 i wilgotno\u015b\u0107 w biurze z wykorzystaniem panelu Astraada HMI, czujnik\u00f3w ELA i routera Teltonika | Poradnik Automatyka","description":"Budujemy system monitorowania temperatury i wilgotno\u015bci, wykorzystuj\u0105c panel Astraada HMI, czujniki ELA Innovation i router Teltonika RUTX11.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\/","og_locale":"pl_PL","og_type":"article","og_title":"Jak monitorowa\u0107 temperatur\u0119 i wilgotno\u015b\u0107 w biurze z wykorzystaniem panelu Astraada HMI, czujnik\u00f3w ELA i routera Teltonika | Poradnik Automatyka","og_description":"Budujemy system monitorowania temperatury i wilgotno\u015bci, wykorzystuj\u0105c panel Astraada HMI, czujniki ELA Innovation i router Teltonika RUTX11.","og_url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\/","og_site_name":"Poradnik Automatyka","article_published_time":"2022-12-09T12:58:14+00:00","article_modified_time":"2025-07-25T07:47:26+00:00","og_image":[{"width":840,"height":587,"url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-26.jpg","type":"image\/jpeg"}],"author":"Natalia Kazykalewicz","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Natalia Kazykalewicz","Szacowany czas czytania":"25 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\/#article","isPartOf":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\/"},"author":{"name":"Natalia Kazykalewicz","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/person\/78169a629842031f25d635c6678aff5b"},"headline":"Jak monitorowa\u0107 temperatur\u0119 i wilgotno\u015b\u0107 w biurze z wykorzystaniem panelu Astraada HMI, czujnik\u00f3w ELA i routera Teltonika","datePublished":"2022-12-09T12:58:14+00:00","dateModified":"2025-07-25T07:47:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\/"},"wordCount":3125,"commentCount":1,"publisher":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization"},"image":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\/#primaryimage"},"thumbnailUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-26.jpg","keywords":["Astraada HMI Panel","ELA Innovation","Teltonika"],"articleSection":["Automatyka w praktyce"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\/","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\/","name":"Jak monitorowa\u0107 temperatur\u0119 i wilgotno\u015b\u0107 w biurze z wykorzystaniem panelu Astraada HMI, czujnik\u00f3w ELA i routera Teltonika | Poradnik Automatyka","isPartOf":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\/#primaryimage"},"image":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\/#primaryimage"},"thumbnailUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-26.jpg","datePublished":"2022-12-09T12:58:14+00:00","dateModified":"2025-07-25T07:47:26+00:00","description":"Budujemy system monitorowania temperatury i wilgotno\u015bci, wykorzystuj\u0105c panel Astraada HMI, czujniki ELA Innovation i router Teltonika RUTX11.","breadcrumb":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\/#primaryimage","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-26.jpg","contentUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2022\/12\/Rysunek-26.jpg","width":840,"height":587},{"@type":"BreadcrumbList","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/jak-monitorowac-temperature-i-wilgotnosc-w-biurze-z-wykorzystaniem-panelu-astraada-hmi-czujnikow-ela-i-routera-teltonika\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Automatyka w praktyce","item":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/category\/automatyka-w-praktyce\/"},{"@type":"ListItem","position":2,"name":"Jak monitorowa\u0107 temperatur\u0119 i wilgotno\u015b\u0107 w biurze z wykorzystaniem panelu Astraada HMI, czujnik\u00f3w ELA i routera Teltonika"}]},{"@type":"WebSite","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#website","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/","name":"Poradnik Automatyka","description":"Poradnik Automatyka to przydatne kursy, u\u017cyteczne artyku\u0142y i merytoryczne webinary dla ka\u017cdego automatyka i elektryka.","publisher":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization","name":"ASTOR","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/logo\/image\/","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2018\/08\/ASTOR_zwykly_sam_logotyp.png","contentUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2018\/08\/ASTOR_zwykly_sam_logotyp.png","width":3322,"height":1078,"caption":"ASTOR"},"image":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/person\/78169a629842031f25d635c6678aff5b","name":"Natalia Kazykalewicz","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/04\/N.-Kazylkiewicz.jpg","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/04\/N.-Kazylkiewicz.jpg","contentUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/04\/N.-Kazylkiewicz.jpg","caption":"Natalia Kazykalewicz"},"description":"Absolwentka Politechniki Wroc\u0142awskiej na kierunku Telekomunikacja, specjalno\u015b\u0107 : sieci teleinformatyczne. Odpowiedzialna za wsparcie techniczne w dziedzinie komunikacji bezprzewodowej i IIoT w Mission Critical by ASTOR.","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/autor\/nataliak\/"}]}},"_links":{"self":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/15204","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/users\/75"}],"replies":[{"embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/comments?post=15204"}],"version-history":[{"count":2,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/15204\/revisions"}],"predecessor-version":[{"id":23483,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/15204\/revisions\/23483"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/media\/15295"}],"wp:attachment":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/media?parent=15204"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/categories?post=15204"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/tags?post=15204"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}