já bych vám rád dneska vo přednáška

naše řešení a je u tý na kterém že jako dobu pracujeme

předem upozorňuji bude se mluvit o javě abyste na to byli připraveni

kdyby náhodou

měl by si problém

tak tady je nějákej souhrn toho co budeme popisovat

asi se s tom nebudeme

zavírat uvidíte to časem

tak něco málo a jo u tý předpokládám pokud se nepletu tak tady na o

konal tu byly tak tři přednášky na to téma byl posledních dvou dnech takže je

to někdo kdo neví co to ta zkratka ty znamená

vývoje tak se přepnu rovnou k nějakým informacím

podle společnosti zisk o bude do roku dva tisíce dvacet připojena k internetu zhruba padesát

miliard zařízení

cože docela velký číslo ale vzhledem k tomu že už teďka u vás doma každý

máte tak aspoň šest sedum zařízení

co sou připojený k internetu tak to není až tak šokující

když se vezme ta televize tablet telefon nějaký ty hodinky

jeden až do počítače a tak dál

síla najatý je ideálně propojit všechny tady ty normální zařízení o kterých by jste si

mysleli že nejsou připojitelný k internetu

taky připojit řiti a ovládat i vzdáleně

už teďka

se dělají chytré budovy které jsou ovladatelné

s tabletu

tak abyste si nastavili optimální teplotu a tak dál

další docela zajímavá informace je

do kolem půl roce lednice osumnáct id malý zařízení vykradli generujou kolem čtyřicet se ta

bajtů dát

takže z vás kdo neví tak to je miliarda teda bajtů

protože docela usilovně číslo

tak cílem

to je napsáno vytvořit lepší svět

samozřejmě

posbírat nějaký data pro

předloží věci

nevím co k tomu dalo říct

tak tady a ta a jo ty architektura což opět o popravě všichni znáte

a jo tý se dá rozdělit na dvě základní věci máte nějaký senzory jaký zařízení

který je základě těch senzoru operují

ideálním světě by andy fungovalo takže máte síť senzorů

senzory monitoring dopravy u vás doma monitoring teploty a všech a chtěla vlhkosti vzduchu a

pak máte zařízení jako tak topení

mu to těch domácností

a

saka

pardon

tak tyto anglicky semafory a podobně který je reálně na základě těch dat který získáváte

analyzujete dokážete efektivně řídit tak aby

ztráty tepla vaší domácnosti byly minimální kolize z dopravy byly minimální a podobně

to znamená současné nutí

nejenom to sbírání dat a agregace ale jejich analýzy zjišťování fáze statistika

jakým je šílenej

tady ten vy všichni určitě znáte

tak teď se dostáváme k tomu co je grant až do přednášky

naše řešení v javě to skládá ze tří hlavních části knihovna hodnota té budu mluvit

platforma se v rusku a frameu silná tak tam toho důvodu

knihovna blok je ta

i je ta část nejnižší úrovni jedna knihovna která vám přináší

ty level periferie vašich zařízení vaší když strýček jako raspberry pár výhonky vyvolat

ideálně tak aby se mohli s co nejmenším zastavím stalo s co nejmenším objemem problémů

přenášet s vychovat mezi jednotlivými destička na

dělá je mezi dozvíme destička no

jedna

teda knihovny je jednou napíšete svůj chod

vezmete ho nasadit ohledu destičkou a on poběží bez zásahu samozřejmě

nebylo by to uplně ho může sám stát že budete potřeba přistupovat ke konkrétnímu pinu

na konkrétních

a konkrétních zařízeních

i to je z bylo nemožné

tak

podporujeme standa ničitel inovace s p h je sběrnice

které vám

nabízejí

tak to je ukázka kódu

tady právě ukazuje tu platforma s platformu

tento řádek

vytváří

na nakonfiguruje ve vašem kódu

celou platformu na které věšíte

je to naprosto bez vstupu blok umí detekovat platformu sám nezávisle

na vás programátory

to znamená připraví vám prostředí pinu nahraje zjisti jich vlastnosti jako třeba jestli je tam

