Önálló laboratórium beszámoló BME-TMIT

Hasonló dokumentumok
VIRTUÁLIS GRAFFITI ÜZENETHAGYÓ RENDSZER

Dropbox - online fájltárolás és megosztás

AirPrint útmutató. A Használati útmutató a következő modellekre vonatkozik: MFC-J6520DW/J6720DW/J6920DW. 0 verzió HUN

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. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv

Felhasználói útmutató CVR mobil kliens, ios rendszerhez.

CAMLAND Beruházás-megfigyelő

Ez a felhasználói útmutató a következő modellekre vonatkozik:

Hiba bejelentés azonnal a helyszínről elvégezhető. Egységes bejelentési forma jön létre Követhető, dokumentált folyamat. Regisztráció.

Oszkar.com Android alkalmazás v1.2

Virtualoso Server szolgáltatás Virtuális szerver használati útmutató

ALKALMAZÁSOK ISMERTETÉSE

Magyar Nemzeti Bank - Elektronikus Rendszer Hitelesített Adatok Fogadásához ERA. Elektronikus aláírás - felhasználói dokumentáció


Thermo1 Graph. Felhasználói segédlet

Önálló laboratórium beszámoló BME-TTT

Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv

Hálózati betekint ő program telepítése mobil telefonra. Symbian. alarm shop. Windows mobile Android IPhone Blackberry

TESZ INTERNET ÉS KOMMUNIKÁCIÓ M7

PTE-PROXY VPN használata, könyvtári adatbázisok elérhetősége távolról

Belépés a GroupWise levelező rendszerbe az Internet felől

TERC V.I.P. hardverkulcs regisztráció

Kezdő lépések Microsoft Outlook

Netis Vezetékes ADSL2+, N Modem Router Gyors Telepítési Útmutató

Megjegyzés vezeték nélküli LAN felhasználóknak

AirPrint útmutató. 0 verzió HUN

Nokia N9 - MeeGo Harmattan bemutatkozik

Tájékoztató az 1.10-es labor használatához

AirPrint útmutató. 0 verzió HUN

Netis vezeték nélküli, N típusú, router

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows 7 operációs rendszer és Internet Explorer 9 verziójú böngésző esetén

Ingyenes DDNS beállítása MAZi DVR/NVR/IP eszközökön

Ez a Használati útmutató az alábbi modellekre vonatkozik:

Google Cloud Print útmutató

A telepítési útmutató tartalma

CIB Internet Bank asztali alkalmazás Hasznos tippek a telepítéshez és a használathoz Windows operációs rendszer esetén

Gyors üzembe helyezési kézikönyv

ContractTray program Leírás

Vodafone-os beállítások Android operációs rendszer esetében

AirPrint útmutató. B verzió HUN

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

NEPTUN MOBIL ALKALMAZÁS FELHASZNÁLÓI SEGÉDLET

ServiceTray program Leírás

FELHASZNÁLÓI KÉZIKÖNYV. WF-2322 Vezetéknélküli Hozzéférési Pont

Cikktípusok készítése a Xarayában

Felhasználói kézikönyv

TaxiLike használati bemutató Taxitársaságok és Taxisofőrök részére

KAMIONIRÁNYÍTÓ RENDSZER

EDInet Connector telepítési segédlet

Az internet az egész világot behálózó számítógép-hálózat.

ÁNYK53. Az Általános nyomtatványkitöltő (ÁNYK), a személyi jövedelemadó (SZJA) bevallás és kitöltési útmutató együttes telepítése

SSL VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

DebitTray program Leírás

Netis vezeték nélküli, N típusú Router Gyors Telepítési Útmutató

K&H token tanúsítvány megújítás

Gyors telepítési kézikönyv

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

Hiteles Elektronikus Postafiók

MŰSZAKI DOKUMENTÁCIÓ. Aleph WebOPAC elérhetővé tétele okostelefonon. Eötvös József Főiskola 6500 Baja, Szegedi út 2.

Egyetemi adatbázis nyilvántartása és weben

Oktatási cloud használata

Az autorizáció részletes leírása

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

AirPrint útmutató. Ez a dokumentáció a tintasugaras modellekre vonatkozik. 0 verzió HUN

AirPrint útmutató. A Használati útmutató a következő modellekre vonatkozik: DCP-J4120DW/MFC-J4420DW/J4620DW/ J5320DW/J5620DW/J5720DW.

FIR WEBMODUL ALKALMAZÁS DIÁKIGAZOLVÁNY IGÉNYLÉS

Felhasználói kézikönyv. Verzió: 1.01

