STWORZENIE MOBILNEJ APLIKACJI,

Podobne dokumenty
- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

STWORZENIE MODUŁU POBIERAJĄCEGO WEKTOROWE

Laboratorium 10 - Web Services

Wprowadzenie do środowiska Visual Studio cz. 2 (ćwiczenie wykonywane zdalnie) Wykorzystanie Wirtualnego portu COM

Ekspert radzi. mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8. Ekspert radzi.

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Instrukcja implementacji sterownika wirtualnego portu szeregowego dla systemu Android. Opracowanie: Elzab Soft sp. z o.o.

Informatyka II. Laboratorium Aplikacja okienkowa

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania. Programowanie systemów informatycznych laboratorium. Ćw. 3: Akwizycja danych. RS 232 cd.

Zaawansowane aplikacje WWW - laboratorium

Podstawy wykorzystania bibliotek DLL w skryptach oprogramowania InTouch

Programowanie obiektowe

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA

STWORZENIE PRZYKŁADOWEJ

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

Ćwiczenie 3 Komunikacja szeregowa z odbiornikiem GPS w technologii.net Compact Framework

Aplikacje w środowisku Java

Programowanie platform mobilnych PocketPC

Ćwiczenia 9 - Swing - część 1

Wstęp do wiadomości teoretycznych (nie, nie jest to masło maślane ani wstęp, wstępów proszę cierpliwie czytać)

akademia androida Składowanie danych część VI

Aplikacje internetowe i rozproszone - laboratorium

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Wprowadzenie do projektu QualitySpy

Instrukcja laboratoryjna cz.3

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 2


Dokumentacja do API Javy.

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Rozdział 3. Zapisywanie stanu aplikacji w ustawieniach lokalnych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Podstawy i języki programowania

2) W wyświetlonym oknie należy zaznaczyć chęć utworzenia nowej aplikacji (wygląd okna może się różnić od powyższego); kliknąć OK

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Viper/Windows CE 5.0: oprogramowanie pomiarowo-sterujące z wykorzystaniem GUI. (dwiczenie może byd wykonywane zdalnie)

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Klasy i obiekty cz II

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Programowanie w JAVA Lab. 5 - Wątki. 1. Wykorzystując metodę Monte Carlo narysować wykres funkcji oraz obliczyć całkę: 7 x ) xy, 8,8

Katalog książek cz. 2

Programowanie obiektowe

Podstawy programowania obiektowego

Obliczenie azymutu ze współrzędnych wersja C++ Builder

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 1

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Praca z bazą danych. Rysunek 1. Projekt tabeli UZYTKOWNIK bazy KURSY

Wykład 12. Programowanie serwera MS SQL 2005 w C#

Algorytm i implementacja protokołu komunikacyjnego MODBUS w środowisku sterownika PLC firmy IDEC oraz języku programowania C#

Programowanie telefonów z Windows Phone 7, cz. 4

Kabel USB 2.0 do połączenia komputerów PCLinq2 (PL-2501) podręcznik uŝytkownika

Tak przygotowane pliki należy umieścić w głównym folderze naszego programu. Klub IKS

Laboratorium 1 - Programowanie proceduralne i obiektowe

Programowanie komputerowe. Zajęcia 7

Programowanie obiektowe

Zaawansowane aplikacje internetowe

Aplikacje w środowisku Java

Aplikacje WWW - laboratorium

1. Instalacja modułu w systemie Windows.

Systemy Rozproszone - Ćwiczenie 6

Podstawy obsługi aplikacji Generator Wniosków Płatniczych

1. Opis. 2. Wymagania sprzętowe:

INFORMATOR TECHNICZNY WONDERWARE. Odczytywanie danych z arkusza Excel za pomocą zapytań SQL do aplikacji InTouch

Mechanizm dziedziczenia

Programowanie obiektowe i zdarzeniowe

xmlns:prism= c. <ContentControl prism:regionmanager.regionname="mainregion" />

Instrukcja 5 Laboratorium z Podstaw Inżynierii Oprogramowania. Warstwy integracji z bazą danych: Wzorzec DAO Technologia ORM

KOMUNIKACJI AGENTA/GESTORÓW KONTENERÓW Z SYSTEMEM KOMPUTEROWYM GCT.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Aplikacje geodezyjne

DYNAMICZNE PRZYDZIELANIE PAMIECI

STWORZENIE PRZYKŁADOWEJ APLIKACJI NA

INSTRUKCJA DO ĆWICZENIA 13. Animacja wielowątkowa w aplikacjach JME. Gra logistyczna.