fajn tady link nebo lizin cache a tak dál užívám přenastavit ty vlastnosti

na dalším řádku už máte

konkrétně jak získat output

na konkrétním pinu podle teda pro vaši představu raspberry pipě jedna jedenáct

používáme popisy takové jak se piny menujou dokumentaci takže není to problém

používat pokud znáte tu desku na kterou vidíte

kde je to řádku se děje se stane to že jsou i destičku požádáte o

získání pinu a na typu na typu je tady jako že to output to že

opět rozhraní pro jednoduchou práci s autama půl

a potom ženu nastavíte

nebo řeknete na tohle auto pí před i vysoké napětí to že případě led diody

znamená

vhledem zase rozsvítí

nic víc nic míň

kdyby kde bychom uvažovali tak aby to bylo multiplatformní tak blok má v sobě přímo

metody které nám umožní získat třeba seznam všech dostupných pinu

to krásné místo bod pět pin jste vzali body pin s vybrali byste si podle

indexu třeba nultej

a pak lenin poslali vysoký na pěti co veřejně tím pádem ale to znamená že

musíte vědět jak jsou piny uspořádaný protože tom na destičkách není jednotný jak se menujou

a podobně

ano

a role a rouše moc nízko měli na rádiu by se asi a stačilo mi

to mašin ani ne rozchodil

jo

leda asi určitě

takže konkrétně mluvíme o destička z linuksem

no prozatím bohužel vyvíjet ona windowsy režim že vod mínus deset už tam taky nějaká

podpora a nemůže

prozatím necháme stranou

tak

teď hledat a nízkoúrovňovém část na část která vám přinese ty vaše piny

při umožňoval to připojit senzor zapsat někam data

nyní se dostáváme k části která už shoda třeba nějakou logiku navíc

je to je to selves půl platforma

ta využívá technologii a patch k no a počkej málo je frame word ten mužskej

kterých hry vám umožňuje

jednoduše vytvářet

tu integrační logiku komponent které vytvoříte například pomocí bloku

a

používají ty no používá pro ho imply implementuje enterprise v inte je ta dnešní pattern

s

což uplně upřímně nevím ani co je ale

vám to a používá se pro ho a používají se tam domén specific languages takže

po kralupech mohli byste všichni znát

a počkej moje

spustitelný

v jakýkoliv jen aplikaci to znamená že tam chodit

takže nově ve skále ruby

podobně

co je podstatné je že vám to umožňuje jednoduše vytvořit způsob jakým jak budete předávat

informace mezi komponentami

v ideálním na úrovni vím

jestli vítat to

asi dopadlo prodávat

lze přichází se v rusku

sedum osum

obalu jedu na do bylo komponent

ideál se desku co vrstvu je vytvořit vám proto jednoduchej úzké pro účet aims krizi

konkrétní komponentu tak aby se nemusel replikovat to znamená například i chcete rozsvítit jo do

takže za to abyste psali komplikovaný kolt jak se tady jo na vytvoří jak se

jak se na ni pošle ten output a podobně tak jenom vezmete koutk tady už

někdo napsal

a spustíte ho

a jenom řekněte který ten pin bude tady nuda

tady prozatím máme

myslím tu výhodu to ještě docela vy výstavbě tady ta část

takže tady máme diodou a nějaké teplotní měření prozatím ale do budoucna budou přibývat funkcionality

vole to je budou potřeba

tak

to byl jsem s tou teď se dostáváme k serveru cože

té hierarchie ta nejvyšší úroveň abstrakce

sylva že je vystavěny pomoct jako na je pro servis

majitel servis je

a ne architektonicky přístup

který vám umožňuje nebo trička

rozdělte funkce o tom na menší procesy které budou tu věc dělat dobře a samostatně

nevíš

vytvářet jeden obrovský proces který zabalí všechno do sebe ale bude

na ty a komplikovaný

to že asi jasný

tady vidíte diagram toho jak mají pro sebe si vypadají

voproti monolitický aplikacím

a