Hiteles elektronikus postafiók Perkapu

Hozzávalók keresése és csatolása

Mikrobiológia MOODLE - gyakorló és vizsgarendszer használata az ELTE TTK Biológiai Intézet E- learning felületén

Geotechnika II. (NGB-SE005-2) Geo5 használat

beállítása Outlook kliensen. Magyar verzió 1.0

Opensuse automatikus telepítése

Testnevelési Egyetem VPN beállítása és használata

Felhasználói kézikönyv a WEB EDInet rendszer használatához

Internet alkamazások Készítette: Methos L. Müller Készült: 2010

KIRA. KIRA rendszer. Telepítési útmutató v1

Használati utasítás.

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows7 operációs rendszer és Internet Explorer 8-es verziójú böngésző esetén

A TERC VIP költségvetés-készítő program telepítése, Interneten keresztül, manuálisan

Tisztelt Telepítő! 2. Ellenőrizze, hogy a modul engedélyezve van-e: Szekció [382] Opció 5 (alternatív kommunikátor) BE.

web works hungary Rövid technikai tájékoztató a webhosting szolgáltatásról. (PLESK szerver)

GoWebeye Monitor Release Üzenetküldés

Gyakorlati vizsgatevékenység A

1. DVNAV letöltése és telepítése

Internetes böngésző fejlesztése a mobil OO világban

Közoktatási Statisztika Tájékoztató 2012/2013. Használati útmutató

Tisztelt Ügyfelünk! Változások a 6-os verzióhoz képest:

E-Freight beállítási segédlet

Sú gó az ASIR/PA IR Públikús felú lethez

A mobil alkalmazás. Felhasználói útmutató - Android

Gyors Telepítési Útmutató N típusú, Vezeték Nélküli, ADSL2+ Modem DL-4305, DL-4305D

Szülői modul. Belépés a TANINFORM rendszerbe. Főoldal

Easton420. Automata Telefon hangrögzítő. V 6.0 Telepítése Windows XP rendszerre

Hardver és szoftver követelmények

Mailvelope OpenPGP titkosítás webes levelezéshez

Átírás:

Önálló laboratórium beszámoló BME-TMIT Készítette: Gruber Kristóf Neptun-kód: YCN70J Szak: műszaki informatika Szakirány: Médiainformatika E-mail cím: gk@lka.hu Konzulens: Dr. Vida Rolland Email címe: vida@tmit.bme.hu Tanév: 2008/2009. 1. félév Téma címe: Virtuális Post-It A témán a félév során közösen dolgoztam Sik András Ferenc kollégámmal. Természetesen a munkának voltak közös fázisai, döntések, melyeket közösen kellett meghoznunk. A beszámolóban azonban teljes mértékben nyomon követhető az önállóan elvégzett munka. Feladat: A feladat célja egy elektronikus üzenőfal létrehozása, amely alkalmas un. virtuális post-it üzenetek fogadására és tárolására, személyre szabott megjelenítéssel. A konkrét megvalósítás egy kijelzőből (pl. LCD monitor) és vezetéknélküli hozzáférési képességekkel (Bluetooth, WiFi, infra) rendelkező PC-ből (vagy egyéb hasonló képességekkel rendelkező eszközből) áll. Az üzenetet hagyni kívánó, ill. az üzeneteket olvasni akaró felhasználó a platform elé állva hagyhat, ill. kaphat üzenetet. Üzenetek elhelyezése lehetséges minden vezetéknélküli hozzáférést támogató kézi eszközről (pl. okostelefon, PDA). Az üzenetek leolvasása a felhasználó azonosítása után történik majd. Lehetnek publikus, mindenkinek szóló üzenetek, vagy személyre szabott, virtuális post-it-ek is. A feladat szervesen kapcsolódik a TMIT kutatóinak a Mobil Innovációs Központ (MIK) keretein belül végzett munkájához. - 1-2008.12.12.

