{"id":1583,"date":"2021-02-08T19:19:52","date_gmt":"2021-02-08T18:19:52","guid":{"rendered":"https:\/\/kiplweb.fjfi.cvut.cz\/wordpress\/?page_id=1583"},"modified":"2021-02-08T19:26:57","modified_gmt":"2021-02-08T18:26:57","slug":"gonioc","status":"publish","type":"page","link":"https:\/\/kiplweb.fjfi.cvut.cz\/web\/en\/gonioc\/","title":{"rendered":"GonioC klient"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"1583\" class=\"elementor elementor-1583\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-d442a7c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d442a7c\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-df67519\" data-id=\"df67519\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e35a0fc elementor-widget elementor-widget-heading\" data-id=\"e35a0fc\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">GonioC klient<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fb572e5 elementor-widget elementor-widget-text-editor\" data-id=\"fb572e5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><strong><span style=\"color: #336699;\"><a style=\"color: #336699;\" href=\"https:\/\/kiplweb.fjfi.cvut.cz\/web\/en\/wordpress\/neutron\/\">Laborato\u0159 neutronov\u00e9 difrakce<\/a><\/span><\/strong><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1c661c9 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"1c661c9\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8bc324c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"8bc324c\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2f5ed09\" data-id=\"2f5ed09\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5477ca4 elementor-widget elementor-widget-text-editor\" data-id=\"5477ca4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Softwarov\u00e1 aplikace gonioc je implementac\u00ed klienta k serveru\u00a0<em>goniod<\/em>.<br \/><br \/>Server goniod je ur\u010den pro centr\u00e1ln\u00ed ovl\u00e1d\u00e1n\u00ed a \u0159\u00edzen\u00ed multios\u00e9ho goniometru. Jedn\u00e1 se o rezidentn\u00ed serverovou aplikaci bez u\u017eivatelsk\u00e9ho rozhrann\u00ed, b\u011b\u017e\u00edc\u00ed jako d\u00e9mon na jednom po\u010d\u00edta\u010di, odkud bu\u010f p\u0159\u00edmo nebo po s\u00edti komunikuje s vlastn\u00edmi \u0159adi\u010di jednotliv\u00fdch os (jak \u0159adi\u010d\u016f, tak os m\u016f\u017ee b\u00fdt libovoln\u00fd po\u010det), logicky je sjednocuje do jednoho celku a vz\u00e1jemn\u011b koordinuje spolu s vn\u011bj\u0161\u00edmi po\u017eadavkami vlastn\u00ed m\u011b\u0159\u00edc\u00ed aplikace. Na druh\u00e9 stran\u011b pak m\u016f\u017ee server gonioc po s\u00edti (p\u0159ez rozhrann\u00ed TCP) komunikovat s klienty, kte\u0159\u00ed slou\u017e\u00ed p\u0159edev\u0161\u00edm pro interakci s u\u017eivatelem.<br \/><br \/>Klient\u016f m\u016f\u017ee b\u00fdt k serveru\u00a0<em>goniod<\/em>\u00a0p\u0159ipojeno n\u011bkolik z\u00e1rove\u0148 a v\u0161echny jsou vz\u00e1jemn\u011b synchronizov\u00e1ny p\u0159es server\u00a0<em>goniod<\/em>. Klient, kter\u00fd implementuje s\u00ed\u0165ov\u00fd komunika\u010dn\u00ed protokol serveru\u00a0<em>goniod<\/em>\u00a0pak umo\u017e\u0148uje u\u017eivateli jednak sledovat aktu\u00e1ln\u00ed stav (v\u010detn\u011b p\u0159edev\u0161\u00edm polohy) os goniometru, kter\u00e9 jsou aktivn\u011b zahrnuty v aktu\u00e1ln\u00ed konfiguraci b\u011b\u017e\u00edc\u00edho\u00a0<em>goniod<\/em>\u00a0serveru, a to jak statick\u00e9 parametry (rozsah os, vymezen\u00ed aktu\u00e1ln\u00edch oblast\u00ed krokov\u00e1n\u00ed a p\u0159\u00edpadn\u011b dal\u0161\u00ed parametry z\u00e1visl\u00e9 na konkr\u00e9tn\u00ed implementaci \u0159adi\u010de os), tak dynamick\u00e9 parametry, jako je nap\u0159\u00edklad aktu\u00e1ln\u00ed poloha, aktu\u00e1ln\u00ed oblast krokov\u00e1n\u00ed, index aktu\u00e1ln\u00edho bodu, \u010di dosa\u017een\u00ed konkr\u00e9tn\u00edho bodu m\u011b\u0159en\u00ed.<br \/><br \/>Parametry skenov\u00e1n\u00ed jednotliv\u00fdch os je naopak z klienta mo\u017eno tak\u00e9 nastavovat. Takov\u00fdmi parametry je nap\u0159\u00edklad po\u010det oblast\u00ed na ka\u017ed\u00e9 ose a nastaven\u00ed parametr\u016f (po\u010d\u00e1tek, krok a po\u010det bod\u016f) ka\u017ed\u00e9 jednotliv\u00e9 oblasti. Stejn\u011b tak lze nap\u0159\u00edklad stanovovat vz\u00e1jemn\u00e9 uspo\u0159\u00e1d\u00e1n\u00ed jednotliv\u00fdch os vzhledem k trase skenov\u00e1n\u00ed. Skenov\u00e1n\u00ed pak prob\u00edh\u00e1 podle po\u0159ad\u00ed, v\u017edy osa na prvn\u00edm m\u00edst\u011b (s nejvy\u0161\u0161\u00ed prioritou) je prim\u00e1rn\u00ed osou skenov\u00e1n\u00ed a ka\u017ed\u00e1 dal\u0161\u00ed osa v po\u0159ad\u00ed m\u00e1 ve skenov\u00e1n\u00ed o 1 ni\u017e\u0161\u00ed prioritu.<br \/><br \/>V koordinaci s m\u011b\u0159\u00edc\u00edm serverem lze pak na klientovi prov\u00e1d\u011bt jak nastavov\u00e1n\u00ed a monitoring goniometru, tak i vlastn\u00ed m\u011b\u0159en\u00ed. Je-li k jednomu\u00a0<em>goniod<\/em>\u00a0serveru p\u0159ipojen v\u00edce ne\u017e jeden klient, pak akce vyvolan\u00e1 jedn\u00edm klientem se p\u0159ez server automaticky prom\u00edtne do stavu ostatn\u00edch p\u0159ipojen\u00fdch klient\u016f a tud\u00ed\u017e je mo\u017eno experiment sledovat \u010di \u0159\u00eddit z v\u00edce m\u00edst najednou.<br \/><br \/>Aplikace <em>gonioc<\/em>\u00a0je pr\u00e1v\u011b implementace takov\u00e9ho v\u00fd\u0161e popsan\u00e9ho klienta, vyu\u017e\u00edvaj\u00edc\u00ed grafick\u00e9 rozhrann\u00ed GTK pro komunikaci s u\u017eivatelem. Aplikace je kompletn\u011b naps\u00e1na v jazyce C a b\u011b\u017e\u00ed zat\u00edm nativn\u011b pouze pod OS Linux, i kdy\u017e vzhledem k relativn\u00ed nez\u00e1vislosti na p\u0159\u00edm\u00e9 komunikaci s HW a implementaci rozhrann\u00ed GTK i pro Windows je po drobn\u00fdch \u00faprav\u00e1ch teoreticky mo\u017en\u00e9 ho provozovat i pod OS Windows.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dd580c3 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"dd580c3\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>GonioC klient Laborato\u0159 neutronov\u00e9 difrakce Softwarov\u00e1 aplikace gonioc je implementac\u00ed klienta k serveru\u00a0goniod. Server goniod je ur\u010den pro centr\u00e1ln\u00ed ovl\u00e1d\u00e1n\u00ed a \u0159\u00edzen\u00ed multios\u00e9ho goniometru. Jedn\u00e1 se o rezidentn\u00ed serverovou aplikaci bez u\u017eivatelsk\u00e9ho rozhrann\u00ed, b\u011b\u017e\u00edc\u00ed jako d\u00e9mon na jednom po\u010d\u00edta\u010di, odkud [&hellip;]<\/p>","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"folder":[10],"class_list":["post-1583","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/kiplweb.fjfi.cvut.cz\/web\/en\/wp-json\/wp\/v2\/pages\/1583","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kiplweb.fjfi.cvut.cz\/web\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/kiplweb.fjfi.cvut.cz\/web\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/kiplweb.fjfi.cvut.cz\/web\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/kiplweb.fjfi.cvut.cz\/web\/en\/wp-json\/wp\/v2\/comments?post=1583"}],"version-history":[{"count":7,"href":"https:\/\/kiplweb.fjfi.cvut.cz\/web\/en\/wp-json\/wp\/v2\/pages\/1583\/revisions"}],"predecessor-version":[{"id":1590,"href":"https:\/\/kiplweb.fjfi.cvut.cz\/web\/en\/wp-json\/wp\/v2\/pages\/1583\/revisions\/1590"}],"wp:attachment":[{"href":"https:\/\/kiplweb.fjfi.cvut.cz\/web\/en\/wp-json\/wp\/v2\/media?parent=1583"}],"wp:term":[{"taxonomy":"folder","embeddable":true,"href":"https:\/\/kiplweb.fjfi.cvut.cz\/web\/en\/wp-json\/wp\/v2\/folder?post=1583"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}