Zakład Projektowania i Diagnostyki Systemów

INSTRUKCJA OBSŁUGI PROGRAMU

NokiaExplorer 1.0 PL

Autor: Adrian Olszewski
UŚ / WINOM / IV INF / ZPiDS

Prowadzący:........................ Ocena: ........................

Dokumentację wykonano w pakiecie OpenOffice.org 1.1.0 pl

Program NokiaExplorer jest częścią dużego projektu, który oparłem na interface programowym dla telefonów Nokia GAMMU, autorstwa pana Marcina Wiącka Interface GAMMU jest zbiorem kilkuset procedur, funkcji, struktur, które służą do komunikacji z telefonami firmy Nokia. Zestaw plików źródłowych może być wykorzystany do zbudowania aplikacji konsolowej (gammu.exe), biblioteki DLL (mój projekt) lub włączony do własnego projektu w formie źródłowej. Należy jedynie pamiętać o ograniczeniach licencji GPL, z której korzystają źródła GAMMU. Zdecydowałem się napisać pełnofunkcjonalną aplikację wykorzystującą GUI, czyli graficzny („okienkowy”) interface użytkownika. Ponieważ korzystam z platformy .NET, program jest przenaszalny między różnymi systemami operacyjnymi (podobnie, jak w przypadku programów pisanych w języku Java). Tego typu pakietów jest w sieci bardzo mało najczęściej są one płatne i bardzo drogie. Programy dostarczane przez producentów telefonu są z kolei często ubogie w funkcje. Aplikacja konsolowa nie jest niestety zbyt wygodna, więc postanowiłem przerobić nieco projekt p. Marcina Wiącka do swoich potrzeb, skompilować go do postaci biblioteki DLL i powiązać ją z GUI. Tak mniej więcej wygląda geneza programu NokiaExplorer (dalej NE). Program NE jest we wczesnej fazie developerskiej i czasem generuje błędy. Jednak dzięki zastosowaniu platformy .NET wiele z tych błędów może być „zignorowanych” w czasie normalnej pracy z programem (przycisk „continue” lub w polskiej wersji biblioteki .NET Residistributables „kontynuuj”). Ze względu na swój status, program nie posiada jeszcze wykończonej szaty graficznej – będzie ona także optymalizowana pod kątem wygody korzystania z różnych elementów interface'u. Podstawowym moim zamierzeniem jest przenieść każdy element funkcjonalności interface GAMMU do programu NE. Niestety, prace posuwają się bardzo wolno, ponieważ muszę przerobić aplikację konsolową na aplikację systemu okienkowego. Podstawowa funkcjonalność, jaką zdążyłem zaimplementować prezentuje się następująco:

• • • • • • • • • • •

autokonfiguracja – przy pierwszym uruchomieniu program skanuje porty COM/IrDA w poszukiwaniu podpiętego doń telefonu komórkowego, określa typ medium transmisyjnego (rodzaj kabla: FBUS/ M2BUS/ DLR3 lub port podczerwieni IrDA) i model przyłączonego telefonu identyfikacja telefonu (numer IMEI, data produkcji telefonu, wersja hardware i firmware, status SIMLOCK) wyświetlenie parametrów ładowania telefonu (parametry szczegółowe, takie jak prąd ładowania, liczba mAh, które zostały już naładowane, typ oraz wiek akumulatora – {LiION, NiMH}, etc.) wykonanie samotestowania telefonu i wyświetlenie wyników w przystępnej dla użytkownika postaci test alarmu wibracyjnego wyświetlenie interesujących testów tzw. NetMonitora (opis NetMonitora dla Nokii 3310 w załączeniu na płycie CD w katalogu \Dodatki) Wybieranie numerów telefonu, nawiązywanie połączeń i ich kończenie za pomocą wirtualnej klawiatury telefonu (skan mojego telefonu Nokia 3330) lub za pomocą klawiatury numerycznej Nawiązywanie połączeń określonego dnia o określonej godzinie Wybieranie kodów DTMF za pomocą klawiatury numerycznej i wysyłanie ich określonego dnia o określonej godzinie Synchronizacja zegara RTC z zegarem komputera PC Ręczne ustawienie zegara RTC w telefonie Ustawienie budzika w telefonie