1. A laboratóriumi munka környezetének ismertetése, a munka előzményei és kiindulási állapota Bevezető/elméleti összefoglaló A feladat a közismert sárga, ragadós Post It cetlik elektronikus megvalósítása, kihasználva a technológia előnyeit. A célunk az volt, hogy egy adott helyre fixen beszerelhető gépen olyan szoftver-környezetet alakítsunk ki, amely alkalmas vezeték nélküli üzenettovábbításra több, a közelben tartózkodó felhasználónak, anélkül, hogy az üzenetet illetéktelenek megkapnák. A vezeték nélküli adatátviteli technológiák közül a Bluetooth-t választottuk, mivel ilyen kis méretű, igény szerint kialakuló hálózatok létrehozására ez a legalkalmasabb. A Bluetooth technológia segítségével lehetőségünk nyílt arra, hogy az eszköz, amire a programot írtuk, képes legyen érzékelni és a beregisztrált mobil eszközök alapján azonosítani is a közelben tartózkodó embereket, így ők csak a nekik címzett üzeneteket kapják meg. A munka állapota, készültségi foka a félév elején A félév során a kor ábbi Önálló laboratóriumi munkánkat folytattuk, melyet a 2007/2008. tanév 1. félévében kezdtünk el. Az előző félévekhez hasonlóan továbbra sem rendelkeztünk azonban semmilyen írásos segédanyaggal, ezért csupán az általunk korábban összegyűjtött, és újonnan szerzett Internetes dokumentációkra hagyatkozhattunk. A korábbi félévek során először lefektettük a projekt követelményeit, beszereztük a hardvereket, majd elkezdtük a programozást. Az előző félév végére a program képes volt Bluetooth-on keresztül üzeneteket küldeni és fogadni, valamint egy, a kijelzőn megjelenő grafikus felület segítségével lehetőség volt jelszavas authentikáció után a rendszerben lévő üzenetek megtekintésére, tehát teljesítette a laboratórium feladatkiírásában foglaltakat. A 2007/2008 év 2. félévi munka eredményeiről egy beszámoló is készült a MIK (Mobil Innovációs Központ) számára. A program az előző félév végén tehát képes volt: üzenetek fogadására és kézbesítésére; grafikus felület megjelenítésére; jelszavas authentikációra; egy adott felhasználó üzeneteinek megjelenítésére; a közelben lévő felhasználók azonosítására. A virtuális üzenetek tehát már személyre szabhatóak voltak, megtekintésük felhasználói jogosultságok által került szabályozásra, ezáltal csupán a címzettek olvashatták el a nekik szóló üzeneteket. Az üzenőfalat futtató eszközön hagyott üzenetek helyhez kötöttek voltak, tehát a címzettek csupán akkor kapták meg a nekik szóló üzeneteket, mikor az tényleg érdekelhette őket, tehát amikor az eszköz közelében voltak. Az így kézbesíthető üzenetek száma és hossza pedig a hagyományos papír alapú megvalósítással ellentétben lényegesen nagyobb volt. - 2-2008.12.12.

Az idei félév során az előző évi tervekkel összhangban a már meglévő funkcionalitás bővítését, színesítését tűztük ki célul, megpróbálva lehetővé tenni az üzenőfalhoz való hatékonyabb, és nagyobb mértékű hozzáférést, valamint annak széleskörűbb felhasználását. Ez a program logikájának, a grafikus felület funkcióinak bővítését, a támogatott üzenetformátumok számának növelését, valamint a távoli web alapú hozzáférés lehetővé tételét jelentette. 2. Az elvégzett munka és eredmények ismertetése Áttérés Nokia N810-re A félév első felében sikerült beszereznünk a korábban használt Nokia 770-es Internet Tablet helyett egy Nokia N810[1] típusú készüléket (1. ábra), melyre a 770-es több hibája és hiányossága 1 miatt volt szükség. Az N810-et két évvel a 770-es modell után dobta piacra a Nokia, így szinte mindenben jóval fejlettebb elődjénél. A hibajavításokon kívül az N810-es rendelkezik beépített billentyűzettel is, mely igen hasznos az üzenetek írásához, valamint beépített kamerával, mellyel lehetőség nyílik képek, illetve videók felvételére is. Operéciós rendszere az IT OS 2008[2], mely a Debian Linux egy mobil eszközökre optimalizált változata. A 2008-as verzió rengeteg hibajavítást hozott az általunk korábban használt 2006- oshoz képest, mellyel a programunk futása gyakran indokolatlanul megszakadt. A 2008-as verizó más alapértelmezett konfigurációban érkezik, így először meg kellett vizsgálnunk, hogy a projekthez korábban kellő csomagok szükségesek-e N810-en is, amennyiben igen, akkor megfelelően működnek-e az eszközön. 1. ábra: A Nokia N810 Az operációs rendszer immár alapból tartalmaz OBEX (Object Exchange, a Bluetooth fájlküldésre alkalmas egyik protokollja) szervert, így a sobexsrv[3] telepítése a továbbiakban 1 A Nokia 770-hez készült fejlesztői környezete eléggé fejletlen, így kénytelenek voltunk előre elkészített programcsomagok használatára szorítkozni, melyek közül sok nem volt elérhető a már kifutó szériának számító Nokia 770-re. Több rendszerkomponens (pl. GTK+ felület) szintén komoly, a program futását hátráltató hibákkal rendelkezett. Nem volt megoldott a Bluetooth stabil rendszerszintű kezelése, valamint a WiFi kapcsolatok problémamentes használata sem. Az újabb operációs rendszer verziók nem támogatják már ezt a modellt. - 3-2008.12.12.