Laboratorium - Zarządzanie systemem plików poprzez wbudowane oprogramowanie w systemie Windows XP

XII. Warunek wielokrotnego wyboru switch... case

akademia androida Service, BroadcastReceiver, ContentProvider część IV

TM PROGRAM TERMINALA RS232 DLA MULTIPLEKSERA 8XRS232 / ETHERNET 10BASE-T

Tworzenie i wykorzystanie usług sieciowych

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Kurs programowania 2 - listy

Tablice, DataGridView

Programowanie obiektowe

Programowanie w MS Visual Studio 2005 z wykorzystaniem MS SQL Server 2005

Fragmenty są wspierane od Androida 1.6

Instrukcja laboratoryjna nr.4

Instrukcja użytkownika ARSoft-WZ1

Multimetr cyfrowy MAS-345. Instrukcja instalacji i obsługi oprogramowania DMM VIEW Ver 2.0

INFORMATOR TECHNICZNY WONDERWARE. Narzędzie redundancji systemu alarmowania Alarm Hot Backup dla oprogramowania. Struktura systemu redundantnego

Język ludzki kod maszynowy

Aplikacje Systemów Wbudowanych

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp

TEMAT : KLASY DZIEDZICZENIE

AUTOCAD MIERZENIE I PODZIAŁ

W powyższym kodzie utworzono wyliczenie dni tygodnia.

Microsoft Visual C : praktyczne przykłady / Mariusz Owczarek. Gliwice, cop Spis treści

MentorGraphics ModelSim

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Transkrypt:

LABORATORIUM SYSTEMÓW MOBILNYCH STWORZENIE MOBILNEJ APLIKACJI, WYŚWIETLAJĄCEJ AKTUALNĄ POZYCJĘ UŻYTKOWNIKA, LISTĘ WIDOCZNYCH SATELITÓW ORAZ ICH POZYCJĘ I. Temat ćwiczenia Stworzenie mobilnej aplikacji, wyświetlającej na ekranie Pocket PC aktualną pozycję uŝytkownika, (w formie graficznej). Aplikacja ma odczytywać dane bezpośrednio z portu COM (lub z pliku) i poddawać analizie wykorzystując stworzony na poprzednich laboratoriach moduł GPS do parsowania danych NMEA-0183. II. Wymagania Znajomość podstaw tworzenia aplikacji mobilnej na Pocket PC. Skończony moduł GPS z poprzednich zajęć. III. Ćwiczenie 1. Stworzenie nowego projektu. Projekt powinien obejmować urządzenie typu Pocket PC 2003. NaleŜy pamiętać o dodaniu moŝliwości ustalenia konfiguracji uŝywanego portu szeregowego i odpowiednich przyciskach umoŝliwiających otwieranie i zamykanie portu. Po otwarciu portu szeregowego, naleŝy za pomocą timera lub w osobnym wątku odczytywać, co jakiś czas dane przychodzące do portu COM i poddawać je parsowaniu wykorzystując stworzony na poprzednich zajęciach moduł GPS. NaleŜy wykorzystać opcje OnTick, timera systemowego, który naleŝy dodać do aplikacji, znajdujący się na zakładce Properties: Strona 1/6

Przykładowa implementacja zdarzenia OnTick wygląda następująco: private void timer1_tick(object sender, EventArgs e) // odczytaj dane byte[] dane = GPSComm.Read(); if (dane!= null) // poddaj je parsowaniu parser.parse(dane); // uaktualnij formatke i wyswietl biezace dane UpdateView(); Stworzony na poprzednich zajęciach moduł GPS (jeŝeli został stworzony przy wykorzystaniu opcji Class Library bezpośrednio z zakładki Visual C#) będzie musiał zostać przerobiony na moduł Class Library (z zakładki Pocket PC 2003). Strona 2/6

Sposób stworzenia odpowiedniego modułu do komunikacji z portem szeregowym i odczytywania danych z portu szeregowego został przedstawiony poniŝej. Strona 3/6