co nám to přináší za benefity je lepší škálovatelnost naši našel systému

protože by se to abyste nasadili jednu obrovskou aplikaci

která sama vezme nějaký prostředky a

bude sice umět všechno ale komplikovaně tak nasadíte menší počet drobných aplikaci které push není

spolu komunikovat

a každá udělá tu jednu věc kterou vy potřebujete aby udělala

a na tým potom posadíte akorát nějakou jednoduchou logikou která to celé zabalí

no očekávaného výsledku

no a silver

to je

implementace mají pro services

pro naše potřeby

tak je to

frame onak

který už má například k jejímu

nebo další nebo nést sobě integrovaný

a nejenom jednoduše řeknete co tam mají pro sebe sama dělat

nakonfigurujete jí a s využitím síly tím silného už budete mít

celou tu a co celý ten zbytek cílový ti hotový

tak

přeber si bylo všechno fotbal

tak nyní se přesouváme kde mu

protože

vykládání za prvý mě evidentně moc nejde

co jste asi poznali za druhý příklad je lepší dyž kvanta teorie

proč je tady slajd open shiftu

představte si situaci

máte velkej barák

a on

to víš nevím jestli si dovedete představit já jsem tam vyrůstal a je to docela

starší

a hodilo by se vám sbírat si data o tom jaká je teplota jaká je

vlhkost

a ideálně na

na základě těch dát vytvořit i to být si plán který vám ten barák vysuší

protože dost často se psalo něco s tou metody jak to řešit ořezání domu a

tak ale to není aplikovatelný všude a je to strašně drahý

takže pro ně seru potřebujete mít data sbírat je

na tady ty věci už současné době je ideální nějaký cloudu vy prostředí tam synu

nasadíte jednoduchou aplikaci do který vám ty data potečou

ano více nebudete starat

my v rámci toho trvá pomůžeme open shift cože předpokla všichni víte

platforem ssl viz

cloud vyřešení

kde si můžete jednoduše nasadit svoje

své aplikace

své aplikace

podporuje to spoustu jazyků node žije s javu python ruby go

a

spoustu databázových úložiště

tady je najal toho jak

open shift enterprise

funguje je poběžíme na open shift enterprise trojice kde učíš místo cartridge u jako takovej

se používají docker ovské imidže

to znamená vaše aplikace je spuštěna v rámci docker imidž

takže opět nevím jestli všichni znáte docker

je trošku výhodnější než virtualizovat a prodlužovat celý stroj

princip přístupu k open shift aplikaci je přes it

kdy vy si vytvoříte aplikaci dostanete git of fire po nahrajete tam svoje zdrojáky

podle nějaký konvence je se vám potom spustí a nesedí se aplikace

můžete tam provazovat

databáze různý se svejma aplikacema

tak

tady je naše demo

teď když se asi přepnu s prezentace přímo do

zdrojáků

takže

cílem naší síla našeho doma je vzal nějaké destičky které vidíte zde je to

github on black razbery pádem výchovou je napravo

získat

informací s teplotního čidla o teplotě a vlhkosti uloží tý do databáze

za info zlíbí a vizualizovat grafem graf a je

cože nástroj který umožňuje

z o rozvodu grafu různý metriky

primárně čidel možnost to například na a zátěže procesoru

takže

tady máme open shift

kde se jako první na pro vyhneme

tak to znova

na průběžném

tak to zkusím

no

takže

lazy to zkusíme na to rozlišovat

to sem teda nečekal

netrpíš že se to asi snaží zvuků to těch

povolovat

ty imidže

já jsem četl

jel už to vypadá že to něco dělá takže

cílem tom ohledem a jede cílem to toho co se týče leží má co nefunguje

je vytvořit prostředí

kde nám poběží při služby graf a na je float líbí a info dříví grafický

rozhraní

pokud se to povede

takže to teď jí pro jistotu

tak a ukážeme jak to fakt jako vykomunikuje

tak zatim se přepne do zdrojáků

to bude jednodušší

to tady schoval terminálu

zatim potřebovat a