sterowanie telefonem z klawiatury lub za pomocą myszy (przekazywanie do telefonu odpowiednich sekwencji daje taki sam efekt jak fizyczne naciskanie klawiszy telefonu). Dzięki temu można nie tylko sterować telefonem z uszkodzoną klawiaturą, lub znajdującym się daleko od użytkownika (na długość kabla ), lecz – dzięki specjalnej funkcji wykonania skryptu w zadanym dniu o zadanej godzinie – zapewnić sobie doskonałe alibi Sposób wykorzystania tej opcji zależy jedynie od wyobraźni użytkownika. Zaimplementowałem obsługę pełnego zestawu klawiszy funkcyjnych.

Dodatki: w katalogu <cd-rom>\Dodatki znajdują się następujące interesujące materiały:

• • • • •

katalog docs – wszystko o GAMMU • Informacje dla developoerów • struktura plików GAMMU • użycie GAMMU we własnych projektach • opis protokołów FBUS, DLR3, IrDA,etc. • Informacje dla użytkowników GAMMU • struktura pliku gammurc • opis poleceń programu konsolowego gammu.exe katalog Konferencja – slajdy z mojego referatu na III Konferencja Młodych Informatyków, poświęconego m.in. GAMMU (format OpenOffice 1.1 i PDF) katalog Internet – ciekawe strony dotyczące serwisowania Nokii – w jeżyku angielskim i rosyjskim (archiwum ZIP, z uwagi na rosyjskojęzyczne nazwy plików) katalog NetMonitor – słynny opis NetMonitora Nokii (starsza wersja) katalog Nokia Reverse Engineering – informacje „niskopoziomowe” dotyczące PPM, MCU, RAM Nokii katalog Kable – schematy ideowe kabli FBUS, M2BUS, Flashera Dejana, opis PINów złącz w telefonach komórkowych

Sposób działania – komunikacja z telefonem
Czym jest GAMMU – zamiast długiego akapitu – należy się zapoznać ze slajdami z konferencji. Jeden obrazek powie więcej niż cały akapit. Najogólniej – GMMU stanowi interface pomiędzy komputerem PC a telefonem komórkowym firmy Nokia. Jest to zestaw plików źródłowych, stanowiących niemal pełny interfejs programowy telefonu komórkowego. Do połączenia telefonu komórkowego z komputerem potrzebny jest specjalny kabel z jednej strony zakończony standardowym złączem PIN 9 dla transmisji szeregowej, a z drugiej strony – charakterystyczną dla danego modelu telefonu końcówką, w której znajduje się specjalny układ elektroniczny – sprzęg, interface sprzętowy. Zasada działania interface'u GAMMU jest następująca – do telefonu zostaje wysłana odpowiednia sekwencja, będąca swego rodzaju komendą – rozkazem wykonania określonej czynności. Po odebraniu poprawnej komendy telefon wysyła sygnał potwierdzenia ACK(nowledge) i ew. odpowiada statusem wykonanej operacji / żądanymi danymi. GAMMU ciągle śledzi tzw. TimeOut. Jeśli telefon nie odpowie w określonym czasie, to zostaje wygenerowany TimeOut. Standardowo jest on ustawiony na 30 sek. UWAGA! Przy wolniejszych komputerach, z obciążonym systemem operacyjnym może dochodzić do fałszywego TimeOut, gdyż obciążony system operacyjny nie umożliwia odpowiednio szybkiej komunikacji z portem. Wtedy może się zdarzyć, że system GAMMU zgłosi błąd pracy (niepodłączony telefon, albo telefon nie odpowiedział w określonym czasie)

Karta Rozpocznij

pracę z NokiaExplorer