2. Stworzenie modułu komunikacyjnego z portem szeregowym COM NaleŜy stworzyć klasę odpowiedzialną za odczytywanie i monitorowanie portu COM. Przy tworzeniu modułu, który powinien działać na Pocket PC, konieczne jest stworzenie go w odpowiedni sposób (naleŝy wybrać opcje Class Library z zakładki Pocket PC 2003) tak jak pokazano w poprzednim punkcie. Jest to na tyle waŝne, iŝ inaczej aplikacja Pocket PC nie skompiluje się! W celu odczytywania danych z portu COM naleŝy skorzystać z namespacu: using System.IO.Ports; Klasa GPSCommunication powinna posiadać prywatną zmienną typu SerialPort. private SerialPort port = new SerialPort(); Klasa powinna zawierać 3 metody: Publiczną metodę otwierającą dany port COM (z określonymi jako argumenty konfiguracjami port tzn. szybkość w bodach, ilość bitów stopu, kontrola parzystości itp.) argumenty konfiguracyjne portu mogą być przekazywane do kreatora nowo tworzonego obiektu, Metodę odczytującą dane z portu COM, Metodę zamykającą port COM. Przykładowe metody są następujące: public bool Open(string portname, Parity parity, int baudrate, int databits, StopBits stopbits) port.portname = portname; port.parity = parity; port.baudrate = baudrate; port.stopbits = stopbits; port.databits = databits; try port.open(); catch (Exception ex) System.Diagnostics.Trace.WriteLine( "Problem z otwarciem portu! " + ex.tostring()); return false; return true; public void Close() try // zamykam port Strona 4/6

if (port.isopen) port.close(); catch (Exception ex) System.Diagnostics.Trace.WriteLine( "Problem z zamknieciem portu! " + ex.tostring()); public byte[] Read() byte[] bdata = new byte[256]; try port.read(bdata, 0, 256); return bdata; catch (Exception e) System.Diagnostics.Debug.WriteLine(e.ToString()); return null; 3. Wyświetlanie informacji o połoŝeniu i informacji o satelitach Informacje o bieŝącym połoŝeniu mogą być wyświetlanie na odpowiedniej zakładce w odpowiednich Label-ach lub Textbox-ach. 4. Wyświetlanie graficzne pozycji satelitów W celu wyświetlenia pozycji satelitów w formie graficznej naleŝy wykorzystać kontrolkę PictureBox z zakładki Properties. NaleŜy stworzyć metodę ShowSatelites wywoływaną z wnętrza metody UpdateView (która jest wywoływana z wnętrza Timer-a i odpowiada za odświeŝenie informacji na formatce). Wzorzec funkcji rysującej Satelity zamieszczono poniŝej: private void ShowSatelites() Pen circlepen = new Pen(System.Drawing.Color.DarkBlue,1); Graphics g = picturebox1.creategraphics(); int centerx = picturebox1.width/2; int centery = picturebox1.height/2; double maxpromien = (Math.Min(pictureBox1.Height,pictureBox1.Width)-20) / 2; // rysuj okregi double[] okregi = new double[] 0,Math.PI/2, Math.PI/3,Math.PI / 6; Strona 5/6

foreach(double okrag in okregi) double promien = (double) System.Math.Cos(okrag) * maxpromien; g.drawellipse(circlepen,(int)(centerx - promien), (int)(centery - promien), (int)(2 * promien), (int)( 2* promien)); // zaznacz kreske co 90 stopni g.drawline(circlepen,centerx-3,centery,centerx + 3,centerY); g.drawline(circlepen,centerx,centery-3,centerx,centery+3); Pen satellitepen = new Pen(System.Drawing.Color.LightGoldenrodYellow,4); // tutaj w petli powinny byc rysowane poszczegolne satelity Następnie naleŝy za pomocą odczytanych i sparsowanych danych z modułu GPS wyświetlić aktualny obraz widocznych satelitów. Dla kaŝdej satelity, moŝna wywołać następującą funkcje rysującą: // rysuj satelite double h = (double)system.math.cos((sat.elevation * Math.PI) / 180) * maxpromien; int satx = (int)(centerx + h * Math.Sin((sat.Azimuth * Math.PI) / 180)); int saty = (int)(centery - h * Math.Cos((sat.Azimuth * Math.PI) / 180)); g.drawrectangle(satellitepen, satx, saty, 4, 4); g.drawstring(sat.id.tostring(), new Font("Verdana", 8, FontStyle.Regular), new System.Drawing.SolidBrush(Color.Black), new Point(satX + 5, saty + 5)); Wykorzystanie komponentu PictureBox daje dodatkowo moŝliwość zapisania do pliku aktualnego ustawienia satelitów w celach zbierania historii. 5. Zadanie Stworzoną aplikację wyświetlającą satelity systemu nawigacji naleŝy rozszerzyć o funkcjonalność skalowania oraz obrotu otrzymanego obrazu rozmieszczenia poszczególnych satelitów. Ponadto przy kaŝdej wyrysowanej satelicie powinna się pojawić informacja na temat jej współrzędnych połoŝenia. Strona 6/6