Základní stanovení - Kolik lidi / pacientů slevovat (nemocnice
Transkript
Základní stanovení - Kolik lidi / pacientů slevovat (nemocnice, domov o pár lidech), zhruba počet. - Na jakém prostoru / ploše (vnitřek budovy, okolí budovy, venkovní plac, město, krajina). - Jak přesně sledovat (metry, místnost, část placu, oblast). - Jak spolehlivě sledovat (zcela jistě, orientačně, možnost výpadku, dopočet z okolí). - Jak spolehlivě / přesně zobrazovat (skutečná mapa, oblasti, chodby, místnosti). Základní možnosti - Bezdrátové (např. náramky) pojítka nainstalovaná po celé budově, venku jedině GPS (absolutní poloha na několik metrů) - RFID na osobě / boty a detekovat průchody přes předem dané oblasti (pouze pohyb přes záchytné body) Bezdrátové řešení - (+) Chodí v budově i venku, ale nutno použít vždy jinou technologii (ZigBee / BlueTooth - GPS) - (+) Venkovní prostředí je řešitelná pro velké vzdálenosti pouze přes GPS, pro malé zahrady postačí ZigBee / BlueTooth / … GPS přes GSM se platí, ZigBee / BlueTooth nikoli. - (+) Sledovaná osoba se v podstatě neztratí, vždy ji nějaký prvek / pojítko vidí (snad) - (+) Vhodné i pro celkem velký počet a rychleji se pohybujících lidí - (+) mužnost snadno kombinovat vnitřní / vnější sledování, ale za použití jiné technologie i v jednom pouzdře - (-) Nutnost napájení, baterie, kontrolovat, jinak je nespolehlivé - (-) Uvnitř budovy problém – železné konstrukce, nutnost bezdrátového pojítka v každé místnosti, občas i za každým rohem při dlouhé / velké místnosti, pojítka nutno často propojit drátově, nutné jejich napájení při velkém počtu, celkem drahé - Elmg. pole všude kolem – není dobré RFID - (+) Žádné napájení, ideální skoro bezúdržbové, téměř doživotní (+) Není žádné stálé elmg. pole kolem sledované osoby a ostatních lidí – ideální (-) Snímání pouze na určitých místech (čtečky, průchody, …), levné (-) Zaznamenává se pouze průchod, nikoli pozice, při ztrátě průchodu je ztráta informace, nutno korigovat z okolních průchodů (-) V podstatě pouze pro vnitřní detekci, možný odchod z budovy ven a příchod (-) Nutno umístit na člověka do vhodného místa pro snímač (například bota pro snímač v podlaze) (-) Vhodné pro celkem malý počet a pomaleji se pohybujících lidí, běh kolem snímače nemusí být zaznamenán, větší počet lidí může snímač zmást Zobrazení - Pouze na jednom místě (centrála) nebo na více místech současně (ostraha, sestry, …) - Pouze na stolním PC nebo i přes WWW rozhraní. Zobrazení na mobilech a tabletech nutně nevyžaduje WWW rozhraní, lze vytvořit pomocí TCP/IP spojení, není nutno vytvářet WWW stránky. - Jak precizní / pěkné zobrazení, 2D symbolické, 3D tvar budovy, osoby, … - Máme zobrazení 3D v DirectX, ale běžící pouze na stolním PC, pokud najdu studenta, tak bude předěláno do WPF (.NET C#) pro činnost i pomocí WWW (.NET SilverLight) Nutno si dobře uvědomit - Jsme škola a ne firma, naší (hlavní) náplní není programování velkých věcí skládajících se z několika technologií, toto je velmi časově náročné a v budoucnu nelze udržovat - Pokud možno pro SW část používat pouze jednu technologii nejlépe, kterou někdo z řešitelů celkem dobře zná - Používat pokud možno technologie, za nimiž stojí velké firmy, nikoli skupina nadšenců, hrozí kdykoli radikální změna nebo ukončení, firma by přišla o zisk, ale nadšenci o nic - Do zbylé části (například od firmy, jiné skupiny) dohodnout pouze vhodný „interface“ a za něho nejít. V případě že někdo jiný projekt vzdá tak jsem schopni jeho část nahradit. - Pokud to jde, vyhnout se integrování s firmou nebo jinou skupinou na úrovni zdrojového kódu, mimo dohodnutý „interface“. - Vždy myslet na to aby naše část byla použitelná i jinde, kdyby to od ostatních selhalo. - Pro testy nevytvářet žádný vlastní HW, buď použít nějaký již vytvořený, od nějaký firmy i speciální, nebo použít něco zcela běžně dostupného jako například chytrý telefon. Některé návrhy (někdo by ale měl k tomuto napsat opak pro zde kritizované technologie) - Za .NETem stojí 29 firem, které jej vytváří a zajišťují jeho budoucnost. Za JAVA stojí pouze jedna (SUN/ORACLE), jiní si raději udělali svoji (IBM – ne zcela kompatibilní), protože se nedočkali za mnoho let požadované úrovně. - Velké firmy jako NOVEL / IBM velmi sponzorují zajištění podpory .NETu na všem dalším než WIN (hlavně LINUX). Jak je to s JAVA ? - V .NET lze udělat jak stolní aplikaci, tak WEB aplikaci zcela stejným stylem a velkou přepoužitelností kódu. Zcela stejný programovací jazyk. Lze vůbec něco takového v JAVA ? - Instalace aplikace v .NETu je hračka, prostě nakopírovat. Instalace aplikace v JAVA je (hrůza) ? - Možná 99% uživatelů používá WIN. Aplikace v .NET lze vytvořit za zlomek času než v JAVA, nemá význam se nad tímto zamyslet. - Na WIN bez .NETu ani ránu. Bez JAVA asi v pohodě. Na LINUXu bez .NETu asi taky již ani ránu, bez JAVA ? - JAVA využívá často OpenGL na 3D a to jsou často velké problémy rozchodit. .NET využívá DirectX / XNA / WPF na 3D podle typu aplikace a to chodí všude (tedy všude na WIN). - V .NETu je nová stavová grafika 3D ve WPF / SilverLight to nelze ani pospat, kam dáte čáru do prostoru tak tam prostě je, dokud s ní nepohnete, lze na ni klikat, unikátnost. - Budete psát aplikace na Android v JAVA, když na WM7 (.NET Compact Framework) a IPad (MonoTouch) běží nádherně .NET a jsou tyto telefony tedy zcela programově kompatibilní (jedna aplikace). Proč to vše nepsat v .NETu a na Android nepoužít MonoDroid (opět sponzoruje NOVEL) aby to bylo skutečně přenositelné a nezáleželo na telefonu. Knížky o .NETu pro Androida (MonoDroid) a IPad (MonoTouch) jsou dostupné. Proč to asi NOVEL dělá že by jej ta JAVA taky zklamala, jako mnoho dalších? - Proč používat strašně nízko-úrovňové OpenGL (bohužel Android), když v .NET je WPF / SilverLight pro 3D a to i na všech telefonech (snad). - - - Mnoho lidí si v .NETu neuvědomuje jednu velmi důležitou skutečnost a to: pro .NET existuje mnoho jazyků jako Pyton, Prolog, F# (funkcionální jazyk) a další, nejde pouze o to vytvořit program v tomto jazyku, ale lze jej zcela snadno zakomponovat do vlastního programu v jiné jazyce (C#) prostým volám jeho funkcí (nikoli externího programu), hlavně jej lze přidat do WEB aplikace vytvořené v .NET a tam zcela použít, můžete mít WEB aplikaci obsahující přímo v sobě kód z funkcionálního jazyka se 3D výstupem ve formě grafů. Toto se vám u PHP / JAVA / JavaScript „zatím vůbec“ nepovede. Proto se vše tak pracně přes JavaScript / PHP transportuje z klienta na server pro výpočty a potom zpět a přitom je server BUSY a uživatelův I7 3GHz procesor nic nedělá. Přitom má často větší výpočetní výkon než server. Toto pochází z dávno minulé doby, která jej již pryč. My již žijeme ve 21ím století. Obdoba SilverLight pro LINUX je MoonLight, ale nevím jak je to daleko a spolehlivé. Takže i WEB aplikace by měli běžet v prohlížeči na LINUXu. Aplikaci na WEB vytvořena v SilverLight.NET lze přímo naistalovat na lokál a tím používat i bez internetu, pokud taková situace nastane a teprve potom odeslat data až bude na internet přístup. Lze tedy vytvořit aplikaci pouze jednou a to zcela internetovou a zároveň lokální, běžící i v případě výpadku internetu. Co jiného toto umí? V mnoha pramenech se udává potřeba průměrně třetiny času a řádků kódu pro vývoj aplikace v .NETu, oproti vývoji aplikace v JAVA. V JAVA jsem kdysi dělal (hodně) a mohu potvrdit. http://monodevelop.com/ http://www.mono-project.com/Main_Page http://mono-framework.com/Moonlight http://www.mono-droid.com/ Wiley - Professional iPhone Programming with Mon Touch and NET CSharp (2010) Professional Android Programming with Mono for Android and NET CSharp Hlavní rozdíl mezi LINUX a WIN: LINUX - Asi zcela nekoordinované, každá skupina nadšenců si asi dělá vše podle sebe a pro sebe - Na stolní PC je JAVA / C++, na WEB PHP (servery) / JavaScript (klienti) / Jumla / Drupal a další podle aktuální nálady tvůrců - Předělat program z lokálu na WEB znamená program zcela předělat do zcela jiného jazyka / prostředí - Různé jazyky JAVA, Python, … všechny své vlastní GUI, pokud tedy vůbec nějaké mají, zcela oddělené aplikace, ať si programátor užije při přechodu z jednoho na druhý nebo jejich spojením - Potřebujeme (programátoři / uživatelé) nový jazyk na … tak si to uděláme jako vlastní / samostatný program, vlastní GUI a další, bude to chodit pouze na lokále na WEB již ne a podobně (tvůrci WEB technologií o tom nevědí), ať se z toho programátoři pomátnou - Vytvořit kus v JAVA (GUI) a část a Python / … (logika) je často strašná práce při spojení - Komunikace mezi aplikace často přes příkazový řádek nebo „roury“ z aplikace do aplikace, no asi zcela vhodně pro objektové programování - Čím více prostředí, tím více práce a tím více odradit programátora a tedy i uživatele - Vývojové nástroje – pro každou technologie zcela jiné, jen se v to vyznejte programátoři - - - - Pro každou potřebu jiná technologie a nástroje / jazyky (JAVA, PHP, …) a potom to propojit je umění a každá používá zcela jiná jazyk, datové typy atd. Pokud jsi programátore udělal aplikaci v JAVA a chceš z toho mít aplikaci na WEB, tak si ji úplně předělej, nebo příště použij třeba .NET, tam tě toto již nepotká, ušetříš čas WIN Asi zcela koordinované, vše využívá vše pro společný základ a je to pro programátory / uživatele Na stolním PC je to .NET na WEBu je to .NET, no prostě všude Předělání mnoha běžných aplikací z lokálu na WEB je úpravou, často pouze několika řádků Různé jazyky C#, Python, … pouze jazyky pro .NET, zcela stejné GUI, většinou stejně vytvářené, přechod z jednoho na druhý je často hračka Potřebujeme nový jazyk na …, ať vás ani nenapadne dělat něco zcela svého, využijete .NET aby to mělo stejné GUI, běželo na lokále i WEBu a atd., ať programátoři použití stále zcela stejné GUI, vývojové nástroje a pouze přidají soubor vašeho nového jazyka Vytvořit kus v C# (GUI) a cast v Python / F# (logika) je hračka, do projektu se pouze přidá soubor s příponou cílového jazyka, vzájemné volání jako jednoho prog. jazyka Komunikace mezi aplikacemi snadná, mám objekt a zadám ident cílové aplikace a WIN to tam pošlou a to i když je aplikace na jiném PC (WCF). Vše společný základ v .NET (běhové prostředí) a pouze moduly, které se pouze slinkují ADO.NET pro databáze, ASP.NET pro serverové věci, SiverLight.NET pro klientské věci, 3D grafy WPF.NET, meziaplikační komunikace WCF.NET a další, všechny mohu používat zcela stejný jazyk (C#), stejné datové typy Vývojové nástroje – jedno unikátní IDE pro všechny jazyky a lokal i WEB. Co více si přát pro snadný a rychlý vývoj aplikací. Čím méně prostředí, tím jednodušší přechod a tím vyšší výkon, jednota pro programátory a uživatele Je zřejmé, že přístup LINUXu a WIN je dosti opačný. Proč když je LINUX a vše jeho zdarma, tak firmy raději pořídí WIN a koupí vývojové nástroje od MS, no důvod je jasný -> úspora času a velké schopnosti, pře-použití kódu atd. Proč IBM a Oracle jsou v první desítce firem pro vývoj .NETu, že by své JAVA nevěřily? Proč firmy jako National Instruments nebo NOVEL své programy dělají v .NETu a ne v JAVA? Toto není náhoda. Ona asi nejednota a politika LINUXu silně pomůže Microsoftu ten monopol získat. Touto stávající politikou v nejednotnosti nástrojů pro vývojáře je pouze odradí. Tady je potřeba aby někdo napsal jak je .NET / WIN špatný !!! Pozor na skutečnosti - Studenti na BP / DP si udělají vše podle sebe (prog. jazyk a prostředí) a potom vedoucí v podstatě nemá nic, protože nic do sebe nezapadá (Vláďa Eck – Matlab, Delphy, JAVA, C/C++, …), nelze nic spolu použít, v podstatě jako by to nebylo - Pouštět se (pouze) do velkých projektů využívajících pouze jednu technologii. Pokud uděláme stolní aplikace v .NET (C#) / JAVA a vebové v PHP / JavaScrip, použijeme několik Open-Source balíčků pro přenos videa / 3D grafiku a další, tak do tohoto projektu již nikdo nikdy nezasáhne / nevylepší a je to jeho konec, zbytečná práce. Aplikace použitelné pro sledování osob - - - - Byl jsem na veletrhu pro inteligentní domy a všem firmám velmi shází pěkné WEB rozhraní na informace a řízení domu. Používají nějaké strašné PHP s 2D obrázkem a na něm ikony. Pokusně jsem něco udělal ve 3D v SilverLight.NET (verze 5 je zatím pouze beta) a to vzbudilo ohromný zájem. Nevěřili, že mi stačí pouze WIN s IIS (Internet Information Service ve WIN) pro vytvoření v podstatě stejné aplikace pro řízení domova z lokálu i z WEBu a to s nádherným interaktivním 3D modelem domu. Pokusím se sehnat studenty aby toto ještě zdokonalili a původní verzi z DirectX upravili na WPF / SilverLight pro činnost na WEBu. Hodně lidí má doma WIN pro filmy i jako server (Například Windows Media Center), když na něm poběží i vzdálený přístup s nádherným 3D zobrazením domu, tak se na to uživatelé vrhnou. Velmi ty firmy zajímá bilance spotřeby energie a časy svícení v jednotlivých místnostech, ale toto nelze podat jako placatý obrázek pro zákazníky. Také bych to chtěl vytvořit jako 3D model domu a barevně zobrazené místnosti podle časů svícení, ztráty energie a podobně. Toto by se tedy zcela rovněž shodlo pro sledování osob, ale pouze v malých oblastech jako je například nemocnice. Studenty toto velmi táhne, protože hodně jich to poté chce doma použít a hlavně jde o reálnou a použitelnou věc. Nedávno jsem mluvil s člověkem co vytváří nějaké studie pro o spotřebě v domech pomocí chytrých elektroměrů a toto mé nápady rovněž velmi zaujaly pro zobrazení pro zákazníky. Řízení domácnosti (vzdálené) a sledování osob (v omezeném prostoru) může být téměř úplně stejné a tedy zcela pře-použitelné. Některé moje poznatky - Mnoho lidí se diví, kolik toho stihnu udělat, důvody jsou hlavně následující: o Používám (se studenty) pouze jeden prog. jazyk (C#) a jednu platformu (.NET) o Je velká pře-použitelnost kódu mezi mnou a studenty o Každý dělá dobře oddělenou, ale zapadající část o Pro stolní PC i WEB používám stejné technologie (WPF, SilverLight) při přepoužitelnosti zhruba 90% kódu (o tom se JAVA, JavaScript, PHP a podobným věcem ani nezdá) o Velká pře-použitelnost kódu na stolní PC, PDA, telefony, WEB o Velmi snadný vývoj (ladění) při použití všech nástrojů zdarma a hlavně pořád pouze jednoho nástroje, všichni používají jedno IDE, snadno kdokoli poradí, předá projekt - Nijak (již) zásadně nepoužívám problémové technologie jako JAVA (problémy při instalaci u cílové osoby), OpenGL (problémy s během na mnoho grafických kartách), Open-Source (ukončení vývoje a hotovo) - Používám pouze to, co se nakopíruje a běží, zatím jsem žádnou aplikaci nikdy neinstaloval, pouze nakopíroval - Používám(e) pouze komponenty a části dané použitou technologií / platformou, buď vůbec, nebo velmi omezeně různé Open-Source balíčky, při přechodu na novější verzi platformy jich hodně přestane chodit (katastrofa) - .NET obsahuje vše v sobě, od běžných věcí, přes prezentační 3D (WPF) na grafy až po herní záležitosti (XNA), hlavně žádné Open-Source 3D podpory pocházející z OpenGL - Nikdo nemá možnost použít nic jiného než .NET (C#), komukoliv poradím, kdokoliv cokoliv po komkoliv použije - - - - - - Do projektu vytvořeného v jednom jazyce / prostředí zasáhne kdokoliv a kamkoliv, pokud chce někdo upravit aplikaci na WWW (přenos dat) podle aplikace na stolním PC je to „hračka“, protože se jedná v podstatě o stejný kód Příkladem může být vytvořené „univerzální úložiště“, nikdo nebude dělat / učit se ty strašné SQL dotazy a dělat si vlastní databázi. Pokud někdo přijde stylem „já si udělám vlastní DB“, tak půjde. Pokud někdo přijde stylem „tvoje DB je nedokonalá a je potřeba ji vylepšit“, tak toho nikam jinam nepustím. Jednotný formát uložených dat a použitelnost ve všech projektech je unikátnost a neuvěřitelná úspora času. Když někdo z uživatelů zjistí chybu v .NET aplikaci, tak včas opravím a pošlu mailem, nebo přes server a i doktoři bez technického vzdělání jsou schopni tento EXE překopírovat do složky a tím udělat aktualizaci (když vidím jak u JAVA začíná instalace příkazovým řádkem, tak to bych si těžko dokázal). V žádném případě LINUX (nová verze každý rok a plno věcí tam nechodí, kompatibilita katastrofa, kompatibilita na úrovni zdrojového kódu je k smíchu) Vzal jsem si příklad z principu vývoje WIN / .NETu a ne z LINUXu. Doufám, že jsem udělal správně. Zcela opomíjená, ale zcela nejhlavnější podmínka úspěchu je: v kolektivu se musí lidi cítit dobře: o Se všemi o všem jednám a může kdokoli ze studentů cokoli navrhnout o Mnoho studentů do některých věcí vidí více než já, ještě že je mám o Studenti se schází i navzájem aby viděli, že to jejich někam zapadá a naučí se vyjednávat s dalšími (velmi potřebné pro úspěch celku) o Snažím se jím co nejvíce prog. částí poskytnout abych jim ušetřil čas na důležité věci (úložiště, grafy, USB, …) o Jakmile se vyskytne někdo, koho ostatní nemají v oblibě (může být i velmi schopný), tak okamžitě zadat dostatečně samostatnou práci a dostatečně od zbytku odstínit / nescházet, ostatním by se poté nechtělo na porady a podobně, strašně potom klesne zájem ostatních, jeden člověk může vše zcela pokazit Zatím mi pouze jeden student (v projektu v týmu) řekl, „v JAVA by se toto dělalo lépe“, ale je to člověk od kterého jsem nikdy nic neviděl a musel jsem jej z toho týmu trochu vyčlenit, protože ostatní se k němu nijak nehlásili. Jinak všichni .NET schválí a teprve když zkusí 3D ve WPF.NET se stavovou grafikou, to se jim již ani nechce na cvičeni z JAVA (jak mi to někdo jednou vylíčil). Pokud někdo chce vidět nějaké aplikace v .NETu (C#): o Šlapadlo / Plantograf – celkem velká aplikace (USB, databáze, 3D grafika), původně OpenGL ale problémy, nyní DirectX a vše v pohodě, běžící pouze na WIN o Šilhavost – WPF / SilverLight, stejné aplikace na lokále i na WEBu, USB, 3D grafika WPF, běží pouze pod WIN. Aplikace z WEBu lze nainstalovat na lokál a používat i bez přístupu na internet, mohou cvičit i chatě. Toto všechny hodně nadchlo. o Hendikepáči – běží pouze pod WIN
Podobné dokumenty
Údaje o DIPLOMOVÉ PRÁCI studenta Údaje o
3. Název dle studenta:
Informační systém biskupství
4. Název dle studenta v angličtině:
Information System for Bishopric
5. Souběžný název:
6. Podnázev:
7. Anotace (krátký popis práce):
Tato diplom...
Seznam ke stáhnutí
Klubová knihovna - seznam knih, map a časopisů
1. Liste aller Wege in der Sachsischen Schweiz der Sweirigkeit uber VIIc (rok 1978)
Gisbert Ludewig
2. Pískovcové skalní oblasti v Čechách (průvodce 1...
ACORN International provisionally affiliated ACORN
uvnitř sdružení. Není dovoleno na území působnosti vytvářet hlasováním nebo členským
složením majority proti ženám nebo proti členům mladších 27 let. Rozhodnutí nereprezentativní
majority proti men...
Jak na bezdrátovou síť
DHCP server v routeru. Eliminace druhého nebezpečí už tak triviální není, je nutno
zvolit jeden ze dvou scénářů: první, jednodušší na nastavení (zato horší na
spravování) je nechat IP adresu pro AP...
Bakalářská práce na téma sociální sítě
nejdůležitější atribut pro rozvoj portálu společně s koncentrací uživatelů. Komunikační model manyto-many umožňuje oslovení velkého počtu uživatelů, kteří jak sami vytvářejí obsah, tak získávají
in...
Řecko na kole - Odbor vysokohorské turistiky KČT TJ Spartak Přerov
veselá nálada, ale my musíme dál. Za Vrisochori končí asfalt a začíná adrenalinový sjezd po šotolině k řece Aoos. Brzdy dostávají
pořádně zabrat. Jezdecká chyba či selhání techniky by měly katastro...