Karta ta służy do wstępnej inicjalizacji programu NE. Jeśli coś jest nie tak, np.złe połączenie telefonu z komputerem, w linii komunikatów GAMMU pojawi się stosowne podsumowanie. Jeśli zaś wszystko poszło dobrze, program powita nas komunikatem, że GAMMU bezproblemowo komunikuje się z telefonem. W lewym dolnym rogu znajdują się trzy wskaźniki – przynajmniej pierwszy z nich powinien mieć kolor jasnozielony. Oznacza to, że połączenie telefonu z komputerem jest poprawne. W idealnej sytuacji wszystkie trzy wskaźniki powinny mieć jasnozielony kolor (połączenie, poziom sygnału oraz stan akumulatora). W tej chwili można już pokusić się o kliknięcie na przycisku [Tryb automatycznego monitorowania...], ale ponieważ program jest we wstępnej fazie testowej, nie polecam takich eksperymentów. W najgorszym razie zostanie wyrzucony wyjątek i program się zamknie. W taki przypadku należy go uruchomić ponownie. W ty, trybie program na bieżąco uaktualnia wskaźniki na zdjęciu telefonu i zegar, o ile ten jest ustawiony. Tryb ten polecany jest tylko dla szybkich komputerów, w przeciwnym razie zauważalne jest wyraźne obniżenie komfortu pracy z programem. Znacznie bezpieczniejsza jest funkcja [Odśwież] uruchamiana linkiem o takiej samej nazwie, znajdującym się pod zdjęciem telefonu.. Jego kliknięcie spowoduje odświeżenie wskaźników i zegara, jeśli ten jest ustawiony. Przycisk z symbolem żarówki „podświetla” ekran na zdjęciu telefonu – przydatne przy oglądaniu bitmap telefonu na ekranie komputera – daje to pogląd na to jak będzie wyglądała bitmapa przy ciemnym wyświetlaczu (czuwanie telefonu) a jak przy włączonym podświetleniu (rozmowa, praca z telefonem)

Karta Skryptowe

sterowanie telefonem

Jeśli w naszym telefonie jest uszkodzona klawiatura albo wyświetlacz, zwykle odkładamy go na półkę lub wyrzucamy – naprawa jest zwykle nieopłacalna, chyba że przeprowadzimy ją we własnym zakresie. Jeśli dysponujemy odpowiednim dla naszego telefonu kablem, możemy go na stałe połączyć z komputerem i sterować za pomocą karty „Skryptowe sterowanie telefonem”. Karta ta mogłaby się także nazywać „Zdalne sterowanie telefonem” - w istocie, umożliwia ona wysyłanie do telefonu odpowiednich komend, które ten rozumie niemal dokładnie tak, jak naciśnięcie klawiszy na jego (być może uszkodzonej) klawiaturze. Można to potraktować jak zapisywanie znaków do bufora DOS. Z pomocą tej zakładki można niemal całkowicie sterować telefonem, niestety za wyjątkiem pisania sms. Ale nie będzie to żaden problem, gdy zaimplementuję do końca funkcję zapisywania sms do pamięci telefonu. Wówczas będzie można napisać w specjalnym polu sms, następnie zapisać go w telefonie i z pomocą karty „Skryptowe Sterowanie Telefonem” wysłać go. Mamy do dyspozycji dwa tryby: • w pierwszym z nich każde naciśnięcie kolorowych klawiszy powoduje dopisanie odpowiadającego im kodu do pola tekstowego skryptu. Skrypt taki można potem wysłać do telefonu. Ma to głęboki sens, w połączeniu z opcją wysyłania skryptu danego dnia o zadanej godzinie. Wówczas pod naszą nieobecność telefon może wykonać cały szereg operacji, zgodnie ze scenariuszem zapisanym w skrypcie. • w drugim trybie każde naciśnięcie barwnego klawisza powoduje natychmiastowo przesłanie jego kodu do telefonu. Jest to wygodne np. Przy wprowadzaniu kodu PIN lub operacjach

