dobré ráno
těší mě že jste se sešli v hojném počtu na první přednášce takhle v sobotu
ne křesťanskou hodinu
já vás vítám na přednášce o datování ale u tý
no ne nadarmo štětce a tady s kolegou
dobrý den já jsem vo těch suk taky vás tady mi tam dnešní přednášce
na podstatě na tom se reálnou drátem ale u tý které byste možná někdo z
až mohl od nás vidět na civilizaci strávila pár týdnů zpátky
tak nás spolupracuje trošičku více jedno jeden z nich například jako plus pack to můžete
potkat tam dole na stánku třeba stevena tomu čtyrycet osum ale podobně
tak
jenom listem nějaké dotazy jak se mě zeptali tam
a my sme
my sme zprávy ze sydney nás krajských kolejích jako projekt vlasty že nezná
a podstatě jde tam o nějakou elektromechanickou dílo no a já si přidám slova romové
grantové to popsal
vlastně sme takový malý řekl space patřící port
studentskou unii čvut
sídlíme na strahovské koleje chce jsou největší koje s čvut že je tam nějákej zase
čtyři tisíce studentů
a
proč části vlastně představen takový zázemí aby si mohli vastly
a krom toho tam vznikají různý projekty a nejenom jakoby čistě v dílně ale i
různý servisní projekty pro celý koleje
a
díky tomu jsme se dostali do situace že
že vlastně máme kupu různejch věcí
a ty jako bysme chráněj aby nějak mezi sebou komunikovaly a tak dál ty věci
nemusí bejt jenom nějaký jako elektronický udělát k a i když s těma se v
poslední době kdy nebo poslední dva roky řekněme kdy když se objevilo s p osum
vaše stě stack s tím že tam hraje strašně moc lidí
takže těhletěch zařízení máme poměrně hodně
ale můžou to bejt i různý třeba
zařízení postavený na pí blbou cože jaká linuxová destička nebo razbery určitě znáte a podobně
a všechny tyhle zařízení nějakým způsobem komunikují
a typicky to vypadalo takže
každý jako autor nějakého zařízení tak většinou řešil jak komunikovat tak aby mu to vyhovovalo
to znamená že se vymyslel nějaký svůj proprietární protokol
a pak vlastně nebylo moc s jakoby jednoduchý s tím jeho zařízení nebo s tím
jeho s řešení mě dál rozvíjet nebo s ním komunikovat
jseš jako je otázka toho jak vyřešit to že když máme těch zařízení hodně tak
aby mohli mezi sebou komunikovat
a
další jako když máme vyřešenou tu komunikaci tak další problém je
_e jak zajistit nějakému jakoby vyššího věku těch zařízení tak aby například zařízení které sbírá
informace o klimatizaci a posílá je do monitoringu tak zároveň na to třeba moh někdo
reagovat stylem že si
udělá zařízení které mu rozsvítí červenou žárovku když serverovně vypadne klimatizace
nebo
dalším příkladem je že třeba
to je zařízení můžou bejt i třeba jako normální server žena posílaj data takže třeba
příklad takovýho
příklad nějakého zdroje dat může být je třeba kontrolér vy finy a protože na strahově
máme vlastně pokrytý skoro celý areál wifi know
která je jak centrálně řízená tak si nepřál schopni zjistit kolik lidí je připojeno na
péčku který je v hospodě že můžem jakoby sbírat počty lidí počty lidí v nějakých
místnostech a na základě toho se přála rozhodovat jestli do tý hospody jít nebo nejít
protože tam bude narváno nebo nebude
a
třeba chcete mít v dílně máme na zdi displej a třeba bysme chtěli tam tohle
číslo jako zobrazovat abysme věděli když už se s dodělá nějaká práce kam vyrazit
a
tohle jakoby příklad toho že chceme nějak být schopný jednoduše vzít nějakou komunikaci nebo nějaký
údaje z jednoho místa poslanci jinam
cože taková jako v orchestraci vůbec těch zařízení a tohoto toho
zde kódu
a s tím souvisí další věc dyž už prostě sbíráme data o všem možném o
teplotách a tak dál tak je zajímavý jakoby mít nějakou historii nějak archivovat ty data
a nějakým způsobem abysme byli jak to se mohli koukat jak to vypadalo třeba před
týdnem a tak dál a nejenom jakoby kvůli tomu aby čověk jako viděl tu historii
ale třeba že by se do je reagovat na to jak se vyvíjí teplota to
zařízení které s tím nějak manipuluje bylo schopni zjistit jaká ta teplota byla před týdnem
takže to je vlastně jakoby další s těch problémů které jsme řešili
no a
můžem se kouknout jako by nám způsob který se nám postupně za ty za ty
roky osvědčila který vlastně do tech používáme a postupně ho dala dozvíme
prvnímu jako začli jsme tím že máme spoustu těch věcí
a potřebujem aby mezi sebou byli schopni komunikovat na to se nám osvědčilo protokolem kydy
tý
když se zeptám kdo tom na protokolu slyšel
zvednete ruku jo pár vás je
tak za chvíli se ještě kouknem na nějaký podrobnosti
podstatě to protokol kdy máme nějaký centrální bota ty zařízení
tam posílají data přijímají je
tak je se kouknem na podrobnosti
přes den kdy ty protokol pak komunikují nemám ty zařízení samotná ale i různý to
ženský aplikace který třeba máme na telefonu nebo webovém prohlížeči a tak dál takže vlastně
to není jenom menším tu myším komunikace ale jsou tam taky ty lidi
a pro samotnou tu orchestraci pak používané nástroje který se jmenuje no udržet cože takový
když to řeší řeknu zjednodušeně grafický klikátko který umožňuje nějakým způsobem zasahovat do tý komunikace
a předávat jí dal případně komunikovat s okolním světem přes nějaký roztoví a piv nebo
webový služby a tak dál
no a ten ta třetí věc o které jsme se před chvílí bavili taky vlastně
jakým způsobem si uchovala tu historii a my pak máme na co na tom _e
kredity brokeru máme pověšený info chceš je databáze pro sběr dat
a na ty instrukce mi pak postavená graf ona cože
nástroj pro nějaké to hezké grafické zobrazení koukání se na průběhů na webu nějakých deset
bodů
tohle vlastně
takhle vypadá teďkon to řešení té neprovozuje a teď se můžem detail nic kouknout na
ty jednotlivý části
začnem _e kydy tý na to předám slovo vojtovi
také se ještě nám teta tomu předchozímu slajdu panem zeptat kdo za známky ty no
tak půlka kdo z vás na know that
jeden
dobrý tak
jeden člověk dva nevim možná info
info kdyby
ne o jeden tady jediný
a telefonu k tomu eventuelně tak to škaredě tak paráda tak vám asi možná něco
novýho neska dokonce řeknem
takže _e ty měsíčky telemetrie transport protokol
je to protokol který vznikl podstatě je pro komunikaci
jako mezi stranami vším to machine komunikace
je dost jednoduchej je to v podstatě pár bajtů v rámci toho paketu funguje na
nějakym principu napsat
já si řeknem co to znamená
podstatě celej civět o tom že tam máte nějakej brokeru nějaký server který jako
je centrální prvek a není se připoro klienti kterýmu můžou publikovat a nebo odebírat zprávy
je to celé postavené na té c b používá to defaultně po osmnáct set osumdesát
tři ale ten si můžete se měnit jak bude je potřebujete eventuelně potom a šifrovaná
podoba běží někde na osmi tisíc ovce
jako jsem říkal je velice datově nenáročných a i co se týče proto se do
času také fakt docela dost jednoduchej
a teď k tomu publishing carské takže říkali jsme si na začátku nějakej ten docker
cože
nějaký ten server který
prostě řešíte míněno těch komunikací prostě centrální boty to v podstatě celá struktura
a na to se můžou připadá takzvaný subscribe ty který odebírají ty zprávy který tím
program vpodstatě projdou
tím se dá ještě k tomu _e brokeru připojen publisher
a to je ten který ty zprávy do toho brokeru jako posílá
a teďka nemůžu vypadá například takové _e na nějaký top i doma lomeno teplota a
obsahové dvacet tři stupňů máte co se stane tak papeže řekne tak já ho nechci
do tohodletoho to piko poslat dva tři cist dvacet tři stupně
ten na papeže to pošle na ten docker brokeru si
s tím udělá kubíku ať už je to třeba ňáký jo jak a perzistence nebo
něco si nastavíte
ověří eventuelně třeba právní a tak a pak tu zprávu rozešle dál tím sem strejdou
který sou k tomu daný mu to peklo přihlášený
funguje to je ta že ten publisher jsem server jeden a ten samej prvek se
jeden a ten samý hardvér takže jako máte v podstatě obousměrnou komunikaci
jo tady je popis tý zprávě vlastně tak jak se rozdistribuje do tich jinak nejsem
si najdu
ten předmět topit podstatě
když obětujete tak pokoj ke tedy nějaký jo konkrétních podstatě dá se říct adresy je
to dost podobný adresáře jistotu že to máš operační systému
a _e máte tam
podstatě pár možností navíc a to je vtom a ta výhoda je vtom odebírání protože
buď můžete vzít podstatě že chcete odebírat všechny s pravidelným tomto pikolu daný předně to
aby si prostě vyberete to konkrétní zprávu anebo si řeknete já s prostě zajímaj všechny
teploty
a uplně jedno kde prostě s to bude doma práci je škole nebo prostě kde
to máte a na to sere použitelná čárek takže
že se třeba řeknete že chcete
něco stopy ku vpodstatě vtom prvním lednu s ty první horní hierarchická a pak vás
podstatě uši jedno co vtom jste jdou vtom druhým a tom třetím řádu je tady
může bejt řadou má práce a tak podobně jako _m co jedna dva prostory ložnice
a tak podobně a teďka ta teplota a tohle s ten modul byl tohleto to
piku
vám zajistí že kdykoliv příde
jakákoli zpráva do
mám já technická něco x y ze tak _e mi to přijme
kde todleto s obecně ty na to že podstatě si řeknete máte to tu grafickou
strukturou rauš vás zajímat úplně cokoliv co tam pošlete dárky kanál todle typicky ten na
tom přístupu že tedy chcete si zvracel to co běží celý na tom jsem se
dlouho to se může ukázat jako ukázku rozdíl mezi nima je ten hlavní
že to pusto podstatě může používáte nebo můžete použít půlce tý ty adresy když to
bříško dickem jako poslední protože prostě co za ní nás vedou se neřeší
tady se nějaký příklady další jak že třea ten konkrétní a pak přáteli cokoli s
tím místnosti jedna dva tři
tady cokoli z budovy a tady v podstatě všechny senzory v budově a já tě
to jakákoli místnost a chceme teploty
a tady vpodstatě podobné příklad jako na předchozí stránce ty tradiční stopy kousl podstatě pouze
nás nikdo vám ne vymezené definuje jako
jak mají vypadat a je to pouze na tom jak si
jak si nastavíte svoje vlastní pravidla o tom aby se zas to vůbec neznali
jak je ty tý velice dobře podporuje tunelování přes websockety kdo děláte kdo znáte websockety
jo taky polka většina pro ty ostatní vpodstatě moderní prohlížeče _e dneska dovolí
že si dělá scap plus kontextu toho ty stroje to ty stránky u toho klienta
můžete podstatě vytvořit dá se říct i si ty
tunel tcp rohu podstatě kamkoli je to na přímo jako dyž si děláte nějakou korejskou
aplikaci nebo
něco jinýho musíte použít takzvaný websockety je to vpodstatě o tom že ta komunikace běží
nataháte ze téčkem protokolem
a to entity tý docela slušně podporuje a existují spousty implementací na to
takže vy ste schopni udělat to že vezmete jednu jednoduchou knihovnu
nějaký nový prohlížeč vystavíte to na webu a můžete se připojeném kyticí a sbírat nebo
posílat zprávy super
potřebujete k tomu buď proxi no s podporou to websockety co šel
ono to proti socketech můžete tunelovat tuším že další jazyce péčko
co tam bylo dál
tuším že devět si nevzpomenu se znali jedna z nich a spřáv jenže nejsu byl
podporovaná šel vod určitý verze je ten rok byla v podstatě neřeší ten protokol samotnej
prostě stroj a ta jaký dct socket
dneska podpora hledáte tepe docela dlouho se teta jo
ten žádných stem posledních verzích a dokonce i nějaký mozky to a mozky to není
neboj server ale je to přesně ten _e ty brokeru takže vy si podstatě nainstalujete
mozky to
server vpodstatě apod nějaký nebyl na devel a s kým ale i distribuce má
a vidět mozky to možná tím mozky to kolem to byste měl nějaký testovací nástroje
k tomu konzolový tak už tam jste schopný nastavit _e před je to musím komunikovat
s prohlížeče
nádherná implementace o _e pro ten java script ale jiný jazyky je povolenky ty client
kterým se
tak a dokážete k tomu připojit
dobře říkal brokeru docela oblíbenej a používány je ten je to mozky to
mozky to kolem jsou ten balíky com nebo balíky lodích konzoli nástrojů mozky to paprsky
to psala
jedním poviš jedné popište ze spravedlivý se ste schopný subscribe no tomuto piku vícero to
piko má přímo ty zprávy podstatě do pipě konzoli
nádherný nástroje entity ty spala je to sice napsaný java ale to
a je to celkem intuitivní
a na není zde používá pro velice nerad řekli kačku tak je to docela paráda
můžete využít čelenky ty vo co že podstatě nástroj který tady a dámy vystavený na
githubu naše na našem na vlastní skin
nechá se použít a jo ty network tramvajenky ty tý co jsou aplikace potom androidí
telefony
kdy u toho dyž bodů ste spousta ti schopní si naklikat něco typu ním tady
chci tlačítko tady chci
graphic nebo ňákou diodu nebo něco takovýho potom do používat
to _e a jen kritiky tuším je vpodstatě klasicky jednoduchej konec
když obdoba to kredity spali
no tam si můžete vpodstatě posílat je surový zprávy tady to máte jako za podzim
tak většího
to je spíš klient když jako vás zajímá jaká tam byla komunikace a chcete spíš
na těch devět nebo si posílat nějaký zprávy pro vyzkoušení a ta veš to ten
dash boty je spíš aplikace dyž máte nějaký ram
ram použití a chcete mít nějaké jako přehled nebo jednoduchý ovládání těch zařízení
knihovna jak jsem říkala entity ty jazz
ten odolat všimnout že disková netušíme si de požadavku jen u klienta ne
já celého používáme tu poho implementaci ještě java script o tom prohlížeči mám zkušenosti se
céčku implementaci přímo to co sou ty mozky to konec
bytík implementace docela pěkně funguje a prosím vás přes ní data třeba z domova
a
výhoda je ten že díky tomu jak je ten protokol jednoduchej text o podstatě nebo
ne to je to uplně v čemkoliv smát radil jsem vojenskou něco tak je to
uplně jedno
a v podstatě za záda jakýkoliv hare na kterým jste schopni rozjezd _e c téčko
takže
bych _e se to prostě rozhýbat i na nějaký osm bitů který má řádově dcera
kilo paměti
tak vysoká za nějaký jeničko si že po prosím a doma
a asi to vidím na všech jo přepnu
k co
no dětem
jo jasně to co tady můžete vidět tak je nějakej to peklo pro narodí ste
šestnáct budované sto dvanáct že tato místnost a temperature a anglie ty a tady máte
vědět že tady něco vás je to je simulace stupňů což asi trošku kecá ale
ta chyba měření stane se
a low cost zhruba dvacet procent a
mám možná nekecá vzory tom že na to svítí to světlo
mám chyba měření kde přesně vono
a jestli se mi to povede přepnout tak se vpodstatě můžete podívat chtěl mi to
vlastně míří na posíláme
tohle destička na kterého se za nej či provést pro sebe sáro šedesát šest neska
o něm eště takže že bude na ty na přednášce
a tady to bílý je to takový relativně
chtěla přesnej a hlavně dost levnej či senzor teploty a vlhkosti a vpodstatě
a tady ne každý neměří ne každý dvě vteřiny změříme teplotu a vlhkost tady po
ti na denním světlem
a tady přes ten šlápl většinou to posílám narážky ty brokeru
mořský to samozřejmě který by škoda u nás na kolejích praze a ten let podstatě
kterej vy ste viděli tak i je přesně ta
klinická aplikace využívající websockety a běží tady oromo notebooku
a hlavně tady můžete prostě zkoumat i zprávy mimochodem
kdo tu máte entity ty brokera nějakej čas telefonu dokud jako vy připojte se na
a jeho tý tečka silikonu tečka cz
a
ani
tak to se přepnete si tenhlecten topit o vykoupala tatíci šestnáct lomítko křížek
když karel to jedno
tak vpodstatě už ty hodnoty uvidíte taky
jo nebo dyž si otevřete tu stránku ty se konal cz lomítko
tak už tam můžete vidět zprávy který tam vpodstatě chodí
takže ji
roste to že todle hodnotu vezmete prostě mozky to komenskýho mi prošetřit konzoli of mezi
můžete rovnou dá zpracovávat a třeba podle toho pro robota _e
dobrý tak
asi budem pokračovat dál kdyžtak nějaké dotazy klidně může tak asi průběhu
bysme nezapomněli čtvrt
dobrý tak já se přidám asi slovo adamovi
aby pokračoval
tak já budu firem mluvit o tom co vlastně ten a udržet na konci zas
bude nějaká krátká ukázka
no u tratě vlastně projekt který vzniknou fajn je prací nějaké
víkendové a chce více méně jako jaké tomu nebo něčeho takového
a
shodou okolností to vzniká ho u lidí kteří jsou spoluautoři jen kydy tý takže voni
jakoby node r vzniká tak aby se dal scan rtcd napojit
je to hlas
jako nějaký vytváří programovací jazyk kdy mi neprogramujeme tím že by sme psali chovatelé programujeme
tím že si je taháme nějaký blok síti a propojujeme je pro pojedeme je drátem
podstatě
cože jako na první pohled může zdát znít nějak jako potupně že prostě je že
je to nějaká dětská hračka nebo stě takový jako nepoužitelný koncert
něco jako tohle co šedé aplikace na výuku programování pro děti
já nicméně jako u těch vyzváni programovacích jazyků existuje celá řada s _e to letové
žebříčku ví diagram jestli ste někdo programoval nějaký průmyslový automaty tak přesně tímhletím se to
programuje
nebo třeba něco takového tohle screenshoty s programu informatika data flow pokud neděláte někde v
ňáký bance nebo podobných institucích tak ste to asi životě neviděli ale tohle je nástroj
který řídí tok dat ve velkých datových skladech různých korporací a podobně
a je to taky prostě graficky programovací jazyk kdy nám nejde vo to jakoby čistě
naimplementovat nějakou funkcionalitu ale spíš vo nějaký high level pohled na to co se s
tom systému děje
na druhou stranu do grafických programovacích jazyků se dá začal nikde co existuje taková hezká
stránka kde si autor dal tu práci že tam má screenshoty stovek různejch grafických programovacích
jazyků vyzvání
a řadí do toho i přál tohle někdo zná mají _m krát _e která tohle
někdo z vás
ropa pár lidí se hlásí já teda osobně ne ale kamarádi který sou tomu do
toho zblázním tak mi vysvětlovali že ten irák den kdy volby vlastně
kopá ten písek _e stavíte se různých kostiček prostě co vás napadne na autoři tam
naimplementovali to že když vykopáváte něco co se menuje herec tou
vedle toho dáte louč a nějak ještě těch loučí máte víc a tak se vám
povede udělat logickou negaci a ten politickej součin
což dyž si jako se za vzpomínáte někde na logiku ze školy tak znám de
hradla vpodstatě ste schopni udělat cokoliv takže někdo postavil procesor
kalkulačku a já nevím co všechno možný takže ji tohle do s
jako s notnou dávkou
nadsázky dá se to dá brát jako graficky programovací jazyk ale
já jsem nic nedělali chtěli něco smysluplný ho ovládat
když se jako vrátíme zpátky k tomu jak vypadá vlastně ten udržet tak tohle je
tohle je tvůj hodnou threadu
kdy vlastně tím že takhle si tady taháte z nabídky
dostupných boxíku pro pojedete to tak tím vlastně říkáte co ten systém jako celek bude
dělat
je to založené na tom že vlastně řídíme tok dat mezi těmi boxing jo v
názvosloví know threadu tohleto sou node i
a vpodstatě stavíme nějaký orientovaný graf který říká když mně příde nějaká událost request _e
zpráva se dá teče tím grafem tak co všechno to bude dělat a co to
na konci udělá jako nějaký výsledek
pokuď
píšete někde používáte bereš různé další jako konzolový nástroje tak vám asi tohle to bude
připadat hodně povědomí a přesně vpodstatě takhle ten node nefunguje a tohleto je z principu
to jen pro flow based programy že vlastně řídíme tok dat mezi nějakými příp
příkazy
no uvedu to teda nepíšeme textem a neděláme tam pipě ale zas na druhou stranu
můžem to různě větvit jednoduše a podobně
jak jsem říkal je to vlastně orientované na ten tok dat trest tomhle případě představují
zprávy které vlastně dvou mezi těmi jednotlivými uzly
a to vám možná připomíná je to co říká vojta o tom _e kynutý tý
a typicky pak jakoby propojení node redundantní tý vypadá tak že vlastně máme k dispozici
boxy kde se snad trenér na nějakej to pick a ve chvíli kdy na nějaké
zařízení nebo kdokoliv pošle zprávu tak ta zpráva se dostane do know threadu a můžeme
si s ní dělat vlastně co chceme
a na konci třeba to poslat do úplně jiného to piku a tím vlastně udělat
logiku nad nějakými dvěma zařízeními které ty nebo tím samým zařízení a podobně stě klientem
který je socka jednu tý na ten den to pick
no threadu každý ten nout který tam je může mít
nula naší jeden vstup typicky ten nějaký vstupního
třeba zpráva sem těch dětí a podobně
tak
je vstupní uzel takže žádné jakoby vstup do ni neexistuje a má jenom jeden výstup
stejně tak
jak by se dalo čekat výstupní no by pak zas nemají žádný samotný výstup ona
jenom jeden s tou
tak se můžem v a kouknout na nějakou praktickou ukázku
node write jako takový celý funguje vpodstatě na tom že máme nějaký toto pro server
kterej pro nás představuje to gui jste se všemi asi tak to byl s klíčem
z nějakého webové prohlížeče
takže celé to gui ve kterém vlastně ten node neprogramujeme je webová aplikace
a k tomu serveru je pak nějaký endžílu což vlastně vyhodnocuje ty pravidla které my
si naprogramujeme vona to říkáme
a ještě co tady je vidět že to obousměrná šipka protože při vývoji typicky chceme
vědět co se tam děje
ano to je to umožňuje jakoby sbírat data o těch jednotlivejch uzlech vypisovat si nějaký
kontrolní víš výpisy a podobně přímo k tomu gui
co eště stojí za zmínku je možná to že pro node red existuje
poměrně hodně různých rozšíření také nejsou jenom typu že vám umožní připojit se na nějaký
jiný protokol stáhnout
přál připojit se nejak erstovej mapy a podobně ale jsou tam je rozšíření které pak
zasahují do tohoto pro server u
a
můžem se tady
podívat na
jedna z nich
co šije nám to teplota klesla
možná
jedna z nich
když je podezřelý že tady mám teplotu a vlhkost stejnou možná jsem to zadrátovala špatný
rána špatný zobrazování
každopádně jedna s těch zajímavý se do šíření je možnost definovat si ne je jednoduché
grafické rozhraní tak je to tady vidíte můžete si tam dal yum jako
asi to farbe špatně
můžete si tam dávat nějaký ukazatele nebo třeba tlačítko který něco dělá a podobně a
reálu to pak vypadá vtom nouze do ta že
já to zkusím trochu
zvětšit jestli na to vidíte
vlastně tady mám vstupní hnout který reaguje na tu zprávu kterou jsme viděli tady dole
té jeden ukazatel a jo tady je vidět kde je ta chyba
terezku sem zkopíroval
tady je přesně na neměli je to že když byste to nesleze drátové přímo do
tý desky
a zjistil ste to třeba já nevím někde kde zkuste nechali tady v brně a
volili jste nikam
a slovensko
tak tam zjistíte že se můžete vrátit zpátky opravy tu chybu
no a nebo se prostě připojíte do nebyla přepíšete tam
řešilo ukazuje na do toho
ty orchestrace tich ten
že vám vlastně dva nudy jeden přímá teplotu na druhou vlhkost s entirety ti brokeru
kam to posílá právě tahle destička posílám to do
druhého node u který
který představuje
a představuje ten když bod který jsme viděli před chvílí tady je vidět ještě že
ten že tady je modrá tečka t kvůli tomu že já jsem vlastně teďkon změnil
tu konfiguraci takže když tady dám deploy
je to řekne že se všechno povedlo a najednou s tady vidím správně teplotu je
vlhkost
tak teplota vzrostla
dobře
než byla před chvílí
asi jsou trošku ještě tady je vidět příklad toho tlačítka který je dole takže já
tady mám
že na kliknutí na to tlačítko mi tady vlastně vznikne zpráva která putuje až do
putuje do ventil tý
a vy se tady kouknu tak tady je
dva kanál concept pošle zpráva případě že zmáčknul to tlačítko
takže když tady na něj kliknu tak si můžem všimnout že ten text to tý
zprávě furt stejnej ale tady je aspoň vidět že přišla dalším že před chvílí tam
byly dvě
že tohle je taková jednoduchá ukázka entit jít entity tý a no threadu jinak se
tady tak můžem kouknout třeba i
na to že nějakej složitější příklad je tom že tady ten mnou aha přes on
ono to za wifi kontrolorů který máme na strahově informace o tom kolik lidí je
připojených právě z tý hospodě kterou tam máme na bloku jedna
cože takové jako
případ je toho že je tenhleten uzel vlastně spouští nějaký příkaz přímo s konzole
to je s konzole pro čtení dat přiveze jsem natropil
s na to pro
z jenom o tom to byl
jestli máte nějaké otázky k tomu threadu
jestli ne tak můžeme přejít k tomu
ano
no tetě sally
mám tě s
a
co vše co se týče náročnosti tak jako třeba doma provozu na razbery a to
podstatě jako nemá žádnej
jako viditelný že by to nějak zatížil
já bych a sem dodal ještě k tomu první kdo to z ono hodil hodně
bude záležet kole ti správci tomle generovat
když tu bude to ještě druhá věc se mnou bude tečkou jestli tenhle nebo minulej
tejden s ne jako se začlenil do děje s foundation
což vypadá že budou mít plánu hodně intenzivně to rozvíjet a jeden se otevře nehty
ke tu kterým _e v jejich víš je to jakým systém už hodně dlouhou dobu
je
tadyhle toho
teďko ne jeden proces jak ten server proto půjčkou tak ten džin kterej to vyhodnocuje
a voni tam a jich plánu to tady roztrhnout
to uplně to oddělit co znamená že ten džin bude ještě mnohem míň náročný než
to jak je to teďko takže do budoucna to vypadá že to s náročností bude
lepší naše to trať
někdo měl to zas tady pojte
více vstupů do tý protiproudů ono
to by no to je neumožňuje to mít těch vstupů víc ale to jsou tam
putuje si ty zprávy jsou vlastně že jsi že není problém jakoby do tom že
jsme si přidávat další nějaký vlastnosti a na základě toho řídit ten tok dat a
to co bylo vidět
já jsem si dobrý styl jízdy
tady mysim na tom nezdá nebo jaký ty branch máme právě řešený to že
typicky když o to že to vpodstatě data v rámci jednoho jinou to v rámci
jedný události jedný zprávy tak si dej tak o škole tím že jsme nádherně a
je to celkem jednoduchý ale může bejt situaci kdy nám chodí ty data je to
asi jich rovněž celý takže na ty data chodí prostě ze dvou desek renomé potřeba
reagovat
tam kuše trošku problém ale řešení je takový že no nepodporuje kontexty
že tam se nechá udělat javaskriptu je pokřik eventuelně na to bylo doplňky hotový tady
jsem přece nezkoumá čeho dořešen přímo javaskriptu
a přes ty jednotlivý záložky které bylo nahoře tak si čověk může říc tak asi
teďkon texty záložky a tam se udělám a _e globální proměnnou do kterých se to
dost hodnotu podstatě dočasně uložit to jedna možnost ten koutek zde udělat přes celej ten
na přes celej tejden že jim takže se nechá podstatě zdila tři všechny ty záložky
a jedna s poslední možnosti třeba při jak je tý
by možná byla pracovat tam nějak s nějakými let je příznakem
cože o to uschovávání zpráv na tom serveru nicméně ten com tak se na to
docela dobře použitého zrovna ten displej co máme dílně tak funguje tak že se každou
podstatě půl vteřiny obnovuje je nevěsta na to čas a zhruba po deseti vteřinách se
tam prostřídá víte potom místnosti vlhkost místnosti a počet lidí s ty hospodě
a to sou přesně tři naprosto asynchronní věci který si musíme kde nachýlil takže tady
čistotě kontextem
takže takle se nechá řešit podstatě to trvání těch vstupů těch víc asynchronních stopu dohromady
no ta synchronnost vychází s toho jak je vpodstatě
celý no jazz naložený to že tam
to všechno je sposta tím tam
krádež nějaký dotaz k ledu
se kouknem ještě na info zlíbí
potom se mysim hlásil nejmíň lidí že někde slyšeli
info z dyby je speciální databáze podstatě databázový server tady je navržený na uchovávání
jiných tajnosti jistě znamená data který vznikají včas _e
a potřebujete ukládat jako by to chtěli dát nebo tok nějakých událostí s tím že
u každé sebou chováte časový razítko a nějaký jako hodnoty nebo meta data o tom
co to vlastně za
údaje je to něco jako rendered úterý možná znáte ale je to něco jako srovnávat
se ozve soubor s nějakým databázovým serverem typu postgres nebo něco takového
ten info zlíbí toho umí mnohem více a mnohem příjemněji se to konfiguruje a ovládá
primární komunikační kanál pro info lux je to toto po nějaké mapy nicméně pokud tam
těch dat chcete tlačit vopravdu hodně tak mají užitkový konektor a pár dalších
ta databáze jako taková možná znáte relační databáze jako mysql nebo o z wires a
tak dál info zlíbí není relační databáze dokonce nemá ani schema takže vy do ní
ty vzorky jenže dát můžete
_e jako jednu libovolně včas změnit strukturu a tak dál a řadí se to spíš
veřejnou lesklého databáze to nové skoro možná trochu zavádějící týče za chvíli vám řekne že
se tam používá dialekte skel
pro dotazování ale
jako není to prostě klasická relační databáze tak jak je znáte
jsem mluvil o tom že to primárně navržen na uchovávání nějakých jako časových záznamů tak
asi nepřekvapí že každý záznam tím databázi má políčko se časem co šéf podstatě něco
jako primární klíč těch záznamů
navíc u každého záznamu můžete uchovávat nějaké meta data tomu se říká jí tady _e
tady je vpodstatě jiná věc krom toho času a letem jako je dost specificky která
je indexována té databázi takže když se pak chcete dotazovat
na to ovšem a teplota na třebas téhle místnosti tak na to musí ten záznam
mít tak kterej říká že to je teplota stejné místnosti protože jinak podstatě udělat f
úzkém celý databáze byste to bude schopný spočítat
no a krom těch taktů vás asi pak budou zajímat nějaké ty samotné hodnoty takže
k tomu tam máte
další jakoby informace o těch hodnota
info kdyby je sice spiny jako že nemá schéma ale
on si pamatuje
nějaký datový typ ta hodnota měla když ten záznam přišel poprvé právě podle těch tahů
a pokuď jako dalším poprvý tam příde číslo a dalších jakoby navazující záznamech vám tam
příde text nebo něco co nejde převést na číslo tak se vám to nepovede uložit
takže ne definujete to schéma takže byste si dopředu řekli jakou ta databáze bude mít
strukturu ale ten info stejně nějaký informace o těch datových typech si pak pamatuje podle
toho co mu tam vlastně posílá se
no a abyste pak byli schopní na s tím nějak rozumně pracovat tak info zlíbí
implementuje nějaký dialekt sql tak jak podstatě znáte nějaké základy haskell a navíc tam máte
speciální věci právě pro práci s tím časem sám že teda daleko
grupová záznamy a počítat nějaké informace nad tím že řeknete že vás zajímá průměrná teplota
za posledních pět minut za poslední rok nebo prostě podobné dotazy
které jsou právě optimalizované na to abys si jakoby efektivně pracovali s tím časem
krom toho
jako za zmínku stojí třeba na to že vy tam ste schopný napsat nějaký ne
skokový dotaz který řeknete té databázi že ho má vy vykonávat periodický sama vo sobě
a tím ste schopni řešit to že vás třeba
teďkom den téma přednášky by na zcela zajímá teplota tady ste místností každých pět minut
a
ty a informace si chceme uchovávat týden a po týdnu uši jako nechce mít tak
detailní informace a zajímá nás třeba průměrná teplota za den
tohle to umí i rd toola je to poměrně krkolomné to tam nastavit a hlavně
ve chvíli dyž to jednou takhle nastavíte tak je dost ještě složitější to cíle toho
nastavení
jen float tomhle problému přistupuje takže každý ten záznam má nastavenou nějakou takzvanou retenční politiku
kterou říkáte jak dlouho si ten záznam a ta databáze pamatovat
a druhá věc sou právě ty
periodický dotazy co znamená že vy vlastně ste schopni napsat dotaz který vám
spočítá průměrnou teplotu za den a uloží z nějakýma jinejma metoda tam a do té
samé databáze ale s jinou retenční politikou takže řeknete že ten průměr za ten den
chcete uložit na ne jako do nekonečna do skonání věků nebo spíš toho serveru a
ty informace každých pět minut řeknete že vás zajímaj jenom tejden a pak to ta
databáze začne zahazovat to že u vše to nastane
takže tímhle stylem ste pak schopni nějak jako efektivně třeba pracovat s místem který ta
databáze obsadí
to je info
samozřejmě tak ve vlastní dáte uznej záznamy ale kdo to jako zobrazovací je pomocí jestli
není moc uživatelsky přívětivé takže existuje druhým druhá aplikace
co š graf a na a je to vlastně webová aplikace která vám umožňuje vizualizovat
data v nějaké databázi není to
takové kukátko nad na tam
je to
projekty je navržený právě na práci s různými time si z databáze mi chtěj že
existuje celá řada lajnu s kterou podporují řekněme jako primárně právě info zlíbí takže pak
můžete
těch podstatě
graf a ně vytvořit nějaký váš pohled na data který vás zajímá když tam jsou
nějaké grafy nebo statické hodnoty přála průměr za poslední den a podobně
tohleto uložit a zpřístupnit to vpodstatě komukoliv pro ukládání toho nastavení zprávy uživatelů a tak
dál standardně používá sqlite protože ukládat to do té tak si z databáze by nebo
moc efektivní
a příklad toho jak třeba vypadá takový dyž bot vytvoření graf a ně tohleto
_e vidíte různé typy grafů ohledu a tak dál vlastně za každým tím a tím
grafem je nějaký esko jo dotaz do toho info chcu
ne který v a vytáhne ty záznamy které vás zajímají
takže například se můžem kouknout
ram
na nějaké informace já začnu tím _e té průběh počtu lidí k té hospodě jsem
zmiňoval můžem se tady kouknu cena za nějakou delší dobu
třeba na průběh tenle týden
je vidět
že prvního tam byla nějaká velká chce asi
někdy kolem desáté večer
můžete tady vlastně když vytváříte ten dotaz tak tady je takové
celkem příjemné prostředí kdy vy můžete
ten dotaz samotný hezky velký kulový máte dvě možnosti buď si ho
jako vpodstatě naklikáte takovýmhle průvodcem a nebo
můžete
mohou psát vyloženě jako tak jak znáte shořel tady je přál vidět že tady budu
byte a jim což znamená že to že tady já si můžu říct jaký časový
záznam mě zajímá takže pokud to bude měsíc a budou mít záznamy každou vteřinu tak
těch za jako
bodů vtom grafu by byl strašný jako strašný počet což by ten prohlížeč že ten
graf vykresluje ten prohlížeč ne renderuje se na server se možná nezmínil tak by to
pro ten pro můžeš bylo poměrně na jako náročné takže třeba tak graf ona dělá
to že pokuď
vy použijete nějakou konstantu interval tak ste schopni říct info co že vás zajímá já
po data za tenhle časový úsek ale spojů aby vám to splnilo vás za takový
interval který ještě smysluplný zobrazit na tom grafu takže
graf ona vlastně zajistí to že ty v záznamu nedostane nebo dostane přesně takový počet
který je schopná efektivně zobrazit váma nemusí zbytečně
zbytečně vykreslovat velký počet záznam
a tohle příklad jedno grafu ale můžete tam mít ty různé složitější tohle spíš okomentuje
asi volit a
no a já se ze šumavy pojídáním to máte tak když větev praze ale pocházíte
šumavě máte tam rodiče
tohle prosím vás monitoring vytápění baráku
ne o to že
je tam nějaký kotel na dřevo a je to nějaká komu _e celá ta řeší
se jestli to vede nejde a tak podobně
a šlo to si nějaký způsobem jednoduše a rychle vyvolat hodnoty a vypadalo to asi
takže sem prostě ve čtvrtek třeba na šumavu večer
a sobotu ráno prostě už to začlo kde se také graf jenom s tý veteše
to sem doma našel eště tam nějaká historie byl
jde o to že může můžete si prostě jestli graf o ně pokládat tady je
to asi po deseti vteřinách jednotlivý teploty hodnoty nějakých jednotlivých
prvků dělat na tím agregace a tak podobně a o dokážete jednak s tou dokážete
prostě rozpoznat nějaký chování
toho jak se to je jak se to řeší tady pře nádherně vidět což se
zase tři roky provozu toho kotle vůbec nevěděl že
ta dnes ta zelená hodnota to se tady má regulovat kolem šedesáti vstupního no a
ten regulátor úplně dobře naladěný není protože na nevím že tady kmitá
a
to řešení prostě fakt nikoho za čtrnáct set hodin ale čtrnáct hodin a teďko můžu
prostě nádherně hovor hodnoty
a
je to celkem přehledný hezký a navíc ještě může celoru malátově dáme na slunko to
vědět jestli s tím něco udělat
takže té příklad se
graf ony ve spojení sem kydy tý protože ty hodnoty se tam posily právě přes
ty děti
byla ukázka
to naše řešení nám celkem teďkom funguje nicméně mohlo by to být ještě lepší teďkom
co vlastně vám ukazoval vojta tak touž nejsou data která by pocházela přímo ze strahova
vpodstatě s tím nemají nic společného a využívá a prostě infrastrukturu kterou jsme se tam
postavili
a
takže jedna z věcí kterou by bylo psát hezký umožnit je aby si tam lidi
mohli vytvářet účty a vlastně to infrastrukturu používat znamená zajistit tam nějakou
můžete rámci těch uživatelů protože nepřál zbytečná by
v někdo koho zajímají údaje o strahově tak když se kouknete schválně tady můžu
tom brokeru říct že mě zajímají všechny informace který tam proudí
a když tady budem koukat tak tady je prostě
kupa různých dat ze všeho možného
_e informace ze serverové no teplotě tak tady mám nějaký informace tady posílám já nějaký
vojta různý další třeba členové vlastními se tam posílají
takže vyvoláte s tím nic tohleto nějak rozdělený tak aby ty lidi s měli účet
jeden který budou používat nájem čím ty tý jeden na no udržet a jeden na
infuzi graf a nova budou to mít jakoby úplně oddělené a můžou si tam dělat
co chtějí
s tím souvisí je třeba nějaký jako lepší zabezpečení s tím aby se daly generovat
třeba když se tam člověk přihlásí tak si mohli věnovat klientský certifikát které nahraje do
toho svého zařízení a bude to mít nejenom ověřený nějakým jménem a heslem ale opravdu
certifikát ten ve mít zaručený že komunikuje s tím správným zařízením
další třeba problém jakoby _e kritický jako takového je vtom že on vám vlastně neříká
jak jaký ty zprávy si budete posílat ste čistě na vás takže tady jsme viděli
že si posíláme vlastně teplotu a vlhkost jenom jako číslo ale s když se kouknu
na tu zprávu která mi přišla
vidím jenom čísla vůbec nevím že to jedno je počet jako stupně chce stupně celsia
druhý je relativní vlhkost procentech to sto nepozná že třeba vymyslet nějaký způsob jak ty
jak chtěný inform těm zprávám doplní nějaká meta data třeba platforma ty ptal které tady
mysim dneska bude taky nějaká přednáška tak _e posílat že jsi
někdo a různé další příklady využití _e k d používají různé jiné se realizačnímu protokoly
nebo způsoby serializace těch dat
takže třás najít nějaký optimální způsob který nám bude vyhovovat
no a samozřejmě rozšiřovat ten počet zařízení
a tím se dostáváme ji k tomu jakoby co můžete teďko dělat vy ta destička
která tady jde o které mluvil vojta tak ta používá tady ten modul s p
osumdesát dva šedesát šest soše nějaké jí
malý mikropočítač který má na jedné straně wifi a na druhé straně má nějaké volné
piny ke kterým můžete přikovat různá zařízení a my dnes vlastně odpoledne mysli moc tří
máme workshopů kde vás bude mučit na takovej ladem obor ne
nějak se to dá programovat
jo tý místnosti nás to dvanáct už teda ještě nevím kde je ale snad to
nejde
do ten do té doby
jo
tak _e
pokud vás teda ten workshop zaujala vede si to chtít vyzkoušet vpodstatě to co tady
máme teďkon jako to ukázku tak přesně to a ještě trochu rozšířený se tam zkusíte
naprogramovat tak akorát upozorňuju že
skoč skočte tady na ten odkaz kde postup jaksi nainstalovat notebooku software který bene používat
ve svém používat platforma io seš je nějaká platforma pro nebo
balík softwaru pro vývoj různých andradit zařízeních a jedna z nich i podpora pro _e
zprávu suma šest
tak ano tomu dodám tomu šoku vše tě se zastavte
který instalaci dybyste potřeboval nějakou moc nebo to tak se zastavte ten _e stánku budeme
tam
a
není s tím problém a windowsech není s tím problém na linuxu možná měli problém
bude sme cam protože poslední verze miku mají úplně
trošičku jinak ovladače na ty desky po že je celkem tak exoticky převodník na semilsku
tak
ale ty se to nechá řešit takže kdo máte zájem tak asi ty na ten
workshop tak sionistově toto platforma dřív anebo se zastavte kterak když má dopředu
tak jo já děkuji s vojtou za pozornost
dotazy já si necháme tady někde na chodbu nebo sestavte stavte za náma na stánek
necháme čas dalším přednášejícím aby se připravil
a já děkuji za pozornost
jako