ty

když se zeptat když se ty data sesbíráte uložíte nepotřebujete

tři věci

je co tam je uložíte

způsob jak je vydolujete

a nějakou přenosovou vrstvu která umožňuje před

tady máme z druhé serveru kterej právě vytváření to michael servisu která bude padat tak

ukládat do databáze

co je na tom pěkný vešlo se to tají martine promiň nechci křivdit ale to

že na sto padesát řádku necelejch

tak za comment základním platem i michael jsem jestli je

přídavek že jste temperature ta jeho anotované jako negr servis

a

za no jako bitovej to že ale ta vláda jako by tady znamená že bude

mít trestu s ní aby přes který dokáže přijímat zaslána data

potom koše ten způsob dost jednoduchej metoda temperature

vám ze získaný teploty vám vezme získal teplotu

zkontroluje jestli se změnila a pokuď ano taky uloží do databáze pokud se nezměnila tak

ji zahodí

a metodami lidi udělat úplně to samé s

informací o

vlhkost

potom tady jsou eště dvě třídy velím filtr

pedofil tady dělá právě tu logiku

která

řekne zda se a hodnota změnila nebo ne tedy zajímá publikovat nebo si vás zahodit

a inkluzi bývá litr

to je

jenom

třída která dělá ten samotný zápis dát do if různými

vidíte že gott je docela každou tady a kdyby a to by šlo tak vám

dokáže funguje

protože by toho

eště furt ne

zase to půl

ten na internet

leda je problém s dockrem snaží stáhnout si imič který nemůže najít protože nemá internet

ale eště mu nedošlo že doma lokálně můžou použít

ustavit

ale to sou jenom graf ano

takže ideálně ten jako až bude mít databázi tak

uvidíme

chtěla

cože

našem

a tady zkusím jinou se zkusím restartovat tom vašem

tak

takže teď sme si ty to zkusíme znova od začátku

a sanace to tentokrát poprvé

a

pohodě

potom

tak eště si tady ukážeme

tu logiku

která načte informace za

pinu

a tady

vezmeš a když naběhne ten open shift tak prosím

ukázat tu část která tady bliká celý celou dobu to která by měla vlastně produkovat

ty data pro ten server který vás bída

úkol byl takový že máme čidlo které umí měřit aktuální teplotu a vlhkost

i to informace sou vystavený přes dívat se sběrnici

kdy to data chceme číst prostřednictvím

nějaký nějaké s jakési destiček a posílat je do toho serveru kterým miro který mars

to etapy na tohle ideální právě pouští kremlu

a

já se chci zeptat kolik z vás někdy viděla patch kino a znám

takže to ruce nebojte se

kolik z vás o něm slyšela dřív než dneska této přednášce

dobře

tak je mu vlastně ten koncepce jakým funguje je že se tam specifikují takzvané roupy

takzvané cesty kde je nějaký vstup do té cesty nějaká logika a místo ten test

s to baví s tou sou ty body kde se bude pro vlastně dochází k

a actor integraci zástupe může být a tříadresové rozhraní a výstupem je poslání zprávy dole

těm esky díky rok a podobně

a

součástí té logiky může být se právě měl říkal

nějaké větvení nějaké ty to sou co jsou ty integration pattern vlastně

který se jí že a to je že se že se pak ta zpráva která

tam kvůli vlastně chodí může sem upravit může se poslat na více dalších míst může

se mi z více místech integrovat do jedný a podobně za na té přesně to

co nepotřebuje

bych tom krimu budeme dělat to že mi přečteme

data respektuje mi jenom ještě jednu věc a to je že umí pouštět to rok

jako takovou než by něco četl levný jenom posílat třeba ta data co všechno sami

využijeme znamená monomy nějaký časovač který každou vteřinu

bude číst informace o teplotě a tisíc to vaše chyba

tak tomu práci žije knihovnu do zoo sionismům

a tuto informaci bude pravidelně posílat

do

toho serveru

do té malinkatý být ze kterého tam ty mi mirkovi grossem jestli budou potom zpracoval