administracyjnych (np. odczytywanie wiadomości sms, wybieranie połączeń). Każde naciśniecie klawisza jest rejestrowane w polu tekstowym skryptu – można go potem zapisać do pliku tekstowego. Można korzystać z przycisków na zakładce, ale także wpisywać kody ręcznie w pole tekstowe skryptu - przyjmuje ono jedynie cyfry i kilka znaków alfanumerycznych (+,*,#,p). Można także wczytać z pliku gotowy skrypt, zapisany wcześniej. Istnieje także możliwość zapisania ulubionych skryptów na liście i przywoływać je podwójnym kliknięciem (zależnie od trybu – skrypt albo dopisze się do pola tekstowego skryptu, albo zostanie wykonany). Skrypty docelowo przechowywane będą w pliku XML (opcja na razie niezaimplementowana)

Karta

Ręczne wybieranie...

Dzięki tej zakładce możemy nawiązywać połączenia z klawiatury komputera lub z klawiatury na zdjęciu telefonu po prawej stronie. Można klikać poszczególne klawisze myszą – na wyświetlaczu pojawi się wprowadzany numer dokładnie w taki sposób, jak ma to miejsce w Nokiach. Będą też słyszalne tony DTMF poszczególnych klawiszy. Połączenie nawiązuje się standardowo za pomocą klawisze [Menu], natomiast kończy się niestandardowo  klawiszem [C]. Można skorzystać z opcji wybierania numeru określonego dnia o określonej godzinie. Ostatnio wybierane numery zapisywane są na liście, skąd można je przepisać do pola tekstowego jednym kliknięciem. Pole tekstowe przyjmuje jedynie cyfry i kilka znaków alfanumerycznych (+,*,#,p)

Karta Zegar,

budzik, przypomnienia

Jest to karta w fazie projektowania. Na razie dostępne są jedynie opcje: • synchronizuj zegar w telefonie z PC – kliknięcie w ten link spowoduje ustawienie zegara RTC w telefonie zgodnie z czasem na komputerze, do którego podpięty jest telefonach • ustaw datę i czas ręcznie – ta opcja pozwala ustawić w telefonie datę i czas jedynie kilkoma kliknięciami myszą • nastaw budzik w telefonie – zamiast przechodzić przez kolejne menu w telefonie, można ustawić budzik zaledwie kilkoma kliknięciami myszą Karta Parametry

akumulatora i ładowania

Z pomocą tej karty można śledzić przebieg procesu ładowania akumulatora i jego parametry. Można orientacyjnie oszacować typ akumulatora, jego wiek, ile mAh zostało już naładowane do akumulatora, jak długo trwa proces ładowania, ile wynosi napięcie i prąd ładowania – wyświetlany jest także komunikat charakteryzujący krótko zaistniałą sytuację. Podobnie jak w przypadku przycisku [Tryb automatycznego monitorowania...] nie jest zalecane na razie korzystanie z trybu [Automatycznie odświeżaj dane...]. Niestety, także więcej niż jednokrotne odświeżenie danych spowoduje wyrzucenie wyjątku. Jest to wyjątek prostej natury, jednak jest ich na tyle duzo, ze aktualnie jego usuniecie posiada niski priorytet w moim rozdzielniku, a wymaga gruntownej analizy otrzymywanych z GAMMU danych. Karta Testuj

telefon

Jest to bardzo użyteczna karta, ponieważ pozwala ona przeprowadzić testy podzespołów telefonu. Telefony firmy Nokia mają wbudowane procedury samotestujące, które można wywołać odpowiednim rozkazem. Program NE pobiera przetworzoną przez GAMMU odpowiedź od telefonu i dokonuje jej graficznej prezentacji. Jeśli zostaną wykryte poważne błędy, telefon zostanie uznany za niesprawny. Są jednak takie błędy, które w np. W Nokii 3330 nie są groźne, np. błąd baterii RTC, która po prostu unie występuje w telefonie . Może się też zdarzyć, że nie które testy nie są przeprowadzane. Nie świadczy to o uszkodzeniu telefonu – po prostu taka jest „uroda” jego mechanizmu samotestującego. Można także sprawdzić, czy działa alarm wibracyjny w telefonie. Pobudzenie testowe jest bardzo krótkie, więc należy trzymać telefon w ręce, aby poczuć wibracje.

Karta Identyfikuj

telefon

Dzięki tej karcie możemy się dowiedzieć jaki jest numer IMEI naszego telefonu, czy nie został on zmieniony (co może wskazywać na to, że nasz telefon został komuś skradziony, np. gdy kupiliśmy go na giełdzie lub w komisie), jaka jest data produkcji naszego telefonu, jak jest kod produktu no i oczywiście – jaki jest stan zabezpieczeń SimLock  Pomocną informacją może być numer hardware i firmware, np. przy własnoręcznym serwisowaniu komórki czy też wgrywaniu doń nowego oprogramowania.

Karta Monitor

Sieci

Dla znawcy komórek Firmy Nokia jest to chyba najbardziej użyteczna zakładka, zaraz po [Skryptowe sterowanie telefonem] – umożliwia ona podejrzenie testów tzw. Nokia NetMonitora, czyli specjalnego programu kontrolno-pomiarowego, wbudowanego w telefon komórkowy. Net monitor można uruchomić tylko za pomocą odpowiedniej komendy przesłanej kablem – nie można tego dokonaćza pomocą klawiatury ! Dlatego też standardowo NetMonitora nie ma w Menu telefonu, trzeba go dpiero uaktywnić. NetMonitor to potężny zbiór testów, opisany dokładniej w w sławnym Nokia NetMonitor FAQ, który zamieszczam we wspomnianym wcześniej katalogu Dodatki. Tutaj zamieściłem tylko te testy, które mogą być przydatne dla przeciętnego użytkownika, dysponującego opisem NetMonitora. Większość pozostałych testów albo MUSI być wprowadzona z klawiatury telefonu komórkowego, albo prezentuje skomplikowane informacje serwisowe. UWAGA – czasem na wyświetlaczu na rysunku Nokii pojawiają się błędy – kwadraciki – aktualnie pracuję nad ich usunięciem.

Karta Autokonfiguracja Bezpośrednio po uruchomieniu programu po raz pierwszy, nie istnieje w jego katalogu plki gammurc, w którym zapisana jest informacja do jakiego portu jest podpięty telefon i za pomocą jakiego kabla. Dlatego też zostanie automatycznie uruchomiona procedura wyszukiwania telefonu i przygotowania odpowiedniego pliku konfiguracyjnego.

UWAGA – za każdym razem gdy kabel był wypinany i wpinany ponownie do portu, a nie ma pewności, czy do tego samego co poprzednio, należy skasować z katalogu programu plik gammurc, program wtedy ponownie przeszuka porty z zapisze poprawną konfigurację do wspomnianego pliku.

Poniżej przedstawiam przykład takiego pliku. Jest to plik tekstowy i można go utworzyć ręcznie a także edytować. Znak # oznacza początek komentarza, który jest ignorowany podczas analizy pliku. W pliku tym mogą się także znajdować inne polecenia GAMMU, jednak program NE z nich nie korzysta.

Po utworzeniu pliku gammurc zostanie wyświetlony komunikat z informacją, że program musi być zrestartowany. Po kliknięciu na przycisk [OK] program się zamknie. Po jego następnym uruchomieniu będzie już korzystał z nowoutworzonego pliku gammurc.

UWAGA

UWAGA

UWAGA

UWAGA

UWAGA

UWAGA

UWAGA

Program znajduje się w wczesnej fazie testowej. Nie ponoszę żadnej odpowiedzialność za ewentualne szkody powstałe w wyniku jego używania !
UWAGA UWAGA UWAGA UWAGA UWAGA UWAGA UWAGA

Program testowałem na telefonie firmy Nokia, model 3310 i 3330, podłączonym do komputera kablem FBUS

Sign up to vote on this title
UsefulNot useful