nem szükséges külön, mindössze a beállításait kell módosítanunk, hogy a számunkra elvárt működést érjük el. Ehhez konkrétan a /etc/init.d/obexsrv fájl 28. sorát kell átírnunk a következőről: dsmetool -n -1 $USER_FLAGS -t "$DAEMON -l $DAEMON_OPTS" a következőre: dsmetool -n -1 $USER_FLAGS -t "$DAEMON -l $DAEMON_OPTS -r /virtualpostit/receive" Az Nokia 770-nel ellentétben N810-re elérhető az ussp-push[4] nevű program egy működő verziója, mely segítségével a sok (főleg régebbi) telefon által nem támogatott OBEX FTP protokoll helyett OBEX push protokollon keresztül tudjuk kézbesíteni az üzeneteket Bluetooh-on. (A kettő közti különbség abban rejlik, hogy az OBEX push protokoll nem teszi lehetővé a telefonon lévő fájlok böngészését, így kisebb a biztonsági igénye, emiatt pedig gyakran nem szükséges párosítanunk a telefont az üzenőfal rendszerével.) Nem kapott helyet viszont az alap konfigurációban a hcitool nevű program, mely Bluetooth eszközökkel kapcsolatos alapvető feladatok elvégzésére használható, s melyet a projektünk aktívan felhasznál. Ezt az irodalomjegyzékben megtalálható címről tölthetjük le[5]. Hibák javítása Az N810-el való ismerkedés után következő feladatként a program ismert hibáit javítottam ki. A program több párhuzamosan futó szál összessége, melyek bizonyos helyzetekben problémát okoztak, tipikusan a GTK+ alapú grafikus felület hibát generált és a program futását megszakította, ha a grafikus felület egy-egy eleméhez több szál is közel egyszerre próbált hozzáférni (pl. gombok megjelenítése). A problémát úgy oldottam meg, hogy egyrészt korlátoztam az egyszerre nyitva lévő ablakok számát egyre (mivel az épp háttérben lévő ablakok az IT OS felületén úgysem láthatóak a teljes képernyőt befedő ablakok miatt), másrészt szemafórokat vezettem be a GUI (Graphical User Interface - grafikus felhasználói felület) módosításáért felelős részekhez, mely szemafórok segítégével egyszerre nem tud több szál hozzáérni ugyanazon objektumokhoz, ezzel elkerülve a problémát. Eddig nehézkes volt a program leállítása pont a korábban leírt több aktív szál használata miatt. Ezen dolgozva módosítottam a szálakat úgy, hogy azok a főprogramból való kilépés során maguk is leálljanak mindenképpen. A program által használt ablakok nem mindegyikében volt lekezelve a kilépés esemény, ennek korrekt implementálását szintén megoldottam. A program indítására lehetőség van parancssorból és a GUI-n menüből, egy ikont kiválasztva is. Ez utóbbi esetben viszont nem működött minden funkció tökéletesen, mivel ikonról indítva a program más felhasználóként futott. A problémát az indító shell script módosításával oldottam meg, mely ezentúl a program fájlrendszerben elfoglalt pozícióját egy - 4-2008.12.12.