ten

arrow ta vlastně nebo ten k no vypadá to asi moc nevidíte ne zkusím zapnout

útok typu prezentační režim

zase za rohem

ta

petr tom příkladě které jsem termogram připravený mimochodem je i na githubu součástí se mozkům

demo seš copak můžete vy podívat

a tam se vlastně definující celkem přijedou ty

první row ta věta která každou vteřinu čte

teplotou zřídla to jakým způsobem mám ukázat půlku

zkonvertuje jí na že na že jsem naposled pošle ji přes do teplotou stejná jak

euro které vlastně

tady tím rozhraním do toho infarkt divím toho té mikro servis iterators pracoval další row

ta je to s to stejné akorát to čte

pro kost

a pak tady ještě třetí auta která vystavujete aktuální data toho senzoru je přes restorer

aby sama o sobě to znamená jsem schopny poslat požadavek střel zdrojového prohlížeče na proud

novinka bude vrátí okamžité hodnoty tak se vlastníka na chvíli

tak

teďka jakým způsobem já získám to teplotu

je tady na to používáme něco čemu se je muří čem se filmu říkali

změny jsou podstatě je to i obyčejné java objekty

tady potom

tak

a

na to tady mám vlastní implementovanou

jednoduchou třídu

příliš to tam to určitý s bude fakt to

a tady třída vlastně používat tu knihu půl do proto aby

kvičet a ty data

vypadá velice složitě letos všechno jsou jenom všechno sou jenom podpůrné okolí kód pro to

aby to fungovalo by se to dalo konfigurovat z venku jako je adresa toho senzoru

adresa toho ten kdo se mi si ne proto posílám podobně co je pro nás

důležité

je

jsou tady ty dvě třídy a to je borec a dívat se vás jsou vlastně

příde se budou ku

jakož vám mír ukazoval jednoduchým způsobem získáme si

objekt reprezentující na destičku tady si vy stáhnu všechno seznam všechny dvacet sběrnic které na

teda ne destičce sou vezmu si první sníh

a

tím ní vlastní mám uloženou toho objektu jí látce

pak tedy má metodu která se mi nelíbil ju s která podstatě využívají dvac jako

action

vytvoří

vytvoří je dívat se konečná adresou set senzoru která je čtyřicet dva hexadecimálním

to je

to sou technické té pro dvacet sběrnici

že má nějakou adresu to zařízení a tady při přečtu data jsou vlastně na dva

bajty nějakým způsobem si uložím do nějakého bufferu a to je vlastně ta informace kterou

pak dál zpracovává vracím

vracím zpátky

pak tady mám další metody který s který vlastně jenom vracej budinou teplotu nebo jenom

tu

vlhkost to šílený teďka moc důležité

tak pošty hotovo

anebo jestli chceš tak ještě to ale tam třeba tady navíc

víc

já se teďka připojím přes ssh áčko na turecký čaj tři dál zase řevu chyťte

ukážu jestli to vidět mám tady vlastně rozbili pár dvojku

no tady by dobou tady ty kablíky barevný tedy vidíte to sou podstatě jenom

vyvedení tý válce sběrnice dva sou napájení a datový a hodinový signál a já si

tady těma který těma ve kablík a má při budu připojovat to teplotní čidlo které

já jsem si postavil se arduina s nějakého čidla ty se chtěl jsem koupil číně

proto abych byl schopnej vystavovat tu informaci přes podívat se sběrnici v zadání bylo mít

teplotní čidlo na ní dvacet princip já jsem unesena tak se postavil tak vlastně no

si je že to nemusí fungovat tak že budu bude fungovat vlastně s čímkoliv zjistím

si můžete případě hra

je to připojený na konkrétní piny natáhne na destičce které zamoření musíte znát ale pro

buldok jako takový to není vůbec podstatné co mám teďka ukážu je že jako s

tím tu aplikaci

ne tu aplikaci na lidovou s tím čidlem pustím to prostě tady nad veličkou ten

kód je úplně stejní ne nezměním tam jediný písmenko vtom přes prací

