Návrh a vývoj aplikace pro monitorování polohy - Kovář, Petr (Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií, 2009)
Cílem diplomové práce bylo vytvořit v jazyce C++ softwarové řešení lokalizace mobilního telefonu s OS Symbian v síti GSM. Jako využití bylo zamýšleno především zjištění polohy telefonu v případě jeho krádeže či ztráty. Samotné realizaci předcházelo seznámení s procesem vývoje pro platformu Symbian a získání znalostí potřebných prvků a vlastností symbianovské verze jazyka C++, která se z důvodu odlišných možností mobilních zařízení oproti osobním počítačům vyznačuje svébytným stylem a odlišnou filozofií práce s pamětí a přístupu k chybám. Popisu základních principů Symbian C++ a oblastí využitých v programu je věnována druhá kapitola textové části diplomové práce. První kapitola pojednává o historii a členění OS Symbian. Poslední část textu popisuje vytvořený software. Realizovaný systém se skládá ze 3 částí - serveru PhoneLocServer běžícího v mobilním telefonu, klientské aplikace PhoneLocClient pro PC a části umístěné na webovém serveru. Server byl vyvinut pro OS Symbian v jazyce C++ ve freewarovém vývojovém prostředí Carbide.c++, testován v emulátoru S60 3rd edition SDK MR a na reálném zařízení Nokia N73. Jde o aplikaci bez grafického rozhraní, běžící na pozadí, spouštěnou automaticky po zapnutí přístroje. Pomocí sledování soketu kontroluje příchozí SMS a pokud se jedná o řídicí zprávy určené pro něj, jsou zpracovány, aniž by uživatel věděl o jejich příchodu. Řídicí SMS obsahují prefix, podle něhož jsou rozeznány, heslo, hodnotu periody odesílání a stav, do kterého má aplikace přejít. Po přijetí řídicí SMS dojde k ověření jejího odesílatele pomocí jeho telefonního čísla a zadaného hesla. Tyto údaje jsou porovnány s daty uloženými pro dané IMEI na webovém serveru. Pokud ověřovací údaje souhlasí, je spuštěn časovač s požadovanou periodou. Na odezvu časovače jsou pak zjišťovaná data přenášena pomocí protokolu HTTP na webový server. Pro určení polohy telefonu je použita lokalizační metoda „Cell ID“. Uživatel klienta po žádosti o spuštění načítaní dat zadá heslo a IMEI telefonu, který chce sledovat. Tyto údaje jsou opět vyhodnoceny s pomocí webového serveru. Jsou-li zadané autentizační údaje správné, dojde k určení periody zasílání dat z prvního staženého souboru a klient pak periodicky načítá data z webového serveru do doby, než zjistí, že odesílání bylo zastaveno nebo do zastavení provedeného uživatelem klienta. Klient byl vyvinut v jazyce C++ v prostředí C++ Builder. Jde o aplikaci spustitelnou pod OS Windows, která vyžaduje pro správnou funkci připojení k internetu. Webový server zprostředkovává komunikaci mezi klientem a serverem a uchovává data pro autentizaci, pomocí jednoduchého skriptu v PHP pak umožňuje upload ze strany aplikace serveru. Pro zvýšení bezpečnosti jsou u všech používaných složek na webovém prostoru navíc vloženy soubory .htaccess s patřičným nastavením umožňující např. zákaz prohlížení obsahu daných adresářů v prohlížeči.

The aim of the master’s thesis was to implement in the C++ language a software solution of the localization of the mobile phone with Symbian OS in the GSM network. The intended purpose of this solution would be especially the phone localization in the case of its theft or loss. A familiarization with the development process of the Symbian platform and understanding the features of the Symbian version of the C++ language preceded the realization itself, because the Symbian C++ has an original style of the memory manipulation and error handling. The Symbian C++ basic principles and its features used in the implemented software are described in the second chapter of the text part, the first chapter deals with the history and version structuring of the Symbian OS. In the third part of the text is described the created software. The realized solution consists of three parts – server application PhoneLocServer for a mobile device, client application PhoneLocClient for a PC and the web-located part. The server was developed for the Symbian OS in the C++ language in the IDE Carbide.c++ and was tested in the S60 3rd edition SDK MR emulator and on the real device Nokia N73. It is a GUI-less application running in the background, which is run automatically after a smartphone start-up. It controls the incoming SMS over the socket listening and the messages addressed to itself processes before a user can notice them. The control messages body is comprised of a prefix, which identifies them, a password, a sending period value and a state to which application should change. After the receiving of the control SMS server verifies the SMS sender through the use of his telephone number and the password. It compares these values with the data stored for the given IMEI on the web server. If the verification succeeds, the server runs a timer with the period known from the control SMS and on the callback of this timer are transferred the data describing current phone location and state via HTTP protocol to the web server. The GSM localization method “Cell ID” is used for the location determination. After the client user asks for the start of loading the data, he must answer the password and the observed phone’s IMEI and he is verified through the use of the web server again. If the verification succeeds, the periodic download of the server data starts and from the first downloaded file is found out the upload period. Download then continues till the time the client detects the end of sending by the server part or till the client user stops the download himself. The client was developed in the C++ language in the C++ Builder environment. It requires a Windows OS and internet connection for its right function. The web server mediates communication between the server and the client, stores the data for user verification and makes possible the server-side upload by the help of a simple PHP script. In all the used web server directories is present the .htaccess file to improve its security, e.g. it denies the directory listing in a web browser.
Design and development of application for position monitoring
Keywords: Symbian; Symbian C++; Nokia; Carbide; GSM lokalizace; Cell ID; Symbian; Symbian C++; Nokia; Carbide; GSM localization; Cell ID