shell változóból olvassa ki, ezzel lehetővé téve, szemben a korábbi beleégetett megoldásokkal, hogy a programot bárhová elhelyezhessük a háttértárolón. Ezzel egyidejűleg a könnyebb használhatóság kedvéért átmozgattam a projektet a fájlrendszer gyökerébe, így annak elérési útja alapértelmezésként ezentúl /virtualpostit. A grafikus felület fejlesztése Sok időt töltöttem a grafikus felület finomításával, hatékonyabbá, szebbé tételével. A korábbi esetleges gombelhelyezéseket felváltottam egy szisztematikus rendszerrel, melyben sokkal magától értetődőbb a programban való navigáció. A programban bal oldalt foglal helyet a menüsáv, melyben a Virtual Post-It ikon, valamint az éppen elérhető főbb funkciók (pl. felhasználó hozzáadása) kapnak helyet. A jobb oldali, nagyobb rész az aktuális feladat elvégzéséhez szükséges eszközöket tartalmazza (pl. rádió gombok, melyekkel választhatunk a felhasználók közül). E panel részeként jobb oldalt egy nagy méretű gomb szolgál az aktuális adatok elfogadására, a következő lépésre, illetőleg a funkció befejezésére. A navigációt megkönnyítik a folyamatban oda-vissza mozgást szimbolizáló «és» nyilak a gombok feliratai előtt, ill. után. ( Login» ). A logikailag összetartozó információkat csoportokba foglaltam (2. ábra), melyeket egy címkével ellátott keret szimbolizál (pl. Users az eszköz nélküli bejelentkezésnél). Amennyiben szükséges, a funkció rövid szöveges leírását megtalálhatjuk a keret felett. A jelszavas bejelentkezés sikertelenségét ezentúl egy felbukkanó üzenet jelzi, így segítve a felhasználót a hiba azonnali felismerésében. A bejelentkezett felhasználók üzeneteinek megjelenítését a Post-It note-okhoz illően átállítottam sárga színűre, valamint nagyobb, olvashatóbb betűtípussal jelenítettem meg. Az új üzenet írása ablakot (3. ábra) szintén letisztultabb formára hoztam, nagyobb, jobban látható betűméretet állítottam be hozzá, valamint nagyobb szövegbeviteli mezőt készítettem rá. A grafikus felület ezentúl több visszajelzést ad a Bluetooth kézbesítésért felelős modell rész működéséről: A logó alatti státusz üzenetben nemcsak a Bluetooth eszközök keresése, hanem az üzenetek kézbesítése, illetve a beérkező üzenetek feldolgozása is megjelenik. 2. ábra: Üzenet írása a grafikus felületen - 5-2008.12.12.

A webes felület előkészítése 3. ábra: Üzenet címzettjének kiválasztása A webes felület elkészítése már a hetedik féléves Önálló labor tárgyunk beszámolójának jövőbeli feljesztési lehetőségek részében is említésre került, mint fontos stádiuma a projektnek. A felület tényleges megvalósítását a videó üzenetküldést kivéve teljes egészében én végeztem el. Elkészültével az üzenőfal immár nem csak annak közvetlen környezetéből használható (Bluetooth hatósugáron belül vezeték nélkül, illetve az eszköz kijelzőjét használva), hanem elméletileg bárhonnan, ahol elérhető az Internet. Hasznosságát legjobban egy példa szituációval tudnám jellemezni: Az iroda tulajdonosa, akinek az ajtajára fel van szerelve az üzenőfal, reggelre egy találkozót beszél meg két kollegájával, melyre viszont nem tud időben odaérni, mivel eladkad a reggeli csúcsforgalomban. Ekkor mobiltelefonja segítségével a webes felületen át bejelentkezve lehetősége nyílik kollégáinak egy üzenet küldésére, melyet azok akkor kapnak csak meg, ha tényleg keresnék őt, vagyis az üzenőfal közelében tartózkodnak. Ugyanígy lehetősége nyílik a dugóban veszteglő munkatársnak saját üzenetei ellenőrzésére is, melyeket azok küldhettek neki, akik keresték. A felület elkészítését előzetes ismereteim, valamint célszerűsége és a feladatra alkalmassága miatt PHP[6] (rekurzív rövidítés: PHP: Hypertext Preprocessor, PHP hiperszöveg előfeldolgozó) nyelven szerettem volna kivitelezni. Lehetőség lett volna arra is, hogy a már meglévő Python programkódot bővítsük ki olymódon, hogy képes legyen webszerverként működni, azonban a HTTP protokoll[7] ily kis részének implementálását is feleslegesnek éreztem, mivel hála az N810 Linux alapú operációs rendszerének könnyedén alkalmazhattam már kész webszerver megoldásokat a weboldalak kialakítására sokkal célszerűbb PHP nyelven írva azokat. Az üzenőfal programozásakor kezdetektől szem előtt tartottuk, hogy a Model-View- Controller architektúrának megfelelően építsük fel a programot, valamint számoltunk a webes felület elkészítésének kérdéseivel is, így az adatok megosztása a webes és a Python nyelven írt natív program között egyszerűen, közös adatfájlok használatával megvalósítható. - 6-2008.12.12.

