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
ať
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