Tudományos Diákköri Dolgozat 2008
|
|
|
- Rebeka Molnárné
- 10 évvel ezelőtt
- Látták:
Átírás
1 Tudományos Diákköri Dolgozat 2008 Intelligens környezet, intelligens iroda virtuális üzenőfal megvalósítása Készítették: Sik András Ferenc Gruber Kristóf V. éves műszaki informatikus mérnök hallgatók Konzulens: Dr. Vida Rolland Budapesti Műszaki és Gazdaságtudományi Egyetem, Távközlési és Médiainformatikai tanszék
2 Tartalomjegyzék 1. Bevezetés Az intelligens környezetek áttekintése... 4 Tárgyalótermek lefoglalása intelligens rendszer segítségével... 5 Parkolást elősegítő információs rendszer... 5 Telefonfigyelő szolgáltatás... 5 Intelligens tábla, virtuális jelenlét... 6 Dokumentumok rendezése, nyomon követése... 6 Belépőkártyára épülő szolgáltatások A virtuális üzenőfal Felhasználási lehetőségek Az alkalmazás hardver oldali követelményeinek kidolgozása Az alkalmazás szoftver oldali követelményeinek kidolgozása A választott fejlesztési környezet paraméterei A Nokia N810, mint terminál A virtuális üzenőfal használata A szoftver környezet kialakítása és a program telepítése A program indítása A program főablaka Bejelentkezés aktív Bluetooth eszköz jelenléte nélkül Jelszóval történő hitelesítés A felhasználókhoz rendelt ablak Új üzenet írása Címzettek kiválasztása az elküldendő üzenethez A virtuális üzenőfalat megvalósító szoftver moduláris felépítése A programról általánosságban A program fájljai A konfigurációs fájlok formátuma A program osztályai VirtualPostIt OutgoingHandler IncomingHandler MainWindow UserWindow NewMessageWindow RecipientWindow NoDeviceWindow A program működése A kontroller működése A modell működése A grafikus felület működése
3 3.6. Fejlesztési lehetőségek Grafikus felület lecserélése Új formátumok támogatása A mobilról küldött üzenetek információtartalmának bővítése Jövőbeli terveink Web-es felület elkészítése Áttérés adatbázis alapú tárolásra Bluetooth jelerő információk felhasználása SMS értesítő kiküldése További multimédiás szolgáltatások Összefoglalás Köszönetnyilvánítás Rövidítéslista Irodalomjegyzék
4 1. Bevezetés Napjainkban egyre inkább elterjed az a nézet, hogy a jövő az intelligens környezeté, a mindenütt jelenlévő hálózatoké. A felhasználót körülvevő intelligens eszközök kommunikációja által számos új, értéknövelt szolgáltatás biztosítására nyílik lehetőség. Dolgozatunkban egy ilyen szolgáltatást nyújtó rendszer megtervezését és megvalósítását tűztük ki célul, mely a manapság sokat emlegetett intelligens iroda technikai környezetének egy praktikus részét alkothatja Az intelligens környezetek áttekintése Az elmúlt években az informatikai technológiák nagy léptékű fejlődése és általánosan elérhetővé válása lehetővé tette, hogy az addig az intelligens irodával foglalkozó elképzelések konkrét formát öltsenek. Ezek a megoldások könnyen csoportosíthatóak olyan közérthető és elfogadott szempontok köré, mint a felhasználók kényelmének elősegítése, hatékonyságnövelés, vagy a környezetvédelem. Egy ilyen intelligens irodát intelligens eszközök építik fel, melyek alapvetően három részre oszthatók: érzékelők, döntéshozók, beavatkozók. Az érzékelő részt mint azt neve is mutatja legegyszerűbben egy olyan berendezésnek (illetve berendezések hálózatának) képzelhetjük el, mely bizonyos fizikai mennyiségek megfigyelt értékét olyan jelekre fordítja le, ami egy másik eszköz (jelen esetben a döntéshozó), vagy egy (emberi) megfigyelő számára értelmezhető. A döntéshozó egység az érzékelőtől kapott adatok alapján, és egy előre beprogramozott döntési táblát figyelembe véve utasításokat fogalmaz meg, majd az adandó választ elektronikus jelek formájában továbbítja a végrehajtó részeknek. A végrehajtó rész többfajta funkciót láthat el, ugyanis tipikusan több különféle fizikai eszköz, illetve informatikai eljárás építi fel. Ezek a részegységek természetesen különböző jellegű jelekkel vezérelhetők, melyeket a döntéshozó egységtől kapnak. Ezeknek az építőköveknek tekinthető alapelemeknek felhasználásával hozhatjuk létre a legkülönfélébb intelligens eszközöket, betöltve ezekkel intelligens irodánkat (tágabb értelemben nézve az intelligens épületünket / munkahelyünket ). Ugyanezen eszközök felhasználásával számos irodában, munkahelyen felmerült problémát megoldhatunk, illetve súlyosságukon enyhíthetünk számottevő erőforrás felhasználása nélkül. Az alábbi felsorolás a teljesség igénye nélkül említ meg néhány lehetséges alkalmazást (dolgozatunk címadó alkalmazása mellett): Jelen dolgozat a Mobil Innovációs Központ 2.1. számú projektjének keretében, a Nemzeti Kutatási és Technológiai Hivatal támogatásával készült. (Mobil 01/2004 szerződés) 4
5 Tárgyalótermek lefoglalása intelligens rendszer segítségével Manapság a nagyvállalatok által alkalmazott nagyszámú dolgozó munkaköri megbeszéléseit lebonyolítani létszámukból kifolyólag rendkívül nehezen megoldható. Éppen ezért a tárgyalótermekhez való hozzáférés minden vállalatnál szabályozott módon működik, vagyis előre le kell foglalni a használni kívánt tárgyalót, úgy, hogy az adott foglalási időtartam ne ütközzön más foglalások időtartamával. Hasonlóan megfigyelhető jelenség, hogy a tárgyalótermekre érkező foglalások eloszlása nem egyenletes; előfordul, hogy bizonyos napokon a termek nagy része kihasználatlan, míg más időpontokban az igények nagy száma miatt a foglalások egyáltalán nem, vagy csak megszorításokkal és általános megelégedés nélkül kivitelezhetőek. A problémára hatékony megoldás lehet, ha a foglalási rendszerbe bevonjuk az összes szabadon elérhető tárgyalót, majd ezt a rendszert többletfunkciókkal ruházzuk fel: pl. foglalásokkal kapcsolatos értesítések, foglalás megerősítésének kérése, valamely kritériumok alapján történő keresés, foglalások módosítása. Ezt követően a foglalási rendszerre ráépíthetünk egy intelligens teremelosztót, melyben konkrét terem keresése helyett valamilyen kívánt kritériumhalmazt adunk meg. Valószínű, hogy az esetek nagy részében a hagyományos módszer a fentivel hasonló eredményt hoz, azonban ha a kritériumainknak több terem is megfelel, kiválaszthatjuk a legjobban megfelelőt, ezáltal elérve a lehető legjobb kihasználást Parkolást elősegítő információs rendszer Rengeteg nagyvállalatnál, irodaháznál okoz problémát a dolgozók gépjárműveinek elhelyezése. Előfordulhat például, hogy az épületben az előre tervezettnél több embert foglalkoztatnak, így az épület parkoló része nem lesz alkalmas a dolgozók teljes gépjárműállományának kiszolgálására. Megtörténhet ilyenkor, hogy a dolgozók akkor is behajtanak a parkolóba, ha az már megtelt, ezzel időt pazarolva és a parkoló légterét szennyezve. Ez a probléma orvosolható lenne, ha a mélygarázs bejáratánál elhelyezett számkijelző mutatná a garázsban levő szabad helyek számát; Ez azonban még nem nyújtana garanciát arra, hogy a gépjármű vezetője elfogadható időn belül meg is találja a szabad parkolóhelyeket. Ezt a hiányosságot az egész parkoló, illetve mélygarázs rendszerre kiterjedő szenzorhálózat telepítésével pótolhatjuk. Egy központi számítógépen futó program a szenzorok segítségével figyeli az egyes parkolóhelyek foglaltságát, majd megfelelő útválasztási algoritmus futtatását követően a kihelyezett irányjelző táblák segítségével a megfelelő helyre irányítja a vezetőket Telefonfigyelő szolgáltatás A telefonfigyelő szolgáltatás alkalmazása esetén esetében a vezetékes vagy mobiltelefonon keresztül bonyolított beszélgetések tartalma automatikusan továbbítódik a számítógépre, ahol egy figyelőrendszer dolgozza fel azt. A párbeszédet egy beszédfelismerő program digitalizálja, szöveges formátumúvá alakítja át, majd az így nyert adatot és a hanganyagot egy adatbázisba tárolja el esetleges kiegészítő 5
6 információkkal együtt. Ezt követően az adatokat feldolgozza, így a dolgozók beszélgetései kereshetővé válnak. Ez jelentős többletszolgáltatást biztosít a hagyományos telefonálással szemben, növeli a telefonon keresztül történő kommunikáció hatékonyságát (a lényeges információ nem csupán szóban hangzik el, hanem rögzítésre is kerül), megelőzi az ugyanazon témával kapcsolatos felesleges telefonhívásokat (kereshető adatbázis az információk számára), valamint rövidíti a hívások időtartamát (nem szükséges jegyzetelnünk, ezt a rendszer elvégzi helyettünk). Természetesen ekkora mennyiségű adat rögzítése, tárolása és feldolgozása jelentős erőforrásokat igényel, ezért a teljes rögzítés, illetve a manuális feldolgozás helyett alkalmazhatunk valamilyen mesterséges intelligencián alapuló programot; így a tároláshoz szükséges háttértár mennyisége is csökkenthető Intelligens tábla, virtuális jelenlét Az intelligens tábla koncepciójának lényege, hogy kiküszöbölje a hagyományos táblák egy óriási hátrányát, a korlátozott kapacitást. A hagyományos táblák hamar betelnek, ekkor tartalmukat törölni kell. Amennyiben nem készült megfelelő jegyzet a felvázolt gondolatokról, az későbbiekben megtörheti a beszélgetés lendületét, és felesleges időhúzást jelenthet az adatok visszakeresése miatt. Az eszköz, mely a táblát szimbolizálja, gyakorlatilag korlátlan tárhelyet biztosít a rajta elhelyezett jegyzetek számára, melynek csak a működtető eszköz tároló kapacitása szab határt. A tábla folyamatosan rögzíti a ráírt adatokat, így ezek az adatok jóval azután is olvashatóak maradnak, hogy a tábla felületét törölték. Mivel az adatokat a tábla egy számítógép segítségével rögzíti, lehetővé válik távoli felhasználók bevonása is az előadásba. Ez a megvalósítás növeli a megbeszéléseken folytatott kommunikáció hatékonyságát, és kiküszöböli a hagyományos táblák helyhez kötöttségét. A távoli résztvevők jelenlétével felmerülhet az igény egy olyan megoldásra, mely növelné az egyéni komfortérzetüket, ugyanis a távoli résztvevők jobban be tudnának kapcsolódni a beszélgetésbe, ha nem csupán a táblára írt információkat látnák, hanem valamilyen módon tudatában lennének a résztvevőknek és a beszélő személyének. Ezt a jelenlét-érzetet elérhetnénk azzal, hogy a távoli résztvevő számára annak az egyénnek az arcát mutatnánk, aki éppen beszél. Amennyiben felszereljük a felhasznált termet egy olyan eszközzel, amely képes megállapítani, hogy az éppen beszélő személy a terem mely részén ül, valamint telepítünk egy kamerarendszert is, úgy lehetőségünk nyílik megteremteni ezt a komfortérzetet a távoli résztvevőkben Dokumentumok rendezése, nyomon követése Gyakori probléma forrása lehet az is, hogy az egyes dokumentumok mind elektronikus, mind nyomtatott formában is tárolásra kerülnek, ekkor ugyanis az elektronikus dokumentumokkal szemben a papír alapú dokumentumok keresése gyakran sok időt vehet igénybe. A papír alapú dokumentumok helyének megtalálásaát hozzájuk csatolt RFID chipek felhasználásával jelentősen felgyorsíthatjuk, természetesen ekkor a 6
7 dokumentum elektronikus verziójához szükséges tárolnunk, hogy melyik RFID azonosító tartozik hozzá. Amennyiben egy irodában olyan RFID olvasót helyeznek el, mely azonosítani tudja az összes ott tárolt objektumot, akkor a máshol tárolt dokumentumok a sikertelen keresésére nem fordítódik majd felesleges idő. Az RFID olvasók rendszerbe kapcsolásával pedig a más irodákban levő dokumentumok helye is gyorsan meghatározható Belépőkártyára épülő szolgáltatások Manapság a nagyobb vállalatok szinte mindegyike belépőkártyával azonosítja alkalmazottait. Ezen kártyáknak azonban nem használjuk ki minden lehetőségét, ugyanis rengeteg többletszolgáltatás nyújtására kínálnak még lehetőséget. A belépőkártyák felhasználásával lehetővé válhatna az elektronikus fizetés a cég területén, az egyes személyek azonosítása a különféle rendszerekben, valamint a kártya által kibocsájtott jelek segítségével a dolgozók lokalizálása, biztonságuk fokozása (pl. személyre szabott értesítések tűz esetén) A virtuális üzenőfal A korábban bemutatott alkalmazásokhoz hasonló jellegű megoldás a virtuális üzenőfal is; ezen dolgozat célja pedig az üzenőfal tervezési és megvalósítási lépéseinek bemutatása. Feladatunk egy elektronikus üzenőfal létrehozása, amely alkalmas úgynevezett virtuális post-it üzenetek fogadására és tárolására, személyre szabott megjelenítéssel. Amint a post-it kifejezés is sugallja, az elképzelés lényege, hogy esetleges távollét esetén üzenethagyásra szolgáló, az ajtóra ragasztott kis sárga cédulákat váltsuk ki egy sokrétű, intelligens elektronikus üzenethagyási megoldással. A virtuális üzenetek a hagyományos sárga cédulákkal szemben több előnnyel bírnak: Személyre szabhatóság: az elektronikus üzenetek megtekintése szemben a hagyományos üzenetekkel jogosultságokhoz köthető, személyre szabható, míg egy hagyományos üzenetet bármely, az ajtó előtt elhaladó személy elolvashat. Helyfüggőség: más módszerekkel ellentétben a címzettek csak akkor kapják meg a nekik szóló üzeneteket, ha az tényleg érdekelheti őket, mivel az eszköz közelében jártak. Távoli hozzáférhetőség: amennyiben az eszköz rendelkezik Internet-kapcsolattal, az üzenetek hagyása nem lesz többé helyhez kötött. Esztétikum: a kézzel írott üzenetet olvashatósága néha kívánnivalót hagy maga után. Jobb helykihasználás: csupán a használt eszközön rendelkezésre álló tárhely szab határt a tárolt üzenetek mennyiségének. Lehetőség nem csupán szöveges üzenetek átadására: videó és hang üzenetek kezelése is megvalósítható. 7
8 Egy a fentiekben specifikált üzenőfal megőrzi az eredeti üzenetek funkcionalitását, miszerint nem tudhatjuk, hogy távollétünkben kik szeretnének felkeresni bennünket a szobánkban, épp ezért ragasztunk fel egy mindenkinek szóló üzeneteket. Ezt az eredeti funkcionalitást terjeszti ki a felsorolt hatékonyságot, hasznosságot, személyre szabhatóságot és kényelmet növelő funkciókkal Felhasználási lehetőségek A bevezetésben felsorolt felhasználási lehetőségek azonban egy ilyen eszköz, illetve alkalmazás felhasználási területének csupán töredékét jelenthetik. Amennyiben az alkalmazást megvalósító eszköz rendelkezik Internet-kapcsolattal, vagy csupán hálózati kapcsolattal az üzemeltető intézmény belső hálózatán, úgy lehetőségünk van egyéb többlet szolgáltatások megvalósítására, mint például fontos vállalati-üzemeltetői bejelentések továbbítása, időjárás előrejelzések szolgáltatása, stb.[1] A megoldás alkalmas lehet továbbá munkaidő nyilvántartó rendszer üzemeltetésre, akár távoli munkahelyen is pl. szervízelési, karbantartási munkákra való kiszállások kezelésére.[2] Ezen kívül egy ilyen eszköz fontos szerepet játszhat vészhelyzetek kezelésében: egy tűzeset, gázszivárgás esetén a legközelebbi kijárat felé irányíthatná az épületben tartózkodókat.[1] A virtuális üzenőfal kiválthatná a hagyományos névtáblákat is az irodák ajtaján, ezen információkat készenléti állapotában megjelenítve.[1] Az információ megjelenítés ötletére alapozva akár reklámok is megjeleníthetőek lennének az adott üzenőfalon. Az üzenőfal kiterjesztett funkcionalitására alapozva számos könnyebbséggel élhetnek használói. Amennyiben például valaki késésben van a munkahelyéről, minden nehézség nélkül hagyhat üzenetet az irodája ajtaján elhelyezett eszközön, hogy csupán később érkezik (amennyiben az rendelkezik Internet elérhetőséggel). Ha pedig az eszköz felhasználója éppen elfoglalt, és így nem akarja, vagy esetleg nem tudja megszakítani az aktuális munkáját (pl. fontos megbeszélés a kollégákkal) könnyűszerrel hagyhat üzenetet rendelkezésére álló Internetes elérést támogató eszközről (Laptop, PDA 1, stb.). Az utóbbi példát általánosítva, lehetséges annak megvalósítása, hogy egy felhasználó a birtokában lévő valamilyen vezeték nélküli adattovábbítást lehetővé tevő technológiával rendelkező eszközről akár bármiféle külön kliens szoftver telepítése nélkül üzenetet hagyjon. Természetesen ez csak abban az esetben elképzelhető, ha az üzenőfal szolgáltatást futtató eszköz is rendelkezik azzal a technológiával, mellyel az adott üzenetet hagyni kívánják. Ekkor ajánlott az üzenőfalat a lehető legtöbb (esetleg akár külön gyártók által specifikált) lehetséges üzenetformátumra felkészíteni, hiszen ez növelheti a készülékfüggetlenséget, illetve a kompatibilitást. 1 Personal Digital Assistant 8
9 A virtuális üzenőfal akár üzenetkézbesítési funkcióval is felruházható, amennyiben az azt futtató eszköz rendelkezik lehetőség szerint valamilyen vezeték nélküli adattovábbítást lehetővé tevő technológiával. Ennek segítségével az egyes üzenetek kézbesíthetők a különféle felhasználók részére. Napjainkban számos eszköz támogat vezeték nélküli helyi hálózati elérést (WLAN), azonban még szélesebb skálájuk rendelkezik beépített Bluetooth és/vagy Infra modullal. A két utóbbi technológia közül a Bluetooth nem igényel közvetlen rálátást a két eszköz között, így ez a technológia lehet a legcélszerűbb üzenetek kézbesítésére. A Bluetooth kommunikáció további jellemzője, hogy hatótávolsága nem túl nagy (1-100 m típustól függően), ellenben túl távoli eszközök figyelembe vétele egyáltalán nem szükséges, így ez nem jelent problémát. Azonban bármely technológiát választunk is kézbesítésre, lehetőségünk van a virtuális üzenőfal specifikációjában megadott személyre szabhatóságot megvalósítani, ugyanis az egyes címzettek eszközeik egyedi címével azonosíthatók. Amennyiben az üzenőfalat megvalósító eszköz rendelkezik érintőképernyővel, úgy akár az adott eszközről is történhet az üzenethagyás, valamint lehetővé válik az üzenőfalról az üzenetek könnyebb leolvasása. Természetesen a felhasználók hozzáférését jelszóval kell korlátoznunk, megelőzve az illetéktelen hozzáféréseket több egyidejűleg a közelben tartózkodó címzett esetén. Napjainkban a harmadik generációs (3G) mobil eszközök is széles körben elterjedtek. Egy virtuális üzenőfal megvalósításakor tehát észszerű, sőt akár szükségszerű döntés is lehet az ilyen eszközök multimédiás üzeneteinek támogatása a szöveges üzenetekkel együtt. Amennyiben az üzenetek kézbesítésének lehetősége biztosított, ezen üzenetek ugyanolyan módon kézbesíthetők, mint szöveges társaik. TDK munkánk kidolgozása során a fenti irányelveken alapuló rendszer megvalósítását tűztük ki célul. A dolgozat szervesen kapcsolódik a Távközlési és Médiainformatika Tanszék kutatóinak a Mobil Innovációs Központ (MIK) keretein belül végzett munkájához. A kidolgozás fázisairól, az egyes funkciók bővebb ismertetéséről a következő fejezetekben olvashatunk Az alkalmazás hardver oldali követelményeinek kidolgozása Célunk egy üzenethagyó rendszer készítése volt, melynek segítségével üzeneteket lehet hagyni meghatározott embereknek, valamint címzettként üzeneteket lehet kapni valamely vezeték nélküli technológia segítségével. Egy ajtóra, illetve falra szerelhető kis számítógépet (a továbbiakban nevezzük terminálnak) képzeltünk el, amely egy pár inch méretű kijelzővel rendelkezik, ami lehetővé teszi a felhasználókkal való egyszerűbb kommunikációt, valamint vizuális visszajelzéseket jelenít meg a program állapotáról. A konkrét hardvert illetően a következőket tartottuk fontosnak: 9
10 a. Kis méret Egyértelműen az egyik legfontosabb szempont a hasznosíthatóság szemszögéből nézve a terminál kompakt mérete, mivel egy asztali PC méretű kiszolgáló hardver elhelyezése ilyen célra egy átlagos irodában nem kívánatos. Alapvetően két architektúrával lehetséges megvalósítani egy hasonló alkalmazást: A program egy távoli szerveren fut, és a terminál csak egy buta eszköz szerepét tölti be, ami megjelenítésre, adatbevitelre és esetlegesen vezeték nélküli adatcserére használható; A program a terminálon fut, így nincs szükség távoli szerverre és felesleges kommunikációra. Szerencsére manapság már több olyan alaplap és termék is elérhető a piacon, mely alkalmas egy ilyen bonyolultságú program futtatására és megfelelően kis méretű. b. Alacsony fogyasztás Napjainkban egyre jelentősebb igény, hogy ügyeljünk a környezetünkre, ne fogyasszunk feleslegesen sok energiát, ne használjunk olyan anyagokat melyek nem újrahasznosíthatóak, stb. Munkánk során ezért fokozott figyelmet fordítottunk arra, hogy mivel a terminálnak a nap nagy részében rendelkezésre kell állnia, ne fogyasszon indokolatlanul sok elektromos áramot. Nem feledkezhetünk meg egy asztali PC által keltett nagy zajról sem, ami szintén nem kívánatos jelenség. A napjainkban elérhető SoC (System on a Chip) megoldások kevés energiát fogyasztanak, ugyanakkor számunkra elegendő teljesítményt képesek nyújtani. c. Viszonylag alacsony fogyasztói ár A terminál ára nem szabad, hogy elérhetetlenül drága legyen, hiszen ideális esetben egy épületben akár minden ajtóra kerülhet egy ilyen eszköz. d. Vezeték nélküli internetes csatlakozás támogatása További nagy előnyt jelent a kis zajártalom és fogyasztás mellett, ha a terminál felszereléséhez nem szükséges a falba újabb kábelt (pl. Ethernet vezetéket) elvezetni, mégis az Internetre csatlakoztatható pl. Bluetooth vagy WiFi rádió segítségével. Korunk irodái nagyrészt már eleve rendelkeznek WiFi hálózati lefedettséggel, így az Internetre csatlakozás nagyon egyszerűen megoldható feladattá degradálódik. e. Kijelző Ha a terminál rendelkezik egy kijelzővel is, akkor az üzenetek megjeleníthetőek a kijelzőn (vezeték nélküli továbbítás mellett vagy helyett). Amennyiben a terminál rendelkezik valamilyen beviteli eszközzel is, pl. billentyűzet vagy érintőképernyő, a felhasználók egyszerűbb műveleteket (pl. új üzenet írása, üzenet törlése, beállítások módosítása) magán a terminálon is elvégezhetnek, ami bizonyos esetekben kényelmesebb 10
11 lehet, mint a saját mobil eszközön keresztül kommunikálni a rendszerrel. A kijelzőnek a könnyű olvashatóság érdekében legalább 3-4 inch képátlójúnak kell lennie. f. Vezeték nélküli üzenetküldési lehetőség A terminál segítségével a felhasználók és a terminál közti interakció többféleképpen kell hogy lebonyolítható legyen, így mindenki az általa leginkább preferált módon veheti igénybe annak szolgáltatásait. Az egyik lehetőség az, hogy a terminál rendelkezik bizonyos vezeték nélküli rádióval, ami lehetővé teszi, hogy a felhasználó a saját eszközén szerkessze, illetve jelenítse meg az üzenetet. Négy szóba jöhető technológiát vizsgáltunk meg: Bluetooth, IrDA 2, WiFi, valamint egy esetleges saját fejlesztésű rádió. Fontosnak tartottuk, hogy minél több mobil eszközzel elérhetőek legyenek a rendszer által nyújtott szolgáltatások, ezért a fájlküldésre való alkalmassága, valamint a széleskörű támogatottsága miatt a Bluetooth technológiát választottuk (ma már majdnem minden mobiltelefon és PDA beépített Bluetooth adóvevővel kerül forgalomba). IrDA esetében a közvetlen rálátás szükségességét találtuk kizáró tényezőnek, míg WiFi esetén egyrészt körülményes a kapcsolat automatikus kiépítése a legtöbb forgalomban lévő eszközzel, másrészt saját klienst kellene telepíteni a felhasználó készülékére, amit nem tartottunk praktikusnak. g. Egyszerű távoli menedzselhetőség Gyakori probléma az intelligens eszközök szoftverében felmerült hibák kijavítása kapcsán, hogy az eszköz programja csak közvetlen fizikai kapcsolattal, pl. kábellel frissíthető egy számítógép segítségével. Mi egy olyan rendszert szerettünk volna létrehozni, ami kényelmesen frissíthető az adminisztrátorok számára a termináltól távolról is, annak internetes kapcsolatát kihasználva Az alkalmazás szoftver oldali követelményeinek kidolgozása A kifejlesztésre kerülő szoftver tervezését azzal kezdtük, hogy eldöntöttük, milyen feladatokra kell alkalmasnak lennie, valamint felállítottunk egy sorrendet azok fontosságáról. Ezek a következők: a. Üzenetek tárolása A szoftvernek képesnek kell lennie felhasználók kezelésére; minden felhasználónak lehetnek üzenetei, a felhasználók egymásnak, illetve előre meg nem határozott címzetteknek is küldhetnek üzeneteket. A tárolás megvalósítását két fázisra bontottuk: az első fázisban egy saját, fájl-alapú adatszerkezetet alakítottunk ki az üzenetek tárolására. A későbbiekben ez a rendszer modulárisan lecserélhető egy nagyobb felhasználói bázis és nagyobb számú üzenet kezelése esetén sokkal hatékonyabb SQL alapú kliens-szerver architektúrájú tárolási formára. Ennek további előnye, hogy központosítható, így akár 2 Infrared Data Association 11
12 megvalósítható az is, hogy a felhasználóhoz közelebb eső terminál kézbesítse a neki szóló üzenetet, amit egy másik terminálról hagytak neki. b. Felhasználók kezelése A bevezetőben leírt modell akkor igazán használható, akkor adhatóak hozzá értéknövelt szolgáltatások, ha megvalósítjuk az üzenetet hagyó emberek megkülönböztetését. Ennek segítségével a felhasználók csak a nekik szóló üzeneteket láthatják, azok megtekintése jelszóhoz köthető. A Bluetooth technológia hasonlóan az Ethernet hálózatokhoz specifikál egy minden eszköz esetében egyedi azonosítót, melynek segítségével a közelben tartózkodó felhasználók (amennyiben az eszközük nálunk van) könnyedén azonosíthatóak. Ez a helyfüggő információ az üzenetkézbesítés vagy a kijelzőn való megjelenítés alapja is lehet akár. c. Üzenetek vezeték nélküli továbbítása A felhasználók képesek kell hogy legyenek üzenetek írására és fogadására saját eszközük (pl. mobiltelefonjuk vagy PDA-juk) segítségével. Fontosnak tartottuk, hogy ehhez semmilyen külső alkalmazást ne kelljen telepíteniük erre az eszközre. Szerencsére a forgalomban lévő eszközök majdnem mindegyike képes valamilyen szintű üzenetcserére az általunk választott Bluetooth rádión keresztül (OBEX 3 Push illetve OBEX FTP protokollon). Sajnálatos módon a különböző gyártók készülékei más és más formátumban küldik el a beépített szerkesztőprogrammal készített szöveges üzeneteket, így a programunkat fel kell készítenünk ezen üzenettípusok lehető legszélesebb palettájának támogatására. d. Felhasználói csoportok kezelése A felhasználók a könnyebb kezelhetőség érdekében csoportokba kell, hogy rendezhetőek legyenek, így pl. a céges kollégák könnyen elérhetőek lesznek egy csoportnak címzett üzenettel, nem kell mindenkinek külön megadni a nevét a címzettek listájába. Szükséges egyfajta nyilvántartás, amely az adott üzenetről eltárolja, hogy az mely felhasználóknak lett már kézbesítve és melyeknek kell még ezt megtenni. e. Grafikus felület A szoftver több rétegű kell, hogy legyen, az üzenetek tárolásáért, kézbesítéséért és fogadásáért felelős modulok függetlenek kell, hogy legyenek az üzenetek létrehozásáért és megjelenítéséért felelős részektől. Ilyen módon a megjelenítés egyik felülete a terminál kijelzője lehet, amelyen a felhasználók könnyedén elvégezhetnek egyszerűbb feladatokat, mint az üzeneteik elolvasása, új üzenet írása, régi üzenetek törlése, beállításaik módosítása. 3 Object Exchange 12
13 f. Web-es felület Rendkívül hasznosnak bizonyulhat, ha az iroda dolgozói akkor is képesek üzenetet hagyni, ha éppen nem tartózkodnak a terminál közelében. Például elakadtak egy dugóban munkába menet vagy akár az irodában ülve nem akarnak kimenni az ajtó elé az üzeneteik lekérdezéséhez. A legszéleskörűbb megoldás szintén a platformfüggetlenséget és a saját alkalmazás telepítésének szükségtelenségét szem előtt tartva -, hogy egy Web-es felületről elérhetővé tesszük a terminálon lévő adatokat. A szerver program futtatására lehetőség van egy külső szerver gépen, vagy akár magán a terminálon is. A Web-es felületről könnyedén elérhetőnek kell lennie az üzenethagyó rendszer grafikus felületről is elérhető legtöbb funkciójának. g. Multimédiás üzenetek A hagyományos módszerektől (papír) való legnagyobb elrugaszkodást talán a videó-, hang- és képüzenetek hagyása jelentheti, amit egy digitális rendszerrel könnyedén megvalósíthatunk. Ha a terminál rendelkezik beépített kamerával, akár videó üzeneteket is vehetünk fel a segítségével, de lehetőséget kell teremtenünk a felhasználók saját média fájljainak kezelésére is, így pl. a felhasználó saját mobiltelefonjával vehet fel egy videó üzenetet, amit átküldve a rendszer azt a hagyományos, szöveg alapú üzenetekhez hasonlóan kell, hogy kezeljen. h. SMS értesítő Hasznos lehet bizonyos esetekben, a terminálon hagyott üzenet címzettjének távolléte esetén az üzenet bizonyos kritériumok szerinti SMS-ben történő kézbesítése is. Ekkor a direkt értesítést követően a címzett a Web-es felület segítségével reagálhat az üzenetre. i. Központosítás Legkevésbé sürgető feladataink egyikének a több eszköz hatékony együttműködését elősegítő központosítási kérdések kidolgozását éreztük. Ugyanakkor fontos volt már a fejlesztés megkezdése előtt szem előtt tartani, hogy a program részei fel legyenek készítve több, egymás közelében lévő terminál párhuzamos működését és az üzenetküldések által okozott interferenciát is lekezelni, valamint lehetőséget teremteni a több készüléket egy hálózatként használó fejlettebb algoritmusok beépíthetőségére (pl. közeledő ember érkezésére felkészülni, ha egy közelben lévő terminál már észleli, de az üzenetkézbesítésért felelős példány még nincs hatótávolságban) A választott fejlesztési környezet paraméterei A tervezés során nagyon fontosnak tartottuk a program könnyű hordozhatóságát, hogy a programkódot ne egy konkrét cég konkrét termékére készítsük el, hanem lehetőség szerint minél többféle eszközön futtatható legyen. Ehhez ideális választásnak bizonyult egy Linux alapú operációs rendszer, hiszen ezen rendszerek majdnem minden napjainkban elérhető platformra ingyen letölthetőek, ugyanakkor minden szükséges képességgel fel vannak vértezve a nagy programellátottságuknak köszönhetően. 13
14 A fejlesztés minden fázisában megpróbáltunk felhasználni minden, már korábban megírt és széles körben használt szoftver-elemet, amire szükségünk volt. Igyekeztünk pszeudo-szabvány keretrendszerek, API-k és könyvtárak használatára építeni, amik az eszközök legtöbbjére elérhetőek. Ilyen okok miatt választottuk a Python programnyelvet, a BlueZ Bluetooth könyvtárakat és már meglévő OBEX implementációkat. A grafikus felület GTK 4 -ban íródott, ami manapság már a mobil eszközöktől az asztali számítógépeken keresztül a szerver rendszerekig minden típusú számítógépre elérhető. A Web-es felület tekintetében az elsimert W3C 5 szabványok betartásával próbáljuk a kompatibilitást maximalizálni. A piacon kapható eszközök áttekintését követően arra a megállípításra jutottunk, hogy két alternatívánk van: egy kis LCD monitorral ellátott Via PicoITX alaplap beszerzése vagy a Nokia N szériás Internet tábláinak egyikének használata. A tanszék a rendelkezésünkre bocsájtott egy Nokia 770-es Internet táblát, mely egy Debian Linux operációs rendszert futtató, 4.1 inch képátlójú kijelzővel rendelkező, ARM processzort tartalmazó mobil eszköz. Rendelkezik a követelményekben említett minden tulajdonsággal, mint WiFi és Bluetooth rádió, érintőkijelző, alacsony fogyasztás, stb. Sajnos egy évnyi fejlesztés után a Nokia 770 kiforratlannak bizonyult bizonyos feladatok kezelésére, így beszereztünk egy fejlettebb modellt ugyanabból a szériából, egy Nokia N810-es készüléket[3] A Nokia N810, mint terminál Mindamellett, hogy az alkalmazás Nokia N810-en készült és lett tesztelve, fontos megjegyezni, hogy az jelenleg nagyon kis munkával asztali PC-n, Linux operációs rendszer alatt is működőképessé tehető. Pár modult módosítva a kód akár egy Symbian operációs rendszerű okostelefonon is használható. A Nokia N810-es modellje a cég harmadik N szériás készüléke, mely alapvetően mobil internetezésre lett kitalálva. Nem rendelkezik GSM/UMTS modullal, az Internetet WiFi rádión keresztül, vagy egy mobiltelefon segítségével Bluetooth kapcsolaton át érhetjük el vele. Rendelkezik beépített, mai szabványokat kezelni képes Internet böngésző programmal, azonnali üzenetváltásra alkalmas IM 6 klienssel, és multimédiás tartalmak lejátszására szolgáló lejátszóprogrammal. Ami a projekt szempontjából számunkra sokkal fontosabb volt, az az, hogy az eszköz Internet Tablet OS 4.1-es operációs rendszert futtat, ami a Debian Linux-on alapul, és elérhető rá a Debian-ra készült legtöbb program. Köszönhetően a Linux operációs rendszerek rendkívül intenzív hálózatra termettségének, könnyedén elérhető távolról is 4 GIMP Toolkit; egy platformfüggetlen grafikus felhasználói felület létrehozására alkalmas eszközkészlet 5 World Wide Web Consortium; A WWW fő fejlesztési irányelveivel és szabványainak kidolgozásával foglalkozó szervezet 6 Instant Messaging; azonnali üzenetküldő 14
15 Sik András, Gruber Kristóf: Intelligens környezet, intelligens iroda virtuális üzenőfal megvalósítása egy Internet kapcsolaton át, azaz SSH7 és VNC 8 szerver programok segítségével távoli adminisztrátorok is tudják vezérelni. Az eszköz mindemellett fel van szerelve Bluetooth 2.0 rádióval is, ami elég gyors multimédiás üzenetek továbbításához is. Az N810 rendelkezik pár nagyon előnyös tulajdonsággal a 770-es modellhez képest: található benne egy beépített kamera, ami alkalmas lehet videó üzenetek rögzítésére, valamint elcsúsztatható kivitelének köszönhetően a képernyő alá beépítettek egy teljes QWERTY billentyűzetet is (1. ábra), ami nagyban segíti az üzenetek írását (az érintőképernyőn megjelenő billentyűzet pontatlansága miatt). 1. ábra: A Nokia N810 becsukott és kihúzott billentyűzettel 7 Secure Shell; távolról történő parancssori bejelentkezésre használatos hálózati protokoll 8 Virtual Network Computing; A grafikus felület távolról történő használatát lehetővé tévő hálózati protokoll 15
16 2. A virtuális üzenőfal használata 2.1. A szoftver környezet kialakítása és a program telepítése A következőkben bemutatjuk röviden a virtuális üzenőfal szoftver környezete kialakításának és a program telepítésének lépéseit: 1. A program állományait másoljuk a /virtualpostit/ könyvtárba! 2. Állítsuk be a Bluetooth konfigurációt a grafikus felület segítségével! A Menü Settings Control panel Bluetooth menüpontját kiválasztva jelöljük be a Bluetooth on és a Visible opciókat! Előbbi a Bluetooth modul aktiválására, utóbbi pedig az eszköz jelenlétének hirdetésére szolgál. 3. A Bluetooth kapcsolatokat az eszközön a BlueZ szoftvercsomag kezeli. Az üzenőfalhoz elvárt működés elérése érdekében néhány működési paramétert meg kell változtatnunk. Ezeket következőképpen: a /etc/bluetooth/hcid.conf fájlon keresztül módosíthatjuk a # Security Manager mode # none - Security manager disabled # auto - Use local PIN for incoming connections # user - Always ask user for a PIN # security none; # Pairing mode # none - Pairing disabled # multi - Allow pairing with already paired devices # once - Pair once and deny successive attempts pairing none; Bluetooth eszközök közötti kommunikáció során a kéretlen hozzáférések elkerülése végett gyakran használunk egy közös PIN 9 kódot, amit mind a küldő, mind pedig a fogadó eszközön meg kell adni. Erre esetünkben nincs szükség, csak kényelmetlenebbé tenné az üzenethagyást, így a security opció none-ra állításával ezt ki kell kapcsolnunk. Lehetőség van előzetesen megmondani, mely eszközökről érkező forgalomban bízunk meg, vagyis mely eszközökről fogadjuk el PIN kód nélkül az adatforgalmat. Ezt a folyamatot párosításnak nevezzük. A második, pairing nevű beállítási lehetőség azt szabályozza, hogy a párosítási folyamat megismételhető-e. Mivel az alkalmazásunk maga gondoskodik a párosítás végrehajtásáról, a rendszer ezen szolgáltatását ki kell, hogy kapcsoljuk. 4. Adjunk írási jogot a fájlok fogadására szolgáló könyvtárra, hogy az OBEX szerver képes legyen a bejövő üzeneteket itt elhelyezni: 9 Personal Identification Number 16
17 > chmod 777 /virtualpostit/receive 5. Állítsuk be programunk /virtualpostit/receive könyvtárát alapértelmezett OBEX fájl fogadási könyvtárnak a /etc/init.d/obexrv módosításával: dsmetool -n -1 $USER_FLAGS -t "$DAEMON -l $DAEMON_OPTS" helyett írjuk a következőt: dsmetool -n -1 $USER_FLAGS -t "$DAEMON -l $DAEMON_OPTS -r /virtualpostit/receive" 6. A menüből indíthatóság érdekében hozzunk létre egy állományt a következő néven az alábbi elérési útvonalon: /usr/share/applicaions/hildon/virtualpostit.desktop, melynek tartalma legyen a következő: [Desktop Entry] Version=1.0.0 Encoding=UTF-8 Name=Virtual Post-It Exec=/virtualpostit/start.sh Icon=virtpostitlogo Helyezzünk el egy ikont a következő helyen és következő névvel: /usr/share/pixmaps/virtpostitlogo.png 7. Telepítsük fel az ussp-push[4] csomagot: > wget > dpgk -i ussp-push-####.deb Az USSP Push egy Bluetooth OBEX Push szolgáltatást megvalósító fáljküldő alkalmazás. Segítségével kézbesíti az alkalmazásunk üzeneteit. 8. Telepítsük fel a bluez-utils-test csomagot: > wget > dpkg -i bluez-utils-test_3.22-0osso2_armel.deb A csomag telepítése azért szükséges, mert tartalmazza az általunk használt hcitool[5] parancsot, ami bizonyos Bluetooth diagnosztikai feladatokra használatos. 9. Indítsuk újra a Nokia N810-et! A későbbiekben lehetővé fogjuk tenni az automatizált telepítést is, mely a beépített csomagkezelő segítségével fog működni A program indítása A program indítása alapvetően kétféle módon történhet: a programot futtató eszköz grafikus felületéről, vagy parancssorból, főként hibakeresés és a program üzeneteinek figyelemmel kísérése céljából. 17
18 Amennyiben a programot grafikus felületről indítjuk (2. ábra), azt az eszköz menüjéből tehetjük meg a következő elérési úton: Menu My Selection Virtual Post-It. 2. ábra: Virtual Post-It indítása a menüből Parancssorból a /virtualpostit/ könytárból a start.sh futtatásával tudjuk indítani a programot (3. ábra). 3. ábra: Indítás parancssorból 18
19 2.3. A program főablaka A felhasználók a program főablakában (4. ábra) jelentkezhetnek be az üzeneteik megtekintéséhez. Az ablakban jobb oldalt látható az elérhető (a Virtual Post-It programot futtató eszköz Bluetooth hatótávolságán belül tartózkodó) regisztrált felhasználók listája, bal oldalt pedig a vezérlőgombok, melyek lehetőséget adnak a Bluetooth képes eszköz nélküli azonosításra is. Status Bar 4. ábra: A Virtual Post-it program főablaka A főablakban a status bar tájékoztatja a felhasználókat, hogy az eszköz éppen keresi-e a közelben levő aktív felhasználókat. Ez akkor történik, mikor a kijelzőn a Scanning... felirat olvasható. Az ellenőrzési folyamat alatt, mely 10 másodpercenként ismétlődik, az eszköz nem képes üzeneteket fogadni. Az ezközök keresése közben sajnos nincs lehetőség üzenetek fogadására (a Bluetooth technológia korlátai miatt), így szükség van 10 másodperc várakozásra, mely idő alatt a felhasználó átküldheti az üzenetét a terminálra. Nagyobb időintervallum beállítására is van lehetőség, azonban ilyenkor a program a közelben lévő felhasználók várakozásra kényszerülhetnek, amíg a nevük megjelenik a kijelzőn. Add User Új felhasználó hozzáadására szolgáló nyomógomb. Felhasználó csak adminisztrátori jogosultsággal adható hozzá a listához. Jelenleg ez a funkció nem elérhető. Login without Bluetooth Device Amennyiben a felhasználónál nincsen ott egyik beregisztrált Bluetooth eszköze sem, lehetősége van enélkül is belépni a rendszerbe, így hozzáférve a felhasználói fiókjához. A gomb megnyomásával a 2.4 fejezetben leírt ablakhoz juthatunk. 19
20 User Button A kijelző jobb oldalán látható nyomógombok csoportja, melyek neve egy-egy felhasználót jelöl (pl. Teszt Elek). Ennek a gombnak a használatával az adott felhasználó jelszóval történő hitelesítést követően beléphet saját fiókjába, megtekintheti üzeneteit, valamint új üzeneteket küldhet Bejelentkezés aktív Bluetooth eszköz jelenléte nélkül A regisztrált felhasználók detektálását a rendszer Bluetooth eszközeik egyedi azonosító száma alapján végzi el. Ezt az azonosítót minden bekapcsolt Bluetooth eszköz folyamatosan sugározza. Egy felhasználóhoz több eszköz (pl. telefon, PDA, számítógép) is rendelhető. Amennyiben a felhasználónál nincsen ott egyik beregisztrált Bluetooth eszköze sem, lehetősége van enélkül is belépni a rendszerbe, így hozzáférve a felhasználói fiókjához. Ilyen bejelentkezés esetén ugyanazon jogokkal rendelkezik a felhasználó, mintha egy aktív eszköz segítségével jelentkezett volna be. A főablak Login without Bluetooth deivce gombjának megnyomása után egy listából kell kiválasztani a használni kívánt felhasználónevet (5. ábra), ezt követően történik a jelszóval való hitelesítés. Cancel 5. ábra: Bejelentkezés aktív Bluetooth eszköz jelenlétének hiányában A felhasználó ennek a gombnak a megnyomásával visszajuthat a program főablakához. Users A felhasználó ebből a listából választhatja ki a felhasználónevet, amellyel be kíván jelentkezni. Login A felhasználónév kiválasztását követően ezzel a gombbal kezdeményezheti a felhasználó a jelszóval történő hitelesítést. 20
21 2.5. Jelszóval történő hitelesítés A felhasználónak egy jelszóval kell hitelesítenie magát, amennyiben hozzá kíván férni felhasználói fiókjához (6. ábra). Hitelesítés történhet aktív Bluetooth eszköz jelenlétében és hiányában is, azonban csak regisztrált felhasználók léphetnek be a rendszerbe. Aktív eszköz jelenlétében a felhasználó a főablakban a megfelelő felhasználót jelképező gomb használatával, eszköz hiányában pedig a Login without Bluetooth Device gomb megnyomását követően, felhasználónevét egy listából kiválasztva jelentkezhet be a Login gomb segítségével. Password 6. ábra: Hitelesítés jelszó segítségével A Password címkét követő szövegmezőt megérintve megjelenik az operációs rendszer virtuális billentyűzete, melynek felhasználásával pálca (ún. stylus) segítégével írhatjuk be a jelszót. A jelszavak md5 hash lenyomatai 10 vannak tárolva; bejelentkezéskor a megadott jelszó md5 hash lenyomatát és a tárolt lenyomatot hasonlítja össze a program, így a jelszó gyakorlatilag visszafejthetetlen. OK A felhasználó az OK gomb megnyomásával jelentkezhet be a rendszerbe. Amennyiben a jelszó helyesen lett megadva, a felhasználó a saját fiókját jelképező ablakot fogja látni; amennyiben nem, egy hibaüzenet kíséretében visszakerül a főablakhoz (7. ábra). Cancel A Cancel gomb megnyomásával visszajuthatunk a program főablakához. 10 Az md5 egy olyan kriptográfiai algoritmus, mely bármely szöveghez egyértelműen hozzárendel egy meghatározott hosszúságú ún. hash lenyomatot. A lenyomat ismeretében az eredeti szöveg visszaállítása praktikusan lehetetlen feladat. 21
22 2.6. A felhasználókhoz rendelt ablak 7. ábra: Hibás bejelentkezés Minden felhasználónak rendelkezésére áll egy saját fiók, ahol megtekintheti üzeneteit, új üzeneteket írhat, törölheti üzeneteit, megtekintheti és módosíthatja beállításait, valamint kijelentkezhet (8. ábra). Ezen felhasználói fiókok megjelenítésére szolgálnak a felhasználókhoz rendelt ablakok. 8. ábra: Az üzenetek listája Status Bar Itt látható az aktuális felhasználó neve. (Az ábrán Teszt Elek ) New message Ennek a gombnak megnyomásával írhat a felhasználó új üzenetet. 22
23 My Settings A felhasználó itt tekintheti meg és módosíthatja beállításait. Ez a funkció jelenleg nem elérhető. Logout A felhasználó ennek a gombnak a megnyomásával jelentkezhet ki, és juthat vissza a főablakba. Messages A felhasználónak szóló szöveges üzenetek a képernyő közepén sárga háttérrel jelennek meg. Támogatottak az ékezetes karaktereket tartalmazó üzenetek is. A fehér hátterű üzenetek a multimédiás üzenetek, melyeket az üzenet megérintésével játszhatunk le. A lejátszás bármikor megszakítható az N810 vissza gombjának megnyomásával. Lejátszás után a program visszakerül a felhasználó ablakába. Delete Az üzenetek a Delete gomb megnyomásával törölhetőek, törlésük a következő frissítési periódus után (1-2 másodperc) fog bekövetkezni Új üzenet írása Új üzenetet a felhasználóhoz rendelt ablakban a New message gombot megnyomva a megjelenő új ablakban (9. ábra) írhatunk. Itt lehetőségünk van az operációs rendszer virtuális billentyűzetének használatára, vagy választhatjuk az üzenetmező minél nagyobb területen történő megnyomásával az ujjakkal is használható billentyűzetet. Ha ki van nyitva az N810, akkor használható annak QWERTY billentyűzete is. Szöveges üzenetet külső eszközről is küldhetünk, ekkor az adott készülék valamely beépített programjával el kell készítenünk egy feljegyzést a következő szintaktikával: <címzett1>[;<címzett2>[;<címzett3> ]]#üzenet (pl. Teszt Elek;Gruber Kristóf#Holnap délután nem leszek elérhető.). Ezt követően a feljegyzést Bluetooth kapcsolaton keresztül el kell küldenünk az N810-re. Hagyható az eszközön videó és hang üzenet is, azonban ez még az N810 beépített hardverével nem, csupán külső eszköz felhasználásával támogatott. Üzeneteinket 3GP 11 és AMR 12 formátumban rögzíthetjük, majd a megfelelő elnevezési konvenció betartásával (<címzett1>[;<címzett2>[;<címzett3> ]]) elküldhetjük az N810-re. Cancel A felhasználó a Cancel gombot megnyomva visszatérhet a saját felhasználói ablakához. 11 A modern mobiltelefonok által leggyakrabban használt videó konténer. 12 Adaptive Multirate audio; mobiltelefonok hangjegyzet alkalmazásainak elterjedt formátuma 23
24 Message Field 9. ábra: Új üzenet írása A képernyő közepén helyet foglaló mezőbe írhatja be a felhasználó a küldeni kívánt üzenetet. Amennyiben a felhasználó ezt a felületet megérinti és az N810 össze van csukva, megjelenik az operációs rendszer virtuális billentyűzete, a mező minél nagyobb területen történő érintésével pedig az ujjakkal is használható billentyűzet (10. ábra). Kinyitott terminál esetén használható annak QWERTY billentyűzete az üzenet megszerkesztéséhez. Üres üzenet nem küldhető. Delete after delivery Amennyiben a felhasználó ezt a jelölőnégyzet elemet bejelöli, az üzenet sikeres kézbesítést követően törlődik a rendszerből. 10. ábra: Üzenet írása ujjakkal is használható billentyűzet segítségével 24
25 Select Recipients A felhasználó a Select Recipients gomb megnyomását követően kiválaszthatja a címzetteket akiknek az üzenetet küldeni szeretné. A részleteket a 2.8 fejezet taglalja Címzettek kiválasztása az elküldendő üzenethez Miután a felhasználó elkészítette az elküldeni kívánt üzenetet, a Select Recipients gomb megnyomását követően kiválaszthatja a címzetteket melyeknek az üzeneteket küldeni szeretné (11. ábra). Egy üzenetnek legalább egy címzettje kell, hogy legyen. Lehet azonban több címzett is, és ezek tetszőlegesen lehetnek felhasználók vagy csoportok. Cancel 11. ábra: Címzettek kiválasztása az üzenethez A felhasználó a Cancel gomb megnyomásával térhet vissza az üzenet írására szolgáló ablakhoz. Users A felhasználó a bal oldali listából választhatja ki a jelölőnégyzetek bejelölésével a megcímezni kívánt felhasználókat. Groups A felhasználó a jobb oldali listából választhatja ki a jelölőnégyzetek bejelölésével a megcímezni kívánt csoportokat. Send A felhasználó a Send gomb megnyomásával tárolhatja el az üzenetet a rendszerben, amennyiben az rendelkezik legalább egy címzettel. 25
26 3. A virtuális üzenőfalat megvalósító szoftver moduláris felépítése 3.1. A programról általánosságban A program Python nyelven íródott, ami a legtöbb ma használatos operációs rendszerre elérhető (GNU/Linux, Windows, Mac OS X, AIX, AROS, MorphOS, BeOS, Palm OS, Symbian, VMS, Windows Mobile, OS/2, stb.). A Virtual Post-It a következő Python könyvtárakat használja[6]: md5 kriptográfiai függvények md5 hash lenyomat készítéséhez hildon a Nokia N810 grafikus felülete adta speciális tulajdonságok kihasználásához os rendszerközeli műveletekhez quopri Quoted Printable kódoláshoz és dekódoláshoz sys rendszerspecifikus paraméterek és funkciók használatához datetime idő és dátum adattípusok használatához threading szálkezeléshez gtk grafikus felület készítéséhez copy tömbök duplikálásához bluetooth Bluetooth műveletek elvégzéséhez Ezek mindegyike elérhető Nokia N810-re, legtöbbjük a Python csomag alaptartozéka. Külön szeretnénk kihangsúlyozni a bluetooth könyvtár meglétének fontosságát, ugyanis a program a közelben lévő felhasználók felderítését ennek a könyvtárnak a segítségével végzi el. A bluetooth modul működéséhez szükség van egy működő BlueZ[7] telepítésre. Ezen dokumentációnak nem célja a BlueZ feltelepítésének bemutatása. Megjegyzendő azonban, hogy a BlueZ már működőképes állapotban érkezik a Nokia N810-zel. A grafikus felület a Nokia N810-en célszerűen a GTK widget-készletre[8] épül. Mivel a GTK főleg asztali gépekre lett tervezve, a Nokia N810 speciális adottságait egy Hildon nevű, GTK-ra épülő kiegészítés segítségével tudtuk kihasználni. (Ilyen plusz funkciók pl. a jelszó bekérő ablak, vagy a teljes képernyő kezelés.)[9] Más platformokon a GTK lecserélhető a platform saját natív grafikus felületére, amennyiben létezik Python osztály, amiből az használható. Természetesen ezesetben újra kell írni a grafikus felületet az adott osztályhoz. Az általunk fejlesztett felület pár apróbb módosítással (pl. ablaknyitások, teljes képernyő kezelés) Hildon-mentesíthető, vagyis akár asztali gépen, Linux környezetben, asztali GTK-val is futtatható A program fájljai A program a Python nyelven írt forrásfájlokból, egy indító szkriptből, két ikonból, egy, a menüelemet megjelenítő desktop fájlból és az adatfájlokból áll. A program osztályai 26
27 nagyrészt az azonos nevű fájlokban foglalnak helyet. A fájlok alapértelmezésben a /virtualpostit mappában foglalnak helyet. A következő fájlok képezik a Virtual Post-It program részét: start.sh az indító bash shell script; virtualpostit.py a program kontrollerét tartalmazó osztály; incominghandler.py a bejövő üzenetekért felelős osztály; outgoinghangler.py az üzenetek kiküldéséért felelős osztály; fun_encode.py vnote kódolásért/dekódolásért felelős függvények; mainwindow.py a program főablaka. A felhasználók listáját jeleníti meg; userwindow.py a felhasználó üzeneteit megjelenítő ablak; newmessagewindow.py új üzenet írása ablak; nodevice.py eszköz nélküli belépést lehetővé tévő ablak; password.py jelszó bekérés ablak; recipientwindow.py az üzenet címzettjeinek kiválasztására szolgáló ablak; logo.png a program grafikus felületén megjelenő logo; *.pyo a Python futtatás előtt előfordítja a forrás fájlokat, majd ezeket elmenti gyorsítási (cache) céllal. A pyo fájlok tartalmazzák ezeket az előfordított információkat. Ezek a fájlok letörölhetőek, a program nélkülük is működőképes. A Virtual Post-It program által használt könyvtárak: groups a felhasználók csoportjait tartalmazza; messages a már értelmezett, kézbesítendő üzenetek; outbox azok az üzenetek kerülnek ide, melyeket elkezdett kézbesíteni a rendszer; parsefolder az IncomingHandler által használt átmeneti tárolásra szolgáló könyvtár; users a felhasználókat tartalmazó könyvtár; passwords a felhasználói jelszavak lenyomatait tartalmazó könyvtár 3.3. A konfigurációs fájlok formátuma A program által használt, felhasználó által szabadon átírható konfigurációs- és üzenetfájlok formátumát és fájlrendszerbeli megkötéseit az 1. táblázat tartalmazza: 27
28 Típus Könyvtár Fájlnév Tartalom formátuma Üzenet messages Tetszőleges lehet, a program a dátumból generálja, és.mes kiterjesztést ad nekik 1. sor: címzettek neve ; karakterrel elválasztva 2. sor: kézbesítés után törlendő-e (0 vagy 1) 3. sor: kézbesítve van-e (0 vagy 1) 4. sortól a fájl végéig: az üzenet szövege UTF-8 kódolásban Felhasználó users A felhasználó neve Minden sorban a felhasználó egy-egy eszközének Bluetooth címe Csoport groups A csoport neve Minden sorban egy-egy felhasználó neve Jelszó passwords A hozzátartozó felhasználó neve A felhasználó jelszavának MD5 hash-e 3.4. A program osztályai 1. táblázat: A felhasznált fájlformátumok összehasonlítása A Virtual Post-It programozása a Modell-View-Controller architektúrát követi, amelynek lényege, hogy a program magja teljesen elkülönül a megjelenítésért felelős részektől. Esetünkben ez azt jelenti, hogy a program Bluetooth üzenetkezelésért felelős részei és a grafikus felület egymástól a lehető legkevésbé függenek, így könnyedén lecserélhető bármelyik (értelemszerűen ennek a grafikus felület cseréjénél van a legnagyobb jelentősége). A következő osztályokat alakítottuk ki: VirtualPostIt A kontrollert megvalósító osztály. Feladata a program osztályainak létrehozása, a GTK rendszer inicializálása, valamint a szálkezelés elindítása. A program indításakor, valamint új üzenet érkezésekor a kijelző háttérvilágítását bekapcsolja a program. A megoldást alkalmazza a VirtualPostit osztály screen_turn_on() metódusa is OutgoingHandler A modellhez tartozó osztály, amely a rendszerben lévő üzenetek kézbesítéséért felelős. A kontroller példányosítja. A program indítása után elinduló négy fő szál (VirtualPostit, MainWindow, IncomingHandler és OutgoingHandler) egyike. Példányosítása után első dolga betölteni az előre definiált nevű könyvtárakban levő adatokat (felhasználók, csoportok, üzenetek, ld. később). Ezeket feldolgozza, és a program működéséhez elengedhetetlenül szükséges asszociatív tömböket építi fel belőlük. A fő ciklusa a felhasználók periodikus felderítését végzi, azonosítja az ismert felhasználókat regisztrált eszközeik alapján, és kézbesíti nekik Bluetooth-on a rendszerben lévő, nekik szóló üzeneteket. A kiküldéshez a program a fun_encode.py fájlban lévő 28
29 segédfüggvények segítségével vnote formátumú üzenetet állít elő a nyers szöveg formátumú tárolt üzenetekből, majd ki is kézbesíti a kreált fájlt a megfelelő paranccsal IncomingHandler A modellhez tartozó osztály, amely a bejövő üzenetek feldolgozásáért felelős. A bejövő üzeneteket nem a programunk, hanem a megfelelően feltelepített és beállított sobexsrv[10] OBEX szerver program fogadja, és menti el egy megadott könyvtárba (/home/user/receive). Az IncomingHandler feladata periodikusan figyelni a könyvtár tartalmát; ha ott megjelenik egy fájl, akkor azt feldolgozza, vagyis amennyiben az vnote formátumú üzenet, akkor a tartalmazott szöveget kinyeri belőle, ha pedig ASCII szöveg, akkor üzenetként értelmezi, különben pedig eldobja. Az IncomingHandler dolgozza fel a beérkezett videó illetve hang üzeneteket is (ez utóbbi esetben a feldolgozás csupán egy átnevezés megfelelő konvenció betartásával). Az értelmezett üzenetek a messages mappába képződnek le MainWindow A program fő ablakát megjelenítő osztály. (Ablakok alatt itt a Hildon interfész esetén teljes képernyőt betöltő, inkább logikai egységeket kell érteni.) Az ablakok felépítése következetesen minden képernyőn hasonló, a navigációt megkönnyítendő. Az ablak bal felében a program logója, alatta pedig a főbb funkciók elérésére szolgáló gombok találhatóak (a főablakban például Add User és Login without Bluetooth Device ), jobb oldalon pedig az aktuális ablak érdemi tartalma (a főablakban például a Bluetooth-on észlelhető, tehát a közelben tartózkodó, azonosított felhasználók neve, és zárójelben az, hogy hány olvasatlan üzenetük van). Az osztály példányosítása után elkészíti a grafikus felületet, valamint a modelltől lekérdezi annak állapotát (pl. a modell épp szkennelést végez, üzenetet kézbesít), valamint a modell által látott felhasználók listáját. Ezeket az információkat periodikusan frissíti. A modell állapotát a logó alatti szövegmezőben jeleníti meg ( Scanning, Delivering, Scanning & Delivering ). A jobb oldalon a modelltől kapott információk alapján a MainWindow megjeleníti a látható felhasználók listáját. A gombokra kattintva A UserWindow osztályból készül egy új példány. Külön figyelmet fordítottunk a GUI 13 frissítésének villogásmentes megvalósítására. (Vagyis egy-egy frissítési ciklus között csak akkor változtasson a rendszer a GUI-n, ha tényleg történt változás.) UserWindow A felhasználók a MainWindow ablakában a nevüket a kijelzőn megérintve, majd a jelszavukat megadva beléphetnek üzeneteik közé. Az üzenetlistájukat megvalósító 13 Graphical User Interface; grafikus felhasználói felület 29
30 osztály a UserWindow. A jelszavas azonosítás lehetővé teszi, hogy ne nézhessék meg egymás üzeneteit a közelben lévő felhasználók. Az ablak felépítése hasonló a főablakéhoz: a bal oldalon az új üzenet létrehozására szolgáló gombot és a kilépés gombját találjuk. Előbbi a NewMessageWindow-hoz visz, utóbbi pedig vissza a MainWindow-ba. Jobb oldalon az üzenetek listája található, melynek kezelése hasonló a MainWindow-ban lévő felhasználói lista frissítéséhez (csak változás esetén frissül). Az üzenetek két GUI objektumból állnak: egy szövegmező tartalmazza magát az üzenetet, mellette pedig egy, az üzenet törlésére szolgáló gomb foglal helyet[11]. A UserWindow szintén a modellel kommunikál a MainWindow-tól kapott felhasználó üzeneteinek lekérése érdekében NewMessageWindow A program új üzenetek írására szolgáló ablaka. A bal odalon a UserWindow-hoz visszavezető Cancel gomb található, jobb oldalt pedig egy szövegmező, amelybe az üzenetet írhatjuk. A Delete after delivery jelölőnégyzetet bejelölve az üzenet Bluetooth kézbesítést követően automatikusan törlődik a rendszerből 14, ellenkező esetben viszont a program minden adandó alkalommal próbálja kézbesíteni azt. Az Select Recipients gomb megnyomása után az osztály kinyitja a RecipientsWindow-t, amiben a felhasználók és csoportok listájából választhatunk címzettet, majd az üzenet elküldésre kerül, vagyis bekerül a megfelelő formátumban a kimenő üzenetek közé, amit a modell a következő könyvtár-olvasás alkalmával észlelni fog, és beolvas. Érdemes megemlíteni, a Nokia N810 három féle lehetőséget nyújt a szövegbevitelre: a beépített QWERTY billentyűzeten kívül kétféle, az érintőképernyőn megjelenő virtuális billentyűzet is előcsalogatható: egyiket ujjal való gépelésre találták ki, a másikat pedig a pálcával való használatra RecipientWindow Az üzenetküldéskor megjelenített címzettválasztót reprezentáló osztály. A bal oldalon található Cancel gombbal visszaléphetünk az előző képernyőre. Az ablak nagy részét a címzettek listája foglalja el, minden név előtt egy jelölődobozzal, jelezve, hogy az üzenetet több címzettnek is elküldhetjük. A felhasználók mellett jobb oldalt a csoportok is fel vannak sorolva hasonló módon, a címzettek közé ugyanis csoportokat is választhatunk. A megfelelő beállítások elvégzése után a Send gomb megnyomására az osztály elkészíti a megfelelő mes kiterjesztésű, fentebb említett formátumú üzenetfájlt a messages könyvtárba, majd bezáródik. 14 Pontosabban a felhasználók elől elrejtjük, de maga az üzenet tárolódik, jelezve a fájlban, hogy már kézbesítve lett. 30
31 NoDeviceWindow A MainWindow Login without Bluetooth Device gombjának megnyomására előugró ablakot megvalósító osztály. Egy rádiógombokból álló listát jelenít meg a jelenleg éppen nem látott felhasználókból. A felhasználó ezek közül választva léphet be, és jelenítheti meg üzeneteit. Működése a MainWindow-éhoz hasonlít, azonban ennek tartalma csak újranyitáskor frissül (mivel nem tartottuk fontosnak ezt a funkciót és jelen formájában is több, mint használható). A belépés folyamata során a kiválaszott felhasználóval meghívódik a password.py fájl CheckPassword() függvénye, majd egy példány készül a UserWindow-ból. 3.5.A program működése A programot a start.sh shell script indítja, ami egyelőre a tesztelési szempontokat figyelembe véve készült. Így ez először leállítja a Virtual Post-It esetlegesen már futó példányait, majd belép a program könyvtárába (ez a grafikus felületről történő indítás miatt szükséges többek között), és törli a cache fájlokat, majd a python értelmezővel elindítja a program főosztályát A kontroller működése A VirtualPostit osztály indulásakor elvégzi a Bluetooth.és a GTK inicializálását, bekapcsolja a képernyő háttérvilágítását, majd példányosítja az OutgoingHandler-t és az IncomingHandler-t. Ezek után a program grafikus felületének elkészítése következik, melynek során a VirtualPostit először létrehozza a MainWindow-t; ekkor még csak a memóriafoglalás történik meg. A VirtualPostit konstruktorának ( init ) lefutása után annak run() függvényét indítjuk el. A run() felelős a létrejött osztályok melyek mind implementálják a Thread osztályt szálként való elindításáért: ezt a három említett osztálypéldány start() függvényének meghívásával éri el. Megjegyzendő, hogy a három szál egymásra majd olyan módon tud hivatkozni, hogy mindegyik példányosításakor megkapta a VirtualPostit-re mutató referenciát, azon keresztül pedig elérik az osztály publikus tagváltozójaként a másik szálat. (pl. cont.outgoing.delivery_message() hívható az IncomingHandler-ből, feltételezve, hogy cont nevű változóként vette át a VirtualPostit osztályra vonatkozó referenciát.) A szálak leválasztása után a VirtualPostit osztály feladata még a MainWindow ablakának megjelenítése (self.mainwindow.window.show_all()), majd a GTK fő ciklusának futtatása. (Erre minden GTK alkalmazás esetén szükség van.) A programból való kilépés úgy történik, hogy a VirtualPostit osztálynak létezik egy stop nevű publikus változója, aminek értékét minden szál fő ciklusa folyamatosan vizsgálja. Amennyiben ennek értékét False-ra állítjuk, a ciklusok véget érnek, így a szálak 31
32 megszűnnek. A gkt.main() függvényt körbefogó KeyboardInterrupt kivétel a Ctrl-C-vel történő kilépés kezelésére szolgál A modell működése A modell az OutgoingHandler-ből és az IncomingHandler-ből áll. Előbbi a rendszerben lévő üzenetek kézbesítésével, utóbbi pedig az OBEX szerver által fogadott fájlok feldolgozásával foglalkozik. A modell működését a 12. ábra szemlélteti, a 13. ábrán pedig az OutgoingHandler életciklusát részletezzük. OutgoingHandler start Adatok beolvasása Bluetooth szkennelés Várakozás Üzenetek kiküldése OBEX szerver könyvtárának beolvasása Várakozás Új üzenetek átmásolása Új üzenetek értelmezése Üzenetek mentése a kimen! könyvtárba IncomingHandler 12. ábra: A modell működése Az OutgoingHandler konstruktora az osztály változóit inicializálja: cont a VirtualPostit osztályra való hivatkozás counter ennyi várakozó ciklus után indítja be a scan-elést sleeptimer ennyi másodpercet várakozik két ciklus közt scanning szemafor, mely megmondja, hogy épp szkennelés stádiumban van-e a program deliveringmessage szemafór, mely megmondja, hogy épp üzenetkézbesítés stádiumban van-e a program foundusers a közelben lévő felhasználók neveit tartalmazó tömb 32
33 Start Adatok beolvasása Bluetooth szkennelés Ismert a talált MAC? N I A talált felhasználó bejegyzése Következ! talált MAC I Van még talált MAC? Látható csoportok számítása Az üzenet címzettei között szerepel a talált felhasználó? I N Van még üzenet? I N Van még felhasználó? N I Üzenet kézbesítése Következ! üzenet Következ! talált felhasználó Az üzenet címzettei között szerepel a talált csoport? I N Van még üzenet? I Van még csoport? N I Üzenet kézbesítése Következ! üzenet Következ! talált csoport Várakozás 13. ábra: Az OutgoingHandler működése 33
34 A szál leválasztásakor a run() függvény indul el, mely a már említett változó (VirtualPostit.stop) értékének igazban maradásáig fut. Minden ciklus elején beolvassuk a load_data() függvény segítségével a fájlrendszerből a felhasználókat, csoportokat, üzeneteket és jelszavakat (ld. 14. ábra), így érjük el az akár teljesen független felületekkel való adatcserét (pl. egy jövőbeni PHP alapú Web-es felületnek nem szükséges a memóriában adatot cserélnie a Python programmal, könnyedén bevihet a rendszerbe új felhasználókat vagy üzeneteket a megfelelő fájlok megfelelő helyre történő elhelyezésével, ami sokkal könnyebben megvalósítható). Minden ciklus vége egy sleeptimer másodpercig tartó várakozás, a processzor túlterhelését megelőzendő. Start messages Üzenetek beolvasása users Felhasználók beolvasása groups Csoportok beolvasása passwords Jelszavak beolvasása Stop 14. ábra: A load_data() függvény működése A ciklus minden counter-edik alkalommal a Python bluetooth könyvtára segítségével beolvassa a közelben lévő Bluetooth eszközök Bluetooth címét, majd végignézve a felhasználók eszközeinek listáját megállapítja, hogy mely felhasználók elérhetőek (15. ábra), ezeket pedig egy foundusers nevű tömbbe teszi. Fontos megjegyezni, hogy a felhasználók nevének semmi köze sincs az eszközök Bluetooth nevéhez. A program nem használja ez utóbbi adatot.) 34
35 Start Tagja a csoportnak a felhasználó? N Van még online felhasználó? N I I A csoport online Következ! online felhasználó Van még csoport? I N Következ! csoport Stop 15. ábra: A látható csoportok számítása Hasonlóan történik az elérhető csoportok megállapítása is. Egy csoport elérhetőnek számít, ha annak bármely felhasználója elérhető. Ezután az üzenetek kiküldése következik. Végigmegyünk az üzeneteken, és amennyiben az üzenet bármely címzettje elérhető (legyen az csoport, vagy felhasználó) a deliver_message() függvénnyel kézbesítjük az üzenetet. A 16. ábra a deliver_message() függvény működését szemlélteti. Az IncomingHandler hasonló alapötletre épül. A fő szál ciklikusan beolvassa annak a könyvtárnak (/home/user/received) a tartalmát, melybe a feltelepített OBEX szerver (sobexsrv) elmenti a bejövő fájlokat. Hogy többször ne olvassuk be ugyanazokat a bejövő fájlokat, innen egyből egy mv (move) paranccsal átmozgatjuk őket egy ideiglenes könyvtárba (parsefolder), ahol a programunk fel fogja dolgozni őket. 35
36 Start kézbesítve = hamis N Ha a címzett online I I Kézbesítve van már? N Üzenet legenerálása Generált üzenet elmentése outgoing Küldés: obex push Sikeres? N Van még eszköze a felhasználónak? I Következ! eszköz I kézbesítve = igaz N Stop 16. ábra: A deliver_message() függvény működése Az osztály további kódja három részre oszlik: az első rész megállapítja, hogy van-e vnt kiterjesztésű vnote formátumú fájl az ideiglenes könyvtárban. Amennyiben igen, feldolgozza azt, vagyis megállípítja a karakterkódolását (ha nincs megjelölve, akkor alapértelmezésként ISO t használ). Ezután eldobja a számunkra érdektelen fejléceket, és a megmaradt tartalmi részt dekódolja a Quoted-Printable kódolást (ami a quopri Python könyvtárban található) használva. Hibás üzenetformátum esetén leáll a feldolgozással. A második rész a fogadott egyszerű szövegfájlok feldolgozásáért felel. txt kiterjesztésű fájlokat keres, majd azokat ISO kódolást feltételezve értelmezi. 36
37 A harmadik rész felel a videó és hang üznetek áthelyezéséért és megfelelő névvel történő ellátásáért. Szöveges üzenet esetén az értelmezett üzenetet tovább feldolgozzuk, vagyis a várt fogadott üzenetformátumnak megfelelően (ami <címzett1>[;<címzett2>[;<címzett3> ]] #üzenet) szétbontjuk, és a messages könyvtárba új fájlként üzenetet készítünk belőle. Ezt a következő ciklus alkalmával az OutgoingHandler megtalálja, és nyilvántartásba veszi. A videó és hang üzenetekkel további műveleteket nem kell végeznünk A grafikus felület működése A grafikus felület GTK widget-készletet használ a Python PyGTK könyvtárán keresztül. A grafikus környezet inicializálását a kontrollerként funkcionáló VirtualGraffiti osztály már elvégzi, így a grafikus felület osztályainak csak az ablakok összeállításával, a widgetek megfelelő módon történő elhelyezésével és a felhasználói interakciók lekezelésével kell törődnie. A konstruktorok végzik el a felület objektumainak elkészítését (vízszintes panelek (HPaned), függőleges dobozok (VBox), kép objektumok (Image), címkék (Label) és gombok (Button)). Ezekből összeállítják a kívánt felületet, majd az ablakot teljes képernyőre kényszerítik (hogy a Hildon felület felesleges ablaknevet, gombokat, státusz widget-eket és menüket tartalmazó kerete ne foglalja a számunkra értékes helyet). A MainWindow osztály működése a legösszetettebb. Összesen négy tömb segítségével folyamatosan nyilvántartja, hogy milyen gombok vannak (actfoundusers), illetve voltak (lastfoundusers) a felületen, valamint hogy a következő ütemben ezekből melyik gombokat kell levenni (removeusers) és mely új gombokat kell feltenni (addusers). A ciklikus működés itt is megfigyelhető. Minden ciklusban a modell állapotának (pontosabban szemaforjainak) megfelelően beállítjuk a státusz címke értékét ( Scanning, Delivering, egyik sem, ill. mindkettő). Lekérdezzük az adott időpillanatban a látható felhasználókat a modelltől (a már említett, kontrolleren keresztüli módon), majd kiszámítjuk az előbb említett tömbök értékét. Egy külön, userbuttons nevű, asszociatív tömböt tartunk fenn a gombok nyilvántartására. Új gomb létrehozásakor ennek adunk egy új tömbelemet, gomb eltávolításakor pedig a megfelelő felhasználóhoz tartozó elemet töröljük. (A tömbelemek a felhasználók neveivel vannak indexelve.) Természetesen a felületen élesben kint lévő listán is elvégezzük a megfelelő módosításokat (gomb be- és kiregisztrálása). A rendszer a megtalált felhasználók számának nyilvántartásával képes arra is, hogy egy Label-ben kiírja a gombok listájának helyére azt, ha nem található egy felhasználó sem. A ciklus végén a gombok szövegére a felhasználónév után kiírjuk a felhasználó számára érkezett üzenetek számát is zárójelben, majd sleeptimer-nyi időt várakozunk. 37
38 A gombok a login_with_device() függvényt hívják meg megnyomásukkor. Azok a megnyomáskor a saját (mármint a gombok) nevével együtt a gombhoz tartozó felhasználó nevét is megadják a függvénynek paraméterül. A függvény a password.py fájlban található CheckPassword() meghívásával bekéri a felhasználó jelszavát, majd ha az eredményes volt, akkor példányosít egy UserWindow objektumot, megjeleníti azt, ezt követően pedig saját magát elrejti, majd új szálként elindítja az ablakot. A Login without Bluetooth device gomb megnyomásával a hasonló nevű függvény hívódik meg, ami a NoDeviceWindow osztályt példányosítja és jeleníti meg. Az osztály egyéb függvényei a teljes képernyő és ablakban futás közti váltás kezeléséért, valamint a programból való kilépésért felelősek. A UserWindow osztály működése nagyban hasonlít a MainWindow-éhoz; annyi az eltérés, hogy itt a modelltől az üzenetek listáját kérjük el, melyet aztán a filter_user() függvénnyel szűrünk meg a kívánt felhasználónak szóló üzenetekre. Egyszerű gombok helyett itt összetettebb, HPaned, Label és Button objektumokból álló konstrukciók kerülnek hozzáadásra és eltávolításra, hasonló módon. A törlés gomb kezelése az üzenet referenciájának átadásával megoldott, így maga a grafikus felület törli le az üzenet fájlját, amit a következő ciklusban észlel a modell. Fontos még, a logout() függvény, mely először a kontrolleren keresztül elért MainWindow ablakát jeleníti meg újra, majd saját magát elrejti, és a főciklus leállításával az egész szálat törli. A NewMessageWindow send() függvénye ellenőrzi, hogy nem üres üzenetet próbálunk-e elküldeni, majd az üzenetet paraméterként átadva megnyitja a RecipientWindow-t. A RecipientWindow send() függvénye létrehoz egy üzenetfájlt a messages könyvtárban, amit a modell a következő ciklus során beolvas és nyilvántartásba vesz. A PasswordCheck() függvény a paraméterül kapott felhasználó jelszavát olvassa be a passwords könyvtárból, majd megjelenít egy Hildon jelszóbekérő ablakot, és az abból kapott jelszó hash-ét veszi a Python md5 könyvtárának[12] segítségével. Ezt a hash-t összehasonlítja az eltárolt jelszó hash-sel, majd ha a kettő egyezik, akkor OK-val tér vissza, ellenkező esetben NOK-val. A NoDeviceWindow nem tartalmaz újdonságot az eddigiekhez képest, feladata a kiválasztott felhasználó beléptetése Fejlesztési lehetőségek A program a választott Python nyelvnek és a MVC architektúrának köszönhetően viszonylag kis befektetéssel bővíthető az igényeknek megfelelően. Elsődleges célunk a bevezetésben tárgyalt célok elérése volt, azok fontosságának sorrendjében, de nyitottak vagyunk új ötletek beépítésére is. 38
39 A következőkben pár példát említünk a bővíthetőségre, de ennél sokkal több lehetőség áll rendelkezésre Grafikus felület lecserélése Már korábban is említettük, hogy a grafikus felület a futtató platform adottságainak megfelelően lecserélhető a modell módosítása nélkül. Először természetesen meg kell írni a grafikus felületet a kívánt widget-készletre, majd pedig a felület eseményeit hozzá kell rendelni a modell eseményeihez. Ez konkrétan abban nyilvánul meg, hogy a kontroller osztálypéldányosításait le kell cserélni az új GUI osztályaira, valamint az új felületnek ugyanúgy a kontrolleren keresztül kell lekérdeznie a modelltől annak paramétereit (pl. látható felhasználók). Minden további nélkül lehetőség van a lecserélés mellett akár párhuzamosan több grafikus felület futtatására is; értelemszerűen ilyen esetben a meglévő felület hívásai mellé kell elhelyezni az új kódot Új formátumok támogatása Az IncomingHandler-t vnote és ASCII text formátumú szövegek fogadására készítettük fel, azonban szükség lehet rá, hogy kevésbé népszerű formátumokat is támogassunk (pl. a PocketPC-k PocketOffice-ának formátumát). Ez az IncomingHandler bővítésével megoldható. A kódot pl. a txt-t értelmező rész után szúrhatjuk be, tetszőleges elven válogathatunk a parsefolder-ben lévő fájlokból, majd egy értelmező kód megírásával kinyerhetjük az üzenet tartalmát, amire csak két megkötés van: UTF-8 kódolásban tároljuk el, mégpedig a messages könyvtárba (tetszőleges fájlnéven), és a fentebb részletezett üzenetformátumban A mobilról küldött üzenetek információtartalmának bővítése Lehetőség van arra is, hogy a címzett mellett a Delete after delivery jellemzőt is megadjuk a mobilról érkező üzenetek esetében. Ehhez az IncomingHandler azon részeit kell módosítani, ahol a # karakter alapján vágja szét a kód a már dekódolt üzenetet Jövőbeli terveink Az alkalmazás jelenlegi formájában még közel sincs készen, bár már működőképes, bizonyos célokra pedig már most remekül használható. Elsősorban a következő célokat tűztük ki magunk elé: Web-es felület elkészítése A tervek szerint egy lighttpd[13], vagy thttpd[14] alapú webszervert állítunk üzembe az eszközön, amin egy PHP program fog hasonló (néhol bővebb) funkcionalitást elvégezni, mint a jelenlegi GTK alapú grafikus felület. Ez a web-es interfész távolról is elérhető lesz, akár mobiltelefonról, út közben, vagy otthonról számítógépen böngészhetjük az 39
40 üzeneteinket, hagyhatunk üzenetet másoknak, illetve a felhasználók és csoportok adminisztrálását végezhetjük el a rendszergazdai jogok birtokában Áttérés adatbázis alapú tárolásra A jelenlegi, fájl alapú adattárolás nem túl jól skálázható, ezért feltett szándékunk az adattárolás migrálása valamely SQL alapú adatbázisba, amely vagy a programot futtató eszközön, vagy akár egy távoli gépen fut majd. A távoli gép előnye, hogy több példány is futhat különböző helyeken a programunkból, így akár az is megoldható, hogy az egyik helyen hagyott üzenetet egy távoli helyen lévő másik programpéldány kézbesítse a címzettnek, amennyiben az ott elérhető Bluetooth jelerő információk felhasználása Bizonyos korlátozott lehetőségünk van a Bluetooth kapcsolatok jelerejének lekérdezésére is. Ezekből az adatokból hasznos információkat vonhatunk le a programunk segítségével: kideríthető például, hogy valaki épp közeledik-e az eszközhöz, távolodik-e tőle, vagy mondjuk huzamosabb ideig a közelben dolgozik. Más-más viselkedés társítható a különböző viselkedési formákhoz (pl. ha huzamosabb ideig az eszköz környékén van a felhasználó, akkor nem akar Bluetooth kézbesítést, hanem a kijelzőn történő olvasást preferálja) SMS értesítő kiküldése Egy SMS gateway-en keresztül szeretnénk lehetőséget biztosítani arra, hogy a program bizonyos üzeneteket SMS-ben kiküldjön a címzettnek További multimédiás szolgáltatások A videó üzenetek Bluetooth-on keresztüli fogadásán túl terveink közt szerepel az N810 beépített kamerájának, ill. mikrofonjának használata videó, ill. hang felvételre. 40
41 4. Összefoglalás Tudományos diákköri dolgozatunkban egy Virtual Post-It névre hallgató virtuális üzenőfal tervezését és megvalósítását mutattuk be. Kitűztük, specifikáltuk az üzenethagyó rendszer által megvalósítandó feladatokat, megvizsgáltuk a tudományos szakirodalom által ajánlott javaslatokat, lehetőségeket, és a támasztott követelményeket. Az általunk elkészített alkalmazást ezen alapelvek alapján igyekeztük megvalósítani. Az alkalmazás egy nagyobb rendszer része, szervesen kapcsolódik TMIT kutatóinak a Mobil Innovációs Központ (MIK) keretein belül végzett tudományos munkájához, ezen belül is az Intelligens Iroda projekthez. A dolgozatban bemutatott eszköz és program a napjainkban sokat emlegetett intelligens környezetek egy építőeleme, mely környezetek jelentősége napról-napra növekszik, új és új értéknövelt és az emberi munkát megkönnyítő szolgáltatások nyújtásával. 5. Köszönetnyilvánítás Ezúton is szeretnénk köszönetet mondani témavezetőnknek, Dr. Vida Rollandnak a tudományos diákköri dolgozat elkészítéséhez nyújtott segítségéért, ránk fordított idejéért, ötleteiéért és javaslataiéért! 41
42 6. Rövidítéslista Rövidítés Angol kifejtés Magyar kifejtés 3G 3GP AMR API ARM ASCII Third Generation Third Generation Partnership Project Adaptive Multirate Application Programming Interface Advanced RISC Machine Harmadik generációs Harmadik generációs partner projekt Adaptív többfokú Alkalmazás program-felülete Fejlett RISC gép FTP GSM GTK GUI IM IrDA MD5 MVC OBEX PC PDA PHP PIN RFID SMS SoC SQL SSH UMTS UTF-8 VNC vnote W3C WiFi WLAN American Standard Code for Information Interchange File Transfer Protocol Global System for Mobile communications GIMP Toolkit Graphical User Interface Instant Messaging Infrared Data Association Message-Digest algorithm 5 Modell-View-Controller Object Exchange Personal Computer Personal Digital Assistant PHP: Hypertext Preprocessor Personal Identification Number Radio-Frequency Identification Short Message Service System-on-a-Chip Structured Query Language Secure Shell Universal Mobile Telecommunications System 8-bit UCS/Unicode Transformation Format Virtual Network Computing Virtual Note World Wide Web Consortium Wireless Fidelity Wireless Local Area Network Egységes amerikai kód az információcseréhez Fájlátviteli protokoll Globáli mobilkommunikációs rendszer GIMP eszközkészlet Grafikus felhasználói felület Azonnali üzenetküldés Infravörös Adat Egyesület 5-ös üzenet-kivonatoló algoritmus Modell-Nézet-Vezérlő Objektum-csere Személyi számítógép Személyi digitális asszisztens PHP: hiperszöveg előfeldolgozó Személyes azonosító szám Rádiófrekvenciás azonosítás Rövid üzenet szolgáltatás Rendszer-egy-chipben Struktúrált lekérdező nyelv Titkosított shell Univerzális mobil telekommunikációs rendszer 8 bites UCS/Unicode transzformációs formátum Virtuális hálózati számítástechnika Virtuális jegyzet Világ méretű háló konzorcium Drót nélküli hűség Drót nélküli helyi hálózat 42
43 7. Irodalomjegyzék [1] Sneiderman, Ben: Leonardo's Laptop, Human Needs and the New Computing Technoloiges, MIT Press, 2003, ISBN: o. [2] Béni, Tibor: Munkaidő-nyilvántartó rendszer impro beléptető rendszerhez, Diplomamunka, Pannon Egyetem, Műszaki Infomratikai Kar, 2007 [3] Nokia N Series Nokia N810 [4] USSP Push man page [5] hcitool man page [6] Python programming language official website [7] PyBlueZ API documentation [8] PyGTK: GTK+ for Python [9] Maemo.org: Python-maemo-3.x: Hildon Widgets API for Python pyhildon_widgets_all.html [10] Collin R. Mulliner: Scripting/Secure OBEX Server [11] Learning Python: Writing a Custom Widget Using PyGTK [12] Python library reference: md5 [13] Lighttpd fly light: [14] tiny/turbo/throttling HTTP server 43
VIRTUÁLIS GRAFFITI ÜZENETHAGYÓ RENDSZER
1 VIRTUÁLIS GRAFFITI ÜZENETHAGYÓ RENDSZER 2007.12.12. Gruber Kristóf és Sik András Ferenc Konzulens: Vida Rolland Tematika 2 Bevezetés, a feladat áttekintése A Nokia 770 felkészítése a fejlesztésre, beszámoló
TERC V.I.P. hardverkulcs regisztráció
TERC V.I.P. hardverkulcs regisztráció 2014. második félévétől kezdődően a TERC V.I.P. költségvetés-készítő program hardverkulcsát regisztrálniuk kell a felhasználóknak azon a számítógépen, melyeken futtatni
Oktatási cloud használata
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnikai és Információs Rendszerek Tanszék Oktatási cloud használata Készítette: Tóth Áron (BME MIT), 2013. A segédlet célja a tanszéki oktatási cloud
Magyar Nemzeti Bank - Elektronikus Rendszer Hitelesített Adatok Fogadásához ERA. Elektronikus aláírás - felhasználói dokumentáció
ERA Elektronikus aláírás - felhasználói dokumentáció Tartalomjegyzék 1. Bevezető... 3 1.1. Általános információk... 3 2. DesktopSign... 3 2.1. Általános információk... 3 2.2. Telepítés... 3 3. MNBSubscriber...
GPRS Remote. GPRS alapú android applikáció távvezérléshez. Kezelési útmutató
GPRS Remote GPRS alapú android applikáció távvezérléshez Kezelési útmutató Tartalomjegyzék Általános leírás... 1 Új modul beállítás... 2 Új okostelefon beállítás... 2 Modulok karbantartása... 3 Okostelefonok
Vodafone-os beállítások Android operációs rendszer esetében
Vodafone Magyarország zrt. 1096 Budapest, Lechner Ödön fasor 6. Vodafone-os beállítások Android operációs rendszer esetében Tartalom: Internet MMS SMS Gmail fiók beállításai Vodamail fiók beállításai Jelmagyarázat
A TERC VIP költségvetés-készítő program telepítése, Interneten keresztül, manuálisan
Telepítés internetről A TERC VIP költségvetés-készítő program telepítése, Interneten keresztül, manuálisan Új szolgáltatásunk keretén belül, olyan lehetőséget kínálunk a TERC VIP költségvetéskészítő program
ContractTray program Leírás
ContractTray program Leírás Budapest 2015 Bevezetés Egy-egy szerződéshez tartozó határidő elmulasztásának komoly gazdasági következménye lehet. Éppen ezért a Szerződés kezelő program főmenü ablakában a
DebitTray program Leírás
DebitTray program Leírás Budapest 2015 Bevezetés Egy-egy kintlévőséghez tartozó határidő elmulasztásának komoly következménye lehet. Éppen ezért a Kintlévőség kezelő program főmenü ablakában a program
A Novitax ügyviteli programrendszer első telepítése
Telepítő fájl letöltése honlapunkról A Novitax ügyviteli programrendszer első telepítése A honlapunkon (www.novitax.hu) található telepítő fájlt (novitax2007-setup.exe) le kell tölteni a számítógép egy
Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv
Image Processor BarCode Service Áttekintés CIP-BarCode alkalmazás a Canon Image Processor programcsomag egyik tagja. A program feladata, hogy sokoldalú eszközt biztosítson képállományok dokumentumkezelési
Ez a felhasználói útmutató a következő modellekre vonatkozik:
AirPrint útmutató Ez a felhasználói útmutató a következő modellekre vonatkozik: HL-L850CDN/L8350CDW/L8350CDWT/L900CDW/L900CDWT DCP-L8400CDN/L8450CDW MFC-L8600CDW/L8650CDW/L8850CDW/L9550CDW A verzió HUN
e-szignó Online e-kézbesítés Végrehajtási Rendszerekhez
MICROSEC Számítástechnikai Fejlesztő zrt. e-szignó Online e-kézbesítés Végrehajtási Rendszerekhez Felhasználói útmutató https://online.e-szigno.hu/ 1 Tartalom 1. Bevezetés... 3 2. A rendszer használatának
Regionális forduló november 18.
Regionális forduló 2017. november 18. 9-10. osztályosok feladata Feladat Egy e-mail kliens szoftver elkészítése lesz a feladatotok. Az elkészítendő alkalmazásnak az alábbiakban leírt specifikációnak kell
Dropbox - online fájltárolás és megosztás
Dropbox - online fájltárolás és megosztás web: https://www.dropbox.com A Dropbox egy felhő-alapú fájltároló és megosztó eszköz, melynek lényege, hogy a különböző fájlokat nem egy konkrét számítógéphez
Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv
Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv Tartalomjegyzék 1. Symbian rendszer...2 1.1 Funkciók és követelmények...2 1.2 Telepítés és használat...2 2. Windows Mobile rendszer...6 2.1
Intelligens biztonsági megoldások. Távfelügyelet
Intelligens biztonsági megoldások A riasztást fogadó távfelügyeleti központok felelősek a felügyelt helyszínekről érkező információ hatékony feldolgozásáért, és a bejövő eseményekhez tartozó azonnali intézkedésekért.
MÉRY Android Alkalmazás
MÉRY Android Alkalmazás Felhasználói kézikönyv Di-Care Zrt. Utolsó módosítás: 2014.06.12 Oldal: 1 / 7 Tartalomjegyzék 1. Bevezetés 3 1.1. MÉRY Android alkalmazás 3 1.2. A MÉRY Android alkalmazás funkciói
Az OpenScape Business rendszerek egységes architektúrára épülnek: Rugalmas, skálázható és megbízható
Rugalmas, skálázható és megbízható Az OpenScape Business rendszer a kis- és közepes vállalkozások változatos igényeinek minden szempontból megfelelő korszerű, egységes kommunikációs (UC) megoldás. A rendszer-felépítése
FTP Az FTP jelentése: File Transfer Protocol. Ennek a segítségével lehet távoli szerverek és a saját gépünk között nagyobb állományokat mozgatni. Ugyanez a módszer alkalmas arra, hogy a kari web-szerveren
Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0
Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0 Az Ön letölthető fájl tartalmazza az Evolut Főkönyv 2013. program telepítőjét. A jelen leírás olyan telepítésre vonatkozik, amikor Ön
Ügyfélszolgálati Portál (használati segédlet)
Ügyfélszolgálati Portál (használati segédlet) Tartalomjegyzék Tartalomjegyzék... 2 Bevezetés... 3 Regisztráció... 3 Az ügyfélszolgálati oldal használata... 5 Új kérés, hibabejelentés... 5 Korábbi kérések,
KIRA. KIRA rendszer. Telepítési útmutató v1
KIRA rendszer Telepítési útmutató v1 1. Bevezetés A dokumentáció, illetve a dokumentáció mellékleteként megtalálható állományok segítségével készíthető fel a kliens oldali számítógép a KIRA rendszer működtetésére.
CareLink Personal telepítési útmutató. Első lépések a CareLink Personal adatfeltöltéshez
CareLink Personal telepítési útmutató Első lépések a CareLink Personal adatfeltöltéshez A CareLink USB illesztőprogram telepítése A CareLink USB illesztőprogramot telepíteni kell. Ez az illesztőprogram
Hiteles Elektronikus Postafiók
NISZ Nemzeti Infokommunikációs Szolgáltató Zrt. H-1081 Budapest, Csokonai utca 3. Hiteles Elektronikus Postafiók Tárhely adminisztráció 2018.05.07. v.1.2. TARTALOMJEGYZÉK 1. BEVEZETÉS... 3 2. BEJELENTKEZÉS
A telepítési útmutató tartalma
1 A telepítési útmutató tartalma 3 Kompatibilitás és rendszerkövetelmények A telepítési folyamat röviden 4 A telepítés indítása 5 Adatbáziskezelő beállítása / telepítése 8 Telepítési módozatok 11 Az ENSO
Mobil Partner telepítési és használati útmutató
Mobil Partner telepítési és használati útmutató Tartalom Kezdeti lépések... 2 Telepítés... 2 A program indítása... 6 Mobile Partner funkciói... 7 Művelet menü... 7 Kapcsolat... 7 Statisztika... 8 SMS funkciók...
Figyelem : a 3220 központosított beállítási struktúrával rendelkezik ami lehetővé teszi az összes profil egy helyről történő elérését.
Tisztelt Ügyfelünk! Köszönjük, hogy a Nokia 3220 típusú készüléket választotta. Új multimédiás mobiltelefonjával képüzeneteket küldhet és fogadhat, a www.t-zones.hu WAP-portálon keresztül számos információt
MOBILTELEFONON keresztüli internet telefonálás
MOBILTELEFONON keresztüli internet telefonálás A FRING egy olyan alkalmazás, aminek segítségével hívásokat tud kezdeményezni a FONIO, az internet telefon szolgáltatást felhasználva. Igen költségkímélő,
Tisztelt Ügyfelünk! Nokia 6230i Beállítások. Személyes E-mail profil létrehozása és beállítása :
Tisztelt Ügyfelünk! Köszönjük, hogy a Nokia 6230i típusú készüléket választotta. Új multimédiás mobiltelefonjával képüzeneteket küldhet és fogadhat, a www.t-zones.hu WAP-portálon keresztül számos információt
QLink Universal SOFTPHONE - TELEPÍTÉSI ÚTMUTATÓ
QLink Universal SOFTPHONE - TELEPÍTÉSI ÚTMUTATÓ iphone android android windows phone www.quaestel.hu Köszönjük, hogy kipróbálja telefonszolgáltatásunkat! A továbbiakban segítséget kívánunk nyújtani készüléke
Samsung GT-S7230 (Wave 723) Exchange ActiveSync beállítása Virtualoso levelezésre
Samsung GT-S7230 (Wave 723) Exchange ActiveSync beállítása Virtualoso email levelezésre A következô lépések segítségével egyszerûen beállíthatja a Virtualoso email levelezést Samsung GT-S7230 készülékre.
Szülői modul. Belépés a TANINFORM rendszerbe. Főoldal
Szülői modul Belépés a TANINFORM rendszerbe Belépni vagy a bogim.hu oldalon elhelyezett linkre való kattintással vagy a https://start.taninform.hu/application/start?intezmenyindex=032552 cím böngészőbe
OZEKI Phone System. A jövő vállalati telefon rendszerének 4 alappillére. A jövő üzleti telefon rendszere SMS. Mobil mellékek. Összhang az IT-vel
A jövő üzleti telefon rendszere A jövő vállalati telefon rendszerének 4 alappillére SMS Mobil mellékek Webtelefon Üzenetküldés Összhang az IT-vel É rdemes elolvasni! Ajánlatkérés Kérem, töltse ki az űrlapot,
Útmutató parkolás indításához és leállításához
Útmutató parkolás indításához és leállításához Parkolást ezután is az eddig megszokott felületeken lehet indítani: 1. hangautomata hívásával: +36-1-9999-798-as telefonszámon, követve az automata utasításait,
Felhasználói dokumentáció. a TávTagTár programhoz. Készítette: Nyíri Gábor, [email protected] GDF Abakusz regisztrációs kód: GDFAba43
a TávTagTár programhoz Készítette: Nyíri Gábor, [email protected] GDF Abakusz regisztrációs kód: GDFAba43 Tartalomjegyzék Futási feltételek... 3 Telepítés... 3 Indítás... 3 Főablak... 4 Új személy felvétele...
Felhasználói Kézikönyv
SA-1389A Hálózati IP Kamera Felhasználói Kézikönyv 1. LED Jelzések 1. Hálózat jelző LED 2. Riasztás LED 3. Felvételt jelző LED 4. Riasztó élesítés LED 5. Infravörös vevő LED LED jelzés funkciók és jelentések:
OZEKI Phone System. 4 elengedhetetlen szolgáltatás a jövőbeli vállalati telefonos rendszerek számára. A jövő üzleti telefon rendszere SMS
A jövő üzleti telefon rendszere 4 elengedhetetlen szolgáltatás a jövőbeli vállalati telefonos rendszerek számára SMS Mobil mellékek Webtelefon Üzenetküldés és jelenlét Összhang az IT-vel Olvassa el! Ajánlatkérő
PTE-PROXY VPN használata, könyvtári adatbázisok elérhetősége távolról
PTE-PROXY VPN használata, könyvtári adatbázisok elérhetősége távolról Az Informatikai Igazgatóság minden aktív egyetemi hallgató és munkaviszonnyal rendelkező egyetemi dolgozó részére úgynevezett proxy
Verzió: 2.0 2012. PROCONTROL ELECTRONICS LTD www.procontrol.hu
PROCONTROL Proxer 6 RFID Proximity kártyaolvasó Verzió: 2.0 2012. Létrehozás dátuma: 2012.08.07 18:42 1. oldal, összesen: 5 A Proxer6 egy proximity kártyaolvasó, ami RFID kártyák és transzponderek (egyéb
CIB Internet Bank asztali alkalmazás Hasznos tippek a telepítéshez és a használathoz Windows operációs rendszer esetén
CIB Internet Bank asztali alkalmazás Hasznos tippek a telepítéshez és a használathoz Windows operációs rendszer esetén A CIB Internet Bankba való webes felületen keresztül történő belépés az Oracle által
Rendszergazda Debrecenben
LEVELEZŐKLIENS BEÁLLÍTÁSA A levelezés kényelmesen kliensprogramokkal is elérhető, és használható. Ezen útmutató beállítási segítséget nyújt, két konkrét klienssel bemutatva képernyőképekkel. Természetesen
Connection Manager - Felhasználói kézikönyv
Connection Manager - Felhasználói kézikönyv 1.0. kiadás 2 Tartalom A kapcsolatkezelő alkalmazás 3 Használatbavétel 3 A kapcsolatkezelő alkalmazás megnyitása 3 A jelenlegi csatlakozási állapot megtekintése
A L i n u x r u h á j a
A L i n u x r u h á j a Disztribúciók és azok sajátosságai Ablakkezelők DE-EFK Egészségügyi Ügyvitelszervező Szak Linux c. tantárgy 2006 I. félév D i s z t r i b ú c i ó f o g a l m a A Linux-disztribúció
NightHawk AccessControl
NightHawk AccessControl Poker Edition Version: 2.0 2012. január 1 Tartalomjegyzék Rendszer elemei... 3 Felhasználói felület... 3 Nap nyitása, zárása... 4 Új játékos felvitele... 4 Ki és beléptetés... 5
ServiceTray program Leírás
ServiceTray program Leírás Budapest 2015 Bevezetés szerviz munkalapok státuszai a Törölve és Lezárva státuszt leszámítva a munkalap különböző nyitott állapotát jelzik, melyek valamilyen tevékenységet jeleznek.
Felhasználói leírás a DimNAV Server segédprogramhoz ( )
Felhasználói leírás a DimNAV Server segédprogramhoz (1.1.0.3) Tartalomjegyzék Bevezetés...3 1. Telepítés...3 2. Eltávolítás...4 Program használata...5 1. Kezdeti beállítások...5 2. Licenc megadása...6
AirPrint útmutató. A Használati útmutató a következő modellekre vonatkozik: MFC-J6520DW/J6720DW/J6920DW. 0 verzió HUN
AirPrint útmutató A Használati útmutató a következő modellekre vonatkozik: MFC-J650DW/J670DW/J690DW 0 verzió HUN Megjegyzések meghatározása A használati útmutatóban a megjegyzéseket végig az alábbi stílusban
Általános e-mail fiók beállítási útmutató
Általános e-mail fiók beállítási útmutató Ennek az összeállításnak az a célja, hogy segítséget nyújtsunk azon Ügyfeleink számára, akik az IntroWeb Kft. által nyújtott e-mail szolgáltatáshoz be szeretnék
Procontrol VRecX. Kezelői kézikönyv. Kamerás megfigyelőrendszer. Verzió: 1.1 2012.
Procontrol VRecX Kamerás megfigyelőrendszer Kezelői kézikönyv Verzió: 1.1 2012. 2010 Procontrol Electronics Ltd. Minden jog fenntartva. A Worktime, a Workstar, a WtKomm a Procontrol Electronics Ltd. hivatalos
Információ és kommunikáció
Információ és kommunikáció Tanmenet Információ és kommunikáció TANMENET- Információ és kommunikáció Témakörök Javasolt óraszám 1. Hálózati alapismeretek 20 perc 2. Az internet jellemzői 25 perc 3. Szolgáltatások
EDUROAM WI-FI beállítása
EDUROAM WI-FI beállítása Az eduroam oktatási és kutatási intézmények nemzetközi szövetségének a szolgáltatása, amely lehetővé teszi a szövetség tagjainak felhasználói számára, hogy egy másik eduroam szövetségbeli
Felhasználói útmutató CVR mobil kliens, ios rendszerhez.
Felhasználói útmutató CVR mobil kliens, ios rendszerhez. Működési feltételek A felhasználói útmutató ios V7.0.4 verziószámú operációs rendszer felhasználásával készült. Az applikáció telepítése 1. Az App
TESZ INTERNET ÉS KOMMUNIKÁCIÓ M7
TESZ INTERNET ÉS KOMMUNIKÁCIÓ M7 1. FELADAT 1. Továbbküldés esetén milyen előtaggal egészül ki az e-mail tárgysora? Jelölje a helyes választ (válaszokat)! [1 pont] a) From: b) Fw: c) To: d) Vá: 2. Melyik
HC Csoport Ügyfélkapu
HC Csoport Ügyfélkapu Felhasználói útmutató Készült: 2013. augusztus 28. Tartalomjegyzék Bevezető... 2 Bejelentkezés... 2 Jelszóváltás... 3 Főoldal... 3 Szűrések és rendezések... 5 Bejelentés... 6 Üzenet
Adatforgalomra vonatkozó beállítások. Lépjünk be a Beállítások menübe
Adatforgalomra vonatkozó beállítások Lépjünk be a Beállítások menübe Egyéb beállítások menün belül a Mobilhálózatok menüt válasszuk ki. Itt a Mobil adatok bepipálása szükséges a GPRS alapú szolgáltatások
Felhasználói útmutató
Felhasználói útmutató EUREST KFT. BUDAPESTI NÉMET ISKOLA WEB ALAPÚ MENÜRENDSZERÉNEK HASZNÁLATÁHOZ Tartalom Általános felhasználói ismeretek... 2 Nyelv Választás... 3 Regisztráció... 4 Bejelentkezés...
Médiatár. Rövid felhasználói kézikönyv
Médiatár Rövid felhasználói kézikönyv Tartalomjegyzék Bevezetés Tartalomjegyzék Bevezetés Bevezetés... 3 Kezdô gondolatok... 4 Hálózati követelmények... 4 Támogatott operációs rendszerek a számítógépeken...
Mappák megosztása a GroupWise-ban
- 1 - Fő me nü Mappák megosztása a GroupWise-ban Amennyiben a feladataink végzése szükségessé teszi, lehetővé tehetjük, hogy a GroupWise rendszerben tárolt személyes mappáinkat, az ott található tételeket
Felhasználói kézikönyv
Felhasználói kézikönyv Elektronikus Ügyintézés (EÜHT) Kézbesítési tárhely V 1.6 Utolsó mentés: 2015. 08. 11. TARTALOMJEGYZÉK 1. Bevezető... 3 2. Fogalomtár... 3 3. Kézbesítési Tárhely - szolgáltatás Intézmények
Bóra Adatcsere. A webes modul működésének részletesebb leírását a csatolt dokumentum tartalmazza.
Bóra Adatcsere A Bóra Adatcsere a Bóra bérprogram webes modulja, ami a http://adatcsere.globo.hu címen érhető el. Természetesen a modult szeretnénk az Önök igényei alapján tovább fejleszteni, ezért kíváncsian
Vezeték nélküli hálózat
Vezeték nélküli hálózat Tájékoztatjuk Önöket, hogy a Lónyay Utcai Református Gimnázium és Kollégiumban elindult a WiFi szolgáltatás. Közösségi terekben, előadókban, könyvtárban érhető el a szolgáltatás.
Tudnivalók az NYMESEK vezeték nélküli hálózatáról. Beállítási útmutató WIFI felhasználóink számára
Nyugat-magyarországi Egyetem Savaria Egyetemi Központ Tanulmányi, Szolgáltató és Informatikai Központ 9700 Szombathely, Károlyi Gáspár tér 4. Tel.: 94/504-645 e-mail: [email protected] Tudnivalók az
Az autorizáció részletes leírása
Az autorizáció részletes leírása 1. REGISZTRÁCIÓ ÉS FELTÉTELEI 1.1 Regisztráció Az Autorizációs kérés előtt a szervezetnek vagy a magánszemélynek regisztráltatnia kell magát. A regisztrációs lapon megadott
Abacom CRM rendszer használati utasítás
Abacom CRM rendszer használati utasítás Az Abacom CRM rendszerrel Ön nyilvántarthatja, keresheti, csoportosíthatja partnereit. Részletes listákat készíthet, melyeket Excel táblákba exportálhat, megjegyzéseket
Samsung GT-S7230 (Wave 723) Exchange ActiveSync beállítása Virtualoso levelezésre
Samsung GT-S7230 (Wave 723) Exchange ActiveSync beállítása Virtualoso email levelezésre A következô lépések segítségével egyszerûen beállíthatja a Virtualoso email levelezést Samsung GT-S7230 készülékre.
Sú gó az ASIR/PA IR Públikús felú lethez
Sú gó az ASIR/PA IR Públikús felú lethez Súgó a magyarországi központi Agrárstatisztikai és Piaci Árinformációs rendszer publikus moduljához. 1 Publikus felhasználói regisztráció A publikus felület Regisztráció
Közoktatási Statisztika Tájékoztató 2012/2013. Használati útmutató
Közoktatási Statisztika Tájékoztató 2012/2013 Tartalomjegyzék 1. Technikai információk... 2 2. Publikus felület... 2 2.1 Bejelentkezés... 2 2.2 Összesítés... 3 2.2.1 Statisztikai tábla megtekintése...
Köszönetnyilvánítás... xv Bevezetés az otthoni hálózatok használatába... xvii. A könyv jellegzetességei és jelölései... xxi Segítségkérés...
Köszönetnyilvánítás... xv Bevezetés az otthoni hálózatok használatába... xvii A könyvben szereplő operációs rendszerek...xviii Feltételezések...xviii Minimális rendszerkövetelmények... xix Windows 7...
ECDL Információ és kommunikáció
1. rész: Információ 7.1 Az internet 7.1.1 Fogalmak és szakkifejezések 7.1.2 Biztonsági megfontolások 7.1.3 Első lépések a webböngésző használatában 7.1.4 A beállítások elévégzése 7.1.1.1 Az internet és
Nokia N8 (Mail for Exchange) beállítása Virtualoso email levelezésre
Nokia N8 (Mail for Exchange) beállítása Virtualoso email levelezésre A következô lépések segítségével egyszeûen beállíthatja a Virtualoso email levelezést Nokia N8 készülékre. A készülék integrált e-mail
Információ és kommunikáció
Információ és kommunikáció Tanmenet Információ és kommunikáció TANMENET- Információ és kommunikáció Témakörök Javasolt óraszám 1. Az internet jellemzői 25 perc 2. Szolgáltatások az interneten 20 perc
Kezdő lépések Microsoft Outlook
Kezdő lépések Microsoft Outlook A Central Europe On-Demand Zrt. által, a Telenor Magyarország Zrt. részére nyújtott szolgáltatások rövid kezelési útmutatója 1 Tartalom Áttekintés... 3 MAPI mailbox konfiguráció
Felhasználói dokumentáció a teljesítményadó állományok letöltéséhez v1.0
Felhasználói dokumentáció a teljesítményadó állományok letöltéséhez v1.0 www.kekkh.gov.hu Státusz: Verzió Cím Dátum SzerzőFolyamatban Változások Verzió Dátum Vállalat Verzió: 1.0 Szerző: Lénárd Norbert
Microsoft SQL Server telepítése
Microsoft SQL Server telepítése Az SQL Server a Microsoft adatbázis kiszolgáló megoldása Windows operációs rendszerekre. Az SQL Server 1.0 verziója 1989-ben jelent meg, amelyet tizenegy további verzió
RIEL Elektronikai Kft v1.0
DeskCamera v1.6.1 1. DESKCAMERA A DeskCamera segítségével lehetőség nyílik a számítógép monitorán megjelenő képet rögzítő (NVR, DVR) segítségével rögzíteni. 1.1. TECHNIKAI ADATOK Maximális monitor szám:
Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt
Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt segédlet A Szilipet programok az adatok tárolásához Firebird adatbázis szervert használnak. Hálózatos
NGP Áttekintés. GEMSYS EUROPE Kft. 1147 Budapest, Gervay u. 92. www.muratec.hu www.gemsys.hu
NGP Áttekintés GEMSYS EUROPE Kft. 1147 Budapest, Gervay u. 92. www.muratec.hu www.gemsys.hu Tartalom Mi az NGP? Miért az 1.szegmensű fax gép a kiválasztott? Milyen funkciókat kínál az NGP-vel ellátott
Opensuse automatikus telepítése
Leírás www.npsh.hu Opensuse automatikus telepítése Tartalomjegyzék I. Automatikus telepítés indokai... 3 II. Automatikus telepítés lehetőségei opensuse rendszerrel...3 III. Automatikus telepítés előkészítése...
REGISZTRÁCIÓ RÉGEBBI TANFOLYAMON RÉSZT VETT HALLGATÓK BEJELENTKEZÉS UTÁN JELENTKEZÉS TANFOLYAMRA GYAKRAN ISMÉTELT KÉRDÉSEK
REGISZTRÁCIÓ RÉGEBBI TANFOLYAMON RÉSZT VETT HALLGATÓK BEJELENTKEZÉS UTÁN JELENTKEZÉS TANFOLYAMRA GYAKRAN ISMÉTELT KÉRDÉSEK REGISZTRÁCIÓ Regisztrációra akkor van szükség, ha még nem volt nálunk semmilyen
HVK Adminisztrátori használati útmutató
HVK Adminisztrátori használati útmutató Tartalom felöltés, Hírek karbantartása A www.mvfportal.hu oldalon a bejelentkezést követően a rendszer a felhasználó jogosultsági besorolásának megfelelő nyitó oldalra
Rendszám felismerő rendszer általános működési leírás
Rendszám felismerő rendszer általános működési leírás Creativ Bartex Solution Kft. 2009. A rendszer funkciója A rendszer fő funkciója elsősorban parkolóházak gépkocsiforgalmának, ki és beléptetésének kényelmesebbé
CAMLAND Beruházás-megfigyelő
2016 CAMLAND Beruházás-megfigyelő Felhasználói útmutató Készítette: GeoVision Hungária Kft. Tartalomjegyzék Bevezető... 2 Bejelentkezés... 2 Vezérlőpult... 3 Kamera adatlap... 4 Nézetek kezelése... 6 Felhasználók...
WIN-TAX programrendszer frissítése
WIN-TAX programrendszer frissítése A WIN-TAX programrendszert a verzió érvényességének lejártakor illetve jelentősebb változás esetén (pl.: elkészült fejlesztések, munkahelyi hálózati szinkronitás miatt)
FELHASZNÁLÓI ÚTMUTATÓ A MOBIL BROKER KERESKEDÉSI FELÜLET HASZNÁLATÁHOZ
FELHASZNÁLÓI ÚTMUTATÓ A MOBIL BROKER KERESKEDÉSI FELÜLET HASZNÁLATÁHOZ TARTALOMJEGYZÉK 1. BELÉPÉS A MOBIL BROKER KERESKEDÉSI RENDSZERBE... 3 2. A MOBIL BROKER HASZNÁLATA... 3 3. MOBIL BROKER IPHONE ALKALMAZÁS...
Java-s Nyomtatványkitöltő Program Súgó
Java-s Nyomtatványkitöltő Program Súgó Hálózatos telepítés Windows és Linux operációs rendszereken A program nem használja a Registry-t. A program három könyvtárstruktúrát használ, melyek a következők:
GoWebeye Monitor Release 1.6.4 Üzenetküldés
GoWebeye Monitor Release 1.6.4 Üzenetküldés 1/10 Tartalom AZ ÜZENETVÁLTÁS MODUL... 3 AZ ÜZENETVÁLTÁS MODUL FUNKCIÓI... 3 AZ ÜZENETVÁLTÁS FOLYAMATA... 4 AZ ÜZENETVÁLTÁS MODUL FELÉPÍTÉSE ÉS HASZNÁLATA...
Használati utasítás.
Lotus Notes Naptár Windows telefonra Használati utasítás. Írta: Varga Róbert 1 http://www.robertwpapps.uw.hu Bevezetés: Ezt az alkalmazást a fejlesztő saját használatra írta a teljesség igénye nélkül.
KEZELÉSI ÚTMUTATÓ WIFI ADAPTER
KEZELÉSI ÚTMUTATÓ WIFI ADAPTER Köszönjük, hogy megvásárolta termékünket. Kérjük, hogy használat előtt figyelmesen olvassa el a kezelési útmutatóban leírtakat! HD-WIFI-2017_170501 1 FIGYELEM! A berendezést
NEPTUN MOBIL ALKALMAZÁS FELHASZNÁLÓI SEGÉDLET
NEPTUN MOBIL ALKALMAZÁS FELHASZNÁLÓI SEGÉDLET Felhasználói dokumentáció verzió 1.0 Budapest, 2015. Változáskezelés Verzió Dátum Változás Pont Cím Oldal Kiadás: 2015.07.05. Verzió: 1.6. Oldalszám: 2 / 12
LETÉTKEZELŐ NYILVÁNTARTÁSI RENDSZER
LETÉTKEZELŐ NYILVÁNTARTÁSI RENDSZER Felhasználói kézikönyv a területi adminisztrátorok számára 1.2 verzió 2015.május 14. Dokumentum adatlap Projekt/modul megnevezése: Magyar Ügyvédi Kamara Letétkezelő
Tisztelt Ügyfelünk! Tájékoztató az átállásról
OTP BANK NYRT. Tisztelt Ügyfelünk! Tájékoztató az átállásról Bankunk ügyfeleink folytonos szoftverhasználatát biztosító szempont alapján úgy döntött, hogy az új verziót (6.01-01) most nem a megszokott
DMS One Oktatási Portál Felhasználói segédlet. DMS One Zrt
DMS One Oktatási Portál Felhasználói segédlet DMS One Zrt. 2019. 1 Bevezetés A dokumentumban bemutatjuk a DMS One Oktatási Portál használatát. Regisztráció és bejelentkezés A DMS One Oktatási Portált a
Memeo Instant Backup Rövid útmutató. 1. lépés: Hozza létre ingyenes Memeo fiókját. 2. lépés: Csatlakoztassa a tárolóeszközt a számítógéphez
Bevezetés A Memeo Instant Backup egyszerű biztonsági másolási megoldás, mely nagy segítséget nyújt a bonyolult digitális világban. A Memeo Instant Backup automatikus módon, folyamatosan biztonsági másolatot
Google Cloud Print útmutató
Google Cloud Print útmutató 0 verzió HUN Megjegyzések meghatározása Ebben a Használati útmutatóban a megjegyzéseket végig a következő módon használjuk: A Megjegyzések útmutatással szolgálnak a különböző
A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program
A GeoEasy telepítése GeoEasy V2.05 Geodéziai Feldolgozó Program (c)digikom Kft. 1997-2008 Tartalomjegyzék Hardver, szoftver igények GeoEasy telepítése A hardverkulcs Hálózatos hardverkulcs A GeoEasy indítása
Operációs rendszerek. Tanmenet
Tanmenet TANMENET- Operációs rendszerek Témakörök Javasolt óraszám 1. Operációs rendszerek alapjai 2. Windows 2000 ismeretek- Munka a képernyőn 3. Windows 2000 ismeretek- A Start menü elemei 4. Windows