Első lépésként webszervert kellett telepíteni az N810-re. Az alap repository 2 -k mind Apache 2[8], mind pedig lighttpd[9] webszervereket kínálnak, azonban ezek egyike sincs felkészítve PHP oldalak kiszolgálására 3. Egy internetes fórum[10] felkersése vezetett eredményre, ahol egy működő lighttpd webszervert és egy 5.2.5-ös verziójú PHP értelmezőt találtam. A PHP sajnos nem felelt meg teljes mértékig az igényeimnek, mivel nem tartalmazott iconv támogatást[11], mely karakterkészlet-konverziók elvégzésére való. Fel kellett tehát telepítenem a Nokia N810-hez készült Maemo SDK fejlesztői környezetet, amire egy Ubuntu Linux 6.04-et futtató virtuális gépen került sor. A fejlesztői környezet ismertetésétől most eltekintenék, mert az magában bőven meghaladja jelen beszámoló kereteit. Letöltöttem a legújabb PHP forráskódját[12], és egy a fejlesztő környezet működését ismertető leírás[13] alapján a korábban említett csomag fordítási paramétereit az alábbiakra változtatva lefordítottam: './configure' '--enable-shared' '--disable-static' '--disable-rpath' '--disable-debug' '--without-pear' '--enable-spl' '--with-config-file-path=/etc' ' - - d i s a b l e - i p v 6 ' ' - - e n a b l e - m a g i c - q u o t e s ' ' - - e n a b l e - m e m o r y - l i m i t ' '--disable-short-tags' '--disable-ctype' '--disable-dom' '--enable-ftp=shared' '--without-gettext' '--enable-libxml' '--with-zlib=shared' '--without-libxml-dir' ' - - d i s a b l e - x m l r e a d e r ' ' - - d i s a b l e - x m l w r i t e r ' ' - - d i s a b l e - m b s t r i n g ' '--disable-mbregex' '--enable-simplexml' '--enable-session' '--disable-soap' '--enable-sockets=shared' '--disable-tokenizer' '--disable-filter' '--without-curl' '--without-gd' '--without-gmp' '--without-ldap' '--without-mysql' '--without-pgsql' '--with-sqlite' '--enable-xml=shared' '--disable-xmlreader' '--disable-xmlwriter' '--disable-apc' '--enable-pcntl=shared' '--enable-pdo' '--disable-cli' '--enable-cgi' '--enable-force-cgi-redirect' '--disable-fastcgi' A csomagban kapott PHP fordítási paramétereit csak a --without-iconv opció eltávolításában módosítottam. A sikeres fordítás eredményeként létrejött fájlokat felmásoltam az N810-re. A felület működése A webes felület az N810 80-as portján elérhető. Ebből fakadóan célszerű az eszköz 80- as portját valamilyen módon (pl. port átirányítással) az intézményen kívülről is elérhetővé tenni, hogy a dolgozók távolról is csatlakozhassanak rá. Alternatív lehetőségként esetleg VPN (Virtual Private Networking, virtuális magánhálózat) technológia használatával megvalósítható az eszköz Internetről történő elérése. (Ez esetben azonban indokolatlanul leszűkítenénk a bejelentkezésre alkalmas mobiltelefonok körét, mivel manapság még nagyon kevés eszköz támogatja a VPN-t.) Az eszköz IP címét vagy host nevét beírva a felhasználó az 4. ábrán látható bejelentkező képernyőhöz jut. 2 Repository: többnyire Linux-os programgyűjtemény megnevezése, mely ún. csomagkezelőkkel (mint pl. az apt vagy a yum) használható. Ezek segítségével egyszerűen telepíthetőek akár több más csomag szolgáltatásaira is építő új alkalmazások, mert képesek ezen függőségeket automatikusan telepíteni a kiválasztott alkalmazással együtt. 3 A PHP értelmező használata vagy egy fastcgi nevű modulon, vagy pedig saját PHP modulon keresztül történhet. Ezek egyike sem elérhető a repository-kban fellelhető webszerverekhez. - 7-2008.12.12.

4. ábra: A bejelentkező képernyő A felhasználói név (User name) és jelszó (Password) megadása után lehetőségünk van a Stay logged in bepipálásával jelezni a rendszer számára, hogy ne jelentkeztessen ki két használat között, ami pl. egy autós használat esetén kifejezetten előnyös lehet. Belépés után hasonlóan a grafikus felülethez a felhasználó üzenetlistájához jutunk (5. ábra). Amennyiben nincsen üzenet a rendszerben a felhasználó számára, a táblázat egyetlen, No messages for «felhasználói név» sort fog csak tartalmazni. A kilistázott üzeneteknek megjelenítésre kerül a címzettje (Recipient(s)) és az üzenet szövege (Message). Minden üzenet mellett megjelenik egy Delete link, ami az üzenet törlésére szolgál. Amennyiben egy üzenetnek több címzettje is van, csupán az aktuális felhasználó fog törlődni a címzettek listájáról; a többi felhasználó továbbra is láthatja az üzenetet, amíg ők nem törlik azt. A címsor alatt található a bejelentkezett felhasználó neve, egy kilépésre (logout) szolgáló, valamint az új üzenet írására használható New Message feliratú link. Kilépés esetén törlődik a megjegyeztetett felhasználói név és jelszó. - 8-2008.12.12.

