{"id":626,"date":"2010-07-02T16:28:34","date_gmt":"2010-07-02T14:28:34","guid":{"rendered":"http:\/\/richardconsulting.ro\/blog\/?p=626"},"modified":"2010-07-02T16:30:20","modified_gmt":"2010-07-02T14:30:20","slug":"module-logice-personalizate","status":"publish","type":"post","link":"https:\/\/richardconsulting.ro\/blog\/2010\/07\/module-logice-personalizate\/","title":{"rendered":"Module logice personalizate pentru HomeServer"},"content":{"rendered":"<p>Recent am \u00eent\u00e2mpinat o problem\u0103 destul de spinoas\u0103 referitoare la modul \u00een care pot fi constituite arhivele pentru afi\u015farea diagramelor anumitor semnale analogice folosind interfa\u0163a QuadClient a lui HomeServer. Astfel de diagrame sunt destul de utile \u00een ceea ce prive\u015fte urm\u0103rirea consumurile energetice, a temperaturii exterioare, a vitezei v\u00e2ntului \u015fi a\u015fa mai departe.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-627  alignright\" title=\"Modul logic   personalizat \u00een limbaj Phyton\" src=\"http:\/\/richardconsulting.ro\/blog\/wp-content\/uploads\/2010\/07\/Logic_Module-328x360.jpg\" alt=\"Modul logic personalizat \u00een limbaj Phyton\" width=\"262\" height=\"288\" srcset=\"https:\/\/richardconsulting.ro\/blog\/wp-content\/uploads\/2010\/07\/Logic_Module-328x360.jpg 328w, https:\/\/richardconsulting.ro\/blog\/wp-content\/uploads\/2010\/07\/Logic_Module.jpg 544w\" sizes=\"auto, (max-width: 262px) 100vw, 262px\" \/>QuadClient ofer\u0103 posibilitatea afi\u015f\u0103rii grafice a unui set de valori memorate \u00een prealabil pe intervale de timp de 1 or\u0103, 1 zi, 1 s\u0103pt\u0103m\u00e2n\u0103, 1 lun\u0103 \u015fi 1 an. Desigur este de a\u015fteptat ca granula\u0163ia ini\u0163ial\u0103 a arhiv\u0103rii datelor, pentru diagrama de 1 or\u0103, s\u0103 fie destul de mic\u0103, de exemplu citirea valorilor semnalelor \u00een fiecare minut. Cu 60 de valori se poate construi un grafic destul de frumos. Cu toate acestea a folosi o singur\u0103 arhiv\u0103 de date pentru toate diagramele devine prohibitiv at\u00e2t din punctul de vedere al utiliz\u0103rii memoriei c\u00e2t \u015fi al vitezei de calcul la afi\u015farea diagramei. G\u00e2ndi\u0163i-v\u0103 c\u00e2te minute se reg\u0103sesc \u00eentr-o presupus\u0103 arhiv\u0103 pe un an \u00eentreg &#8211; \u00een jurul a 400000.<\/p>\n<p>Solu\u0163ia elegant\u0103 folosit\u0103 de QuadClient este accesarea unor arhive diferite pentru intervale de timp diferite. Crearea unei arhive nu este o problem\u0103 grea de rezolvat \u00een HomeServer, cu toate acestea e\u015fantionarea datelor la intervale foarte mari de timp scade relevan\u0163a informa\u0163iilor \u015fi implicit a diagramei respective.<\/p>\n<p>S\u0103 lu\u0103m exemplul puterii electrice consumate. Dac\u0103 e\u015fantioanele pentru graficul de 1 an sunt luate la fiecare 8000 de minute, este foarte posibil ca momentul e\u015fantion\u0103rii s\u0103 cad\u0103 la orele dimine\u0163ii, foarte devreme, c\u00e2nd consumul electric este foarte mic. O astfel de valoare nu are nici un fel de relevan\u0163\u0103 pentru consumul real realizat \u00een cele 8000 de minute care s-au scurs.<\/p>\n<p>Solu\u0163ia care se \u00eentrevede cu u\u015furin\u0163\u0103 este calcularea unor valori medii ale semnalelor \u00eentre perioadele de e\u015fantionare \u015fi plasarea lor \u00een arhive diferite, nefolosind mai mult de 300 de valori memorate pentru un singur semnal de afi\u015fat.<\/p>\n<p>Modulele logice existente la ora aceasta \u00een HomeServer nu ofer\u0103 o cale u\u015foar\u0103 de a realiza acest lucru \u015fi prin urmare am pornit pe calea mai dificil\u0103 de a scrie un modul logic suplimentar. Acest lucru a fost realizat\u00a0 \u00een decurs de dou\u0103 s\u0103pt\u0103m\u00e2ni care au implicat anumite studii precum limbajul de programare <em>Phyton <\/em>\u015fi a reprezentat un succes \u015fi o un nou nivel, mai profund, de utilizare a HomeServer. Am putea spune c\u0103 dac\u0103 \u00eenainte prin sintagma &#8220;HomeServer poate realiza orice&#8221; \u00een\u0163elegeam c\u0103 poate realiza foarte multe acum putem spune c\u0103 suntem capabili s\u0103 realiz\u0103m la modul literal orice cu aceast\u0103 ma\u015fin\u0103 deosebit\u0103.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-628\" title=\"Folosirea modulului \u00een sistemul de logic\u0103\" src=\"http:\/\/richardconsulting.ro\/blog\/wp-content\/uploads\/2010\/07\/Proiect_grafice-420x264.jpg\" alt=\"Folosirea modulului \u00een sistemul de logic\u0103\" width=\"420\" height=\"264\" srcset=\"https:\/\/richardconsulting.ro\/blog\/wp-content\/uploads\/2010\/07\/Proiect_grafice-420x264.jpg 420w, https:\/\/richardconsulting.ro\/blog\/wp-content\/uploads\/2010\/07\/Proiect_grafice.jpg 959w\" sizes=\"auto, (max-width: 420px) 100vw, 420px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recent am \u00eent\u00e2mpinat o problem\u0103 destul de spinoas\u0103 referitoare la modul \u00een care pot fi constituite arhivele pentru afi\u015farea diagramelor anumitor semnale analogice folosind interfa\u0163a QuadClient a lui HomeServer. Astfel de diagrame sunt destul de utile \u00een ceea ce prive\u015fte urm\u0103rirea consumurile energetice, a temperaturii exterioare, a vitezei v\u00e2ntului \u015fi a\u015fa mai departe. QuadClient ofer\u0103 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[64],"tags":[25,93],"class_list":["post-626","post","type-post","status-publish","format-standard","hentry","category-home-server","tag-knx","tag-logica"],"_links":{"self":[{"href":"https:\/\/richardconsulting.ro\/blog\/wp-json\/wp\/v2\/posts\/626","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/richardconsulting.ro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/richardconsulting.ro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/richardconsulting.ro\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/richardconsulting.ro\/blog\/wp-json\/wp\/v2\/comments?post=626"}],"version-history":[{"count":0,"href":"https:\/\/richardconsulting.ro\/blog\/wp-json\/wp\/v2\/posts\/626\/revisions"}],"wp:attachment":[{"href":"https:\/\/richardconsulting.ro\/blog\/wp-json\/wp\/v2\/media?parent=626"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/richardconsulting.ro\/blog\/wp-json\/wp\/v2\/categories?post=626"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/richardconsulting.ro\/blog\/wp-json\/wp\/v2\/tags?post=626"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}