Inżynierka v0.2

Kolejna porcja screenshot’ów z “pracy inżynierskiej” 😉

Jak widać doszła obsługa menu, a w niej:

  • My location – automatycznie centruje mapę na naszej pozycji
  • Start scan(/Stop scan) – “włącza/wyłącza” wątek skanujący
  • List AP – wyświetla listę wszystkich Access Point’ów które w czasie działania aplikacji znajdowały się w zasięgu
  • Setting – wyświetla ustawienia aplikacji (ta pozycja wymaga jeszcze implementacji)

Trzy z czterech dostępnych akcji są oprogramowane, zostało mi jeszcze stworzyć odpowiednie menu z ustawieniami aplikacji.

Tak wygląda lista wszystkich “odkrytych” Access Point’ów, z lewej strony widać grafikę/piktogram opisujący jakość sygnału danej sieci (w założeniach jest też, żeby ten sam obrazek opisywał poziom zabezpieczeń danej sieci). Obok jest czytelna nazwa punktu dostępowego (czyli SSID). Punkty dostępowe rozróżniane są po BSSID czyli adresie fizycznym urządzenia, więc w szczególnych przypadkach na liście mogą pojawić się kilka pozycji o tej samej nazwie. W każdy element na liście można “kliknąć” i uzyskać widok szczegółowy.

Muszę się dowiedzieć o status licencyjny grafik dołączonych do Androida … 😐

Ostatni screenshot, pokazuje wspomniany już “widok szczegółowy”. Mamy tutaj szczegółowe dane odnośnie wybranego punktu dostępowego. Jak można zauważyć widok ten wymaga jeszcze dopracowania, gdyż nie wszystkie dane są w pełni widoczne.

To na tyle, więcej za jakiś czas 😉

Inżynierka v0.1

Oto pierwszy screenshot z mojej pracy inżynierskiej 😉

Aplikacja posiada już następujące funkcjonalności:

  • Potrafi sprawdzić stan WiFi oraz w razie potrzeby sama go włączyć (nie pytając użytkownika o zdanie … bo po co ? jeżeli się uruchamia taką aplikację wiadomo, że sieć bezprzewodowa musi być włączona ;))
  • Potrafi sprawdzić status usługi GPS oraz poprosić użytkownika o jej włączenie (ponieważ android może za zgodą użytkownika wysyłać dane lokalizacyjne go Google’a warto żeby użytkownik sam włączył usługę, ewentualnie wyłączył moją aplikację)
  • Wyświetla aktualną pozycję użytkownika (to jest właśnie ta gwiazdka na środku ekranu)
  • Automatycznie co pół sekundy skanuje eter w poszukiwaniu sieci bezprzewodowych.
  • W prawym górnym rogu umieszczona jest licznik aktualnie wykrytych sieci
  • W prawym dolnym rogu umieszczony jest licznik sieci które aplikacja “mniej więcej” zlokalizowała (ew. potrafiła zlokalizować)

Przewidywane funkcjonalności:

  • Automatyczne wycentrowanie mapy na pozycję użytkownika (gwiazdkę)
  • Dodanie możliwości konfiguracji (chociażby możliwość zmiany interwału skanowania)
  • Obsługa przycisku “menu”
  • Zapisywanie wyników aplikacji w “jakimś” formacie
  • Kalibracja aplikacji
  • Algorytm lokalizacji punktów na podstawie sygnału WiFi oraz lokalizacji użytkownika

Teoretycznie powinno już być z górki, gdyż już w miarę zaprzyjaźniłem się z SDK oraz API android’a. Największym wyzwaniem będzie główna część czyli implementacja (raz opracowanie) algorytmu pozwalającego na zlokalizowanie access point’a; jego zarysy już kłębią się mi w głowie z tym, że posiada on jeszcze kilka słabostek.

Inżynierka – praca wre ;)

Zmiana platformy implementacyjnej znacząco przyśpieszyła prace nad aplikacją 😉

Dziś w ciągu nie całych 2 godzin udało się mi wystartować cały projekt oraz uruchomić usługę Google Maps, GPS oraz zintegrować całość ze sobą. Jedyną rzeczą jaką (na razie) moja aplikacja wykonuje, jest umieszczenie markera (w postaci maskotki androida – robota) na odpowiedniej szerokości i długości geograficznej oraz przesunięcie w to miejsce mapy. Czyli aktualnie geo-lokuje telefon ;>

Całość wymaga jeszcze dopracowania, gdyż jest to tylko szybki szkic … ale posiada bardzo ważna cecha, DZIAŁA ;). Przede mną jeszcze sporo pracy:

  • Ustalenie odpowiednich interface’ów
  • Zaprojektowanie architektury aplikacji
  • Obsługa wyjątków (reakcja na włączenie/wyłączenie GPS’u, WiFi itp.)
  • Obsługa WiFi
  • Reprezentacja zebranych danych na mapie
  • Zapis całości w formie pliku wynikowego czy tez map w Google Maps

Na chwilę obecną tylko tyle przychodzi mi do głowy, pewnie jeszcze sporo rzeczy wyjdzie w “praniu”.

Do mojego zbioru przydatnych linków doszły dwa nowe elementy, głównie dzięki nim udało się mi tak szybko przebrnąć przez tą część 😉

FreeRunner screenshots part 2

Kolejna porcja screenshot’ow:

  • openmoko-agpsui po zalpaniu FIX'a

    openmoko-agpsui po zalpaniu FIX'a

  • wykres mocy sygnału z satelit

    wykres mocy sygnału z satelit

  • po załapaniu FIX'a można śledzić satelity ;)

    po załapaniu FIX'a można śledzić satelity 😉

  • a ten wykres to nie wiem jak wytłumaczyć ;)

    a ten wykres to nie wiem jak wytłumaczyć 😉 zwłaszcza ze OM leżało cały czas w jednym miejscu

  • gpsdrive posiada ubogi zestaw map

    gpsdrive posiada ubogi zestaw map

  • zakładka status

    zakładka status

  • TangoGPS inna palikacja do obsługi GPS'u

    TangoGPS inna palikacja do obsługi GPS'u

  • porównanie sieci autostrad przed euro 2012 by TagnoGPS ;)

    porównanie sieci autostrad przed euro 2012 by TagnoGPS 😉

  • tangoGPS

    moja lokacja w szczecinie 😉

  • tangoGPS

    jakość map jest całkiem dobra (przynajmniej na pierwszy rzut oka) ciekawe jak jest z ich dokładnością

  • tangoGPS

    mniejsze miasta też są całkiem dobrze odwzorowane (na screenie jest Drawsko Pomorskie)

  • JRE (cacao)

    JRE pod OpenMoko. Właściwie to jest to projekt CACAO, ciekawe na ile działa.

  • JRE

    na koniec prosty hello OpenMoko w javie 😉