5. ábra: Az üzenetek listája Az új üzenet írása (6. ábra) nagyon hasonló a grafikus felületen megvalósítotthoz. Megadhatjuk a címzetteket a rendszerbe beregisztrált emberek közül egyenként (Recipient users) vagy csoportosan (Recipient groups). Az üzenet szövege praktikusan bármilyen hosszú lehet, azonban a legtöbb telefon csak párszáz karakteres jegyzeteket képes kezelni, valamint a grafikus felület is csak kb. 3 sort képes megjeleníteni, így érdemes tömören fogalmazni. Az üzenet feladójának tárolása egyelőre nincs implementálva, így célszerű azt aláírni. Megadható a Delete after delivery jelölőnégyzetének bepipálásával, hogy az üzenet az összes címzettnek való kézbesítés után automatikusan törlődjön a rendszerből. A kész üzenet a Send gombra kattintva küldhető el, illetve a Cancel linket választva vethető el. - 9-2008.12.12.

6. ábra: Új üzenet írása A felület megvalósítása A webes felület az eszközön a /wwwphp könyvtárban foglal helyet és a következő fájlokból áll: config.php konfigurációs beállítások, pl. karakterkészlet beállítása footer.php a HTML sablon 4 alsó része getfile.php egy videó biztonságos visszaadására szolgáló kódrészlet header.php a HTML sablon felső rész index.php egy útválasztó, mely a program aktuális állapotától függően a megfelelő művelet végrehajtását kezdeményezi 4 A kód HTML sablonokat használ a megjelenítésre, így megkönnyítve a jövőbeli fejlesztéseket, a több aldolal egységes kinézetének elérését, valamint ezen kinézet esetleges lecserélését. - 10-2008.12.12.

menu.php a HTML sablon menü részét tartalmazó fájl (kijelentkezés, név) play.php a videó üzenetek lejátszásáért felelős rész style.css a megjelenítés tulajdonságait leíró stíluslap virtualpostit.php a webes felület fő funkcióit megvalósító kód A program az m (mode) HTTP GET paraméter 5 értékétől függően különböző akciókat hajthat végre. Ezen akciók jelenleg a következőek: addform Az új üzenet írása oldal megjelenítésea add megírt, és paraméterül kapott üzenet elküldése del megadott azonosítójú üzenet törlése logout kiléptetés list üzenetek listázása loginchk kitöltött belépési adatok ellenőrzése ill. default beléptető oldal megjelenítése Az index.php ezen esetek bekövetkezésekor a virtualpostit.php függvényeit hívja meg. Ezek nagyjából megegyeznek az előbb leírt akciókkal. A fáljban néhány segédfüggvény is található, melyek részletezésétől eltekintek, mivel azok a PHP kommentekkel elegendő mértékben dokumentálva vannak. A bejelentkezés a következőképpen zajlik: minden alkalommal, amikor a felhasználó belép.egy új un. session[14] jön létre, ami a felhasználó egy alkalommal elvégzett akcióinak összességét foglalja magába. A session tartalmazhat változókat, amiket a szerver automatikusan átvisz a lekért oldalak között. A session addig tart, amíg a felhasználó bezárja a böngészőjét. Mi a felhasználói nevet tároljuk el egy session-ben, amivel egyben jelezzük, hogy a felhasználó már belépett, nincs szükség a beléptető oldal újbóli megjelenítésére. Lehetőség van ezen beléptetett állapot állandósítására is, amennyiben az belépéskor bejelölte a Stay logged in jelölőnégyzetet. Ezt a rendszer úgy éri el, hogy egy sütit [15] tárol el a felhasználó számítógépén vagy telefonján a felhasználói névvel és jelszóval. Amennyiben bejelentkezésekor rendelkezésre állnak ezen információk, úgy azok ellenőrzésre kerülnek, és ha helyesnek bizonyultak, nem lesz megjelenítve a beléptető oldal, hanem egyből eltárolódik egy session változóban a felhasználó neve. A süti egy évig érvényes, utána magától törlődik a felhasználó böngészőjéből. Az üzenetek kezelése a fájlrendszerben tárolt, pontosabban a /virtualpostit/messages könyvtárban lévő fájlok beolvasásával, ill. írásával történik. Ugyanezen fájlokat használja a Python program is, így amennyiben pl. egy új üzenet kerül tárolásra ezen könyvtárba, az azonnal megjelenik a grafikus felületen is. Az üzenetek formátumának leírása megtalálható a 8. féléves Önálló labor beszámolómban. Hasonlóan az üzenetekhez, a felhasználók és a csoportok kezelése is a fájlrendszerben lévő fájlok segítségével, a Python programmal megosztottan történik. Ezen fájlok elérési útvonalai: /virtualpostit/users (felhasználók), ill. /virtualpostit/groups (csoportok). 5 PHP oldalak egymás közti adatcseréjének a két fő módja a GET és a POST típusú paraméterátadás. Míg az előbbi az URL-ben látható, az utóbbi csak a HTTP fejlécekbe kerül bele és az egyszerű felhasználó számára láthatatlan. - 11-2008.12.12.