a bude to fungovat vlastně na obojí dvojí návodu destička zároveň to znamená to nejdřív

pustím

já tady jenom chvilku možná přerušen pavla protože

nejdřív po třem připravit open shift tohle prostředí což už se konečně pohledu

protože

takže teď už to vypadá že se nám ty jednotlivé

imidže nebo spíš kontejnery spustí za chvilku

ten okamžik kdy budeme moct takový moc nasadit metro servisu

která bude zpracovávat data z destiček

naučte

takže

teď si spustíme tu microsoft

se připojí zpátky na

síť

co uděláme jako první

je že se podíváme do té naší databáze a vytvoříme si

nebo databázi senzor s do které očekávám že data budou uloženy

tak

je vytvořena databáze

teď se přihlásíme do krav anny cože

ten vizualizační tu hůl

a vytvoříme si tady dyž volat

protože

push těch technických nedostatků bylo dneska dost a když potom z vás připravený

chtít

v posledních pěti minut vytasil si tady

tady stojí

se co s

tak

takže teď nám graf a na bude ukazovat

že jo

ty ten graf a nebude ukazovat data která se získávají z destiček přímo živě

tak

a teď poslední věc kterou uděláme je že spustím

že spustíme tu mikro servisu

že

jo to sem zase vypad

aby to stejné zhavarovali že tato spojení

tak

to se nám teď propojí

možná

když poprosíme

ale zatim to nezaujalo to znamená mluvit o fungovat

jestli je s

tak a teď že se předal slovo zpátky martin pavlovi kterej nám odvezete zbytek

takže když už další posila ty už můžeš marně

že se nejprve připojím

na by dobou

ty určitě se oni

oni tam

tak židem je

takže se připojím na

no

ty

vedlejším okně se připojí mezi tím

k tričko

jsme tam

skoro

tak asi otevřené to aplikaci která je vlastně ani ne

to se však ta naše

a

spiny

mně taky

máte nějaké parametry který bude důležitějším parametrem je

adresa toho kde běží ta služba na kterou mám posílat i dvacet let se

ujetá

teď

tak co

tak

tam

jenom jako

tak snad služba nastartovala

posílat

takže zobrazit data posílá

to se ne to ne to je zase ten

dobře tak proklikat

že vidíte

pozorování není

je

no tak něco tak jsem se tam nějaká protože to není ta teplota

ták

není zač

tam je klikat na toleranci

tak

můžete nastane služba s tímhle krabička

a navíc

já teďka je dneska si představte situaci kdy ta vesnička havaruje a shoří

utopí se rychle potřebuju tak to jsem systému ji nahradit nějakým jako ministryně aby to

tam potom se získá znamená já vezmu tričko v případě

jen to odpovím

nastavit úplně stejnou službu která je

jednak ty ní stejné se jako ta která běžela jinak žádný

já nikoho který by byl

závislý na tom na které se měsíce jediný rozdíl

mezi těma dvěma destička má je vtom jde

fyzicky na té destičce je něco umístili ty piny pro tu danou sběrnici a napájení

první proto je to proto to vypadá malinko jiná ale podstatě co potřebujete je kamaráde

nic ani

znamená nechat s nastat úplně stejnou službu

byl by klid protože když to

a já bych zase udržet takže se teď

zobrazit ji dostal

jako ty

cizině se von

takže vidíte pomocí vlastně

je nemusí zajímat jako konkrétní děti jenže to je jedna z těch trochu

a jako ocenila budeme že vlastně to zas tam jasné

slovo

takže jako vždy vše děkuju za nos

tak vode mě už to taky moc neuslyšíte protože víceméně jsme vyčerpali všechno s no

chtěli žít

takže

tady nemůžeme ukážu

odkazů

na nás takže jsme všichni na githubu jako skupina a it tři

potom tu skupinu někdy to všechny znaky mluvila sem mu způsobil beru

a idem a která smůlu dneska předvedli

jinak asi ušli se máme takže dva takže nechám prostor pro vás a případné dotazy