Összefoglalás E félévi munkám során a kitűzött célunk a videó üzenetküldés megvalósítása, valamint a webes felület elkészítése volt. Sik András kollégám az előbbi problémával foglalkozott, én pedig az utóbbival. A félév végére sikeresen teljesítettem a kitűzött célt, a webes felület teljes és működőképes. Az általam elvégzett munka tételesen felsorolva: Ismerkedés a Nokia N810-zel, a szoftverkörnyezet felmérése A működés pár nagyobb hibájának kijavítása (kilépéssel, szálkezeléssel kapcsolatos hibák) A grafikus felület fejlesztése Webszerver telepítése és beüzemelése Maemo SDK fejlesztői környezet feltelepítése és beüzemelése PHP értelmező fordítása, majd beüzemelése Webes felület elkészítése (bejelentkezés, üzenet listázás, üzenethagyás, üzenet törlés) - 12-2008.12.12.

3. Irodalom, és csatlakozó dokumentumok jegyzéke A tanulmányozott irodalom jegyzéke: [1] Nokia N810, http://www.nseries.com/products/n810, 2008. szeptember 5. [2] Nokia Europe - Nokia N810 - OS 2008 features, http://europe.nokia.com/a4579471, 2008. szeptember 5. [3] sobexsrv - Scripting/Secure OBEX Server (for BlueZ Linux), http://www.mulliner.org/bluetooth/sobexsrv.php, 2008. május [4] ussp-push Home Page, http://www.xmailserver.org/ussp-push.html, 2008. május [5] Bluez-Utils for ARMEL, http://repository.maemo.org/pool/chinook/free/b/bluez-utils/, 2008. szeptember 18. [6] PHP: Hypertext Preprocessor, http://www.php.net, 2008. október 17. [7] Hypertext Transfer Protocol -- HTTP/1.1, http://tools.ietf.org/html/rfc2068, 2008. október 15. [8] Apache HTTP Server Project, http://httpd.apache.org/, 2008. október 17. [9] lighttpd - fly light, http://www.lighttpd.net/, 2008. október 17. [10] Internet Tablet Talk Forums, http://www.internettablettalk.com/forums/showpost.php?p=235084&postcount=19, 2008. november 12. [11] PHP: iconv - Manual, http://hu.php.net/manual/en/book.iconv.php, 2008. október 18. [12] PHP: Downloads, http://hu.php.net/downloads.php, 2008. október 18. [13] maemo SDK+ - Installation Instructions, http://maemo-sdk.garage.maemo.org/install-ubuntu.html, 2008. október 18. [14] PHP: Sessions - Manual, http://hu.php.net/manual/en/book.session.php, 2008. október 22. [15] PHP: Cookies - Manual, http://hu.php.net/manual/en/features.cookies.php, 2008. október 22. - 13-2008.12.12.

Csatlakozó egyéb elkészült dokumentációk / fájlok / stb. jegyzéke: A projekt során létrehozott összes forráskód elérhető az alábbi címen: http://virtualpostit.unfuddle.com/projects/27574/ A Virtuális Post-It program egyes funkcióinak bővebb dokumentációja megtekinthető 2008/2009 1. félévében beadott TDK dolgozatunkban: Gruber Kristóf, Sik András Ferenc: Intelligens környezet, intelligens iroda virtuális üzenőfal megvalósítása, http://www.lka.hu/home/gk/old2/down/tdk2008.pdf - 14-2008.12.12.