From 0e0fd95081ba19f31f8e5c653aaab5a3d9d533f0 Mon Sep 17 00:00:00 2001 From: Sebastian Wawrzyn Date: Thu, 14 Jan 2021 21:38:31 +0100 Subject: [PATCH] Update 'Przybylski/awionika/wizja_projektu.md' --- Przybylski/awionika/wizja_projektu.md | 725 +++++++++++++------------- 1 file changed, 364 insertions(+), 361 deletions(-) diff --git a/Przybylski/awionika/wizja_projektu.md b/Przybylski/awionika/wizja_projektu.md index 9f6cd7e..7e10962 100644 --- a/Przybylski/awionika/wizja_projektu.md +++ b/Przybylski/awionika/wizja_projektu.md @@ -1,361 +1,364 @@ ---- -author: -- Wojciech Kubiak, Piotr Józefowicz, Sebastian Wawrzyn -title: "**Dokument wizji dla projektu Awionika do rakiet**" ---- - -# Executive summary - -Dokument dotyczy projektu realizowanego w ramach przedmiotu projekt -inżynierski. Niniejszy dokument służy przedstawieniu przeznaczenia -tworzonego systemu, jego głównych cech i przyjętych założeń. Grupą -docelową dla projektu jest koło naukowe na politechnice poznańskiej PUT -RocketLab, zajmujące się budową rakiet i silników rakietowych. Potrzebny -jest komputer pokładowy do rakiety oraz aplikacje umożliwiające obsługę -testów rakiet i silników. Nasz projekt ma dostarczyć: - -- Aplikację desktopową pozwalająca wyświetlać dane na żywo z testów, - konfigurować ustawienia modułów komputera pokładowego oraz - zapisywać/usuwać dane z pamięci podręcznej modułów. - -- Komputer pokładowy posiadający układ wyzwalający separację oraz - zbierający dane telemetryczne o locie, które będą mogły być - przekazywane na żywo do aplikacji poprzez nadajnik i odbiornik. - -- Aplikację webową służącą jako baza danych testów oraz odgrywającą - rolę wizytówki koła - -# Cel i grupa docelowa - -Grupą docelową dla projektu jest koło naukowe na Politechnice -Poznańskiej PUT RocketLab. Koło zajmuje się budową rakiet i silników -rakietowych oraz rozwija systemy awioniczne i naziemne do ich -testowania. Potrzebny jest komputer pokładowy do rakiety, który będzie -odpowiadał za jej lot, zapisywanie danych z tego lotu, oraz lokalizację -rakiety po jej wylądowaniu. Potrzebna jest również aplikacja, która -będzie pełniła funkcję kontrolera lotów/testów. Takie testy generują -dużą liczbę danych, które ciężko uporządkować więc potrzebne jest też -miejsce, w którym będzie można je porządkować i wyświetlać w przejrzysty -sposób. Koło nie posiada też strony internetowej - tak zwanej wizytówki, -która ma budować rozpoznawalność w internecie i pomóc w kontakcie -przyszłym kandydatom na członków koła.\ -Projekt oprócz komputera pokładowego będzie się składał z dwóch -aplikacji -- aplikacji webowej oraz aplikacji desktopowej. Aplikacja -desktopowa ma odgrywać rolę kontrolera testów. To, że aplikacja jest -desktopowa, wynika z faktu, że testy zazwyczaj wykonywane są w miejscach -bez dostępu do internetu. Aplikacja webowa będzie pełniła funkcję -wizytówki oraz bazy danych testów. Członkowie koła będą posiadali login -i hasło do aplikacji, gdzie będą katalogowane dane historyczne z testów. -Dane będzie można eksportować w wygodnym formacie, a także wyświetlać w -formie wykresów i tabelek z danymi. Strona będzie miała możliwość -wprowadzenia danych ręcznie, jednak preferowaną opcją będzie dodawanie -danych przez aplikację desktopowa, która to zrobi w sposób -zautomatyzowany. Aplikacja desktopowa będzie umożliwiała wyświetlanie -danych z testów rakiet oraz silników na żywo. Po teście dane będą -przekazywane do aplikacji webowej, jeśli będzie dostęp do internetu. -Jeśli nie będzie dostępu, to dane zostaną zapisane w pamięci komputera i -przekazane od razu po podłączeniu komputera do Internetu. Aplikacja -desktopowa ma również dać możliwość konfiguracji modułów elektroniki -komputera pokładowego rakiety oraz odczytywania i zapisywania z nich -danych. Pobrane dane będą od razu przekazywane do chmury tak jak w -przypadku testu na żywo. Będzie również możliwa zmiana konfiguracji tych -modułów-zmiany ustawień parametrów programu na danym module (np. ilość -bitów na sekundę podczas wysyłania danych, częstotliwość, moc anteny), -są to parametry, które muszą być zmieniane podczas czasu życia modułu. -Ta funkcjonalność ma na celu zapewnić większe bezpieczeństwo podczas -zmiany tych parametrów. Parametry nie będą zmieniane poprzez wgranie -nowego kodu tylko przez aplikacje, dzięki temu na samym urządzeniu nie -trzeba będzie zmieniać kodu źródłowego.\ -Klientowi zależy na tym, aby pozyskać z rakiety dane, które pozwolą -sprawdzić, czy rakieta osiągnęła oczekiwane parametry lotu zgodne z -wcześniejszą symulacją takie jak apogeum, prędkość, liczba macha czy -przyspieszenie. W tym celu muszą dokonać pomiarów fizycznych za pomocą -odpowiednich czujników takich jak akcelerometr, barometr, magnetometr -czy żyroskop, a następnie zapisać te dane i wyświetlić je w czytelnej -formie w celu ich analizy. Komputer pokładowy będzie umożliwiał zebranie -powyższych danych, a także wyzwolenie separacji/spadochronu w dwóch -różnych konfiguracjach: poprzez automatyczne wykrycie spadku swobodnego -(apogeum). Rakieta będzie też wyposażona w lokalizator, który będzie -umożliwiał odnalezienie rakiety po lokalizacji GPS wysłanej za pomocą -komunikacji bezprzewodowej LORA. - -# Rynek - -Wyposażenie pokładowe rakiety (awionika) składa się głównie z dwóch -części: komputera pokładowego i lokalizatora. Komputery pokładowe -znajdujące się na rynku mają wysoką cenę i większość z nich, nie -oferuje, aplikacji do zbierania danych, przez co robi się z nimi bałagan -i trzeba dbać samemu o to, by te dane katalogować. Gotowe lokalizatory, -mimo że zaawansowane również są bardzo drogie. - -## Przykłady produktów na rynku - -- Dużym zainteresowaniem na świecie cieszą się amerykańskie - [EggTimery](http://eggtimerrocketry.com/home/altimeters-av-bay/). - Posiadają one wiele różnych konfiguracji komputerów oraz - lokalizatorów. Mają jednak one dość wysokie ceny modułów i nie - oferują zintegrowanej aplikacji, która umożliwiałaby analizę danych, - musimy korzystać z osobnych programów. - -- Dostępne są [niemieckie komputery - pokładowe](https://www.rocketronics.de/shop/de/altimax-g3-standard.html?fbclid=IwAR2Btg-xkFvGJoPM6sU9-zkdCB5SZMVawdttTxnr6m8iG2iS46GtkmWs8Fc) - firmy Rocketronics oferujące wysoką jakość danych oraz dokładną - separację. Ich aplikacja nie umożliwia podglądu danych na żywo. Nie - ma w nich lokalizatorów i mają wysoką cenę. - -- [Lokalizator - Featherweight](https://www.featherweightaltimeters.com/featherweight-gps-tracker.html) - (koszt to 610-2000 zł) - wysoka cena, zawiera aplikację, ale do tego - potrzebny jest jeszcze komputer pokładowy.  - -- Jeden z najtańszych i najpopularniejszych sposobów (przynajmniej w - Polsce) na lokalizację rakiety polega na używaniu taniego - [lokalizatora](https://abc-rc.pl/product-pol-7625-Lokalizator-GPS-TK102B-Tracker-GPS-Sledzenie-w-WWW.html), - który wysyła podstawowe dane telemetryczne dzięki modułowi GPS i - GSM. Nie są to jednak produkty przeznaczone konkretnie do rakiet i - nie mogą zostać zintegrowane z komputerem pokładowym.  - -- Nowością jest komputer pokładowy - [Signal-R2](https://bps.space/shop/signal-r2) z aplikacją na telefon - (koszt to ok 1400 zł). Aplikacja dostępna na platformy android oraz - iOS jest zintegrowana z komputerem pokładowym. Cały system - komunikacji jest oparty na Bluetooth, co daje zasięg 10 metrów, - dlatego nie można używać aplikacji do odczytów danych na żywo - podczas lotu. Aby uzyskać szerszy dostęp do dokumentacji, kodów - źródłowych i informacji na temat projektu trzeba dodatkowo - miesięczne płacić za subskrypcje na specjalnej platformie Patronite. - -# Opis produkt - -## Aplikacja webowa - -- wizytówka koła - -- dane z testów będzie można zapisywać na serwerze w celu stworzenia - historii testów - -- eksport danych GPS w formacie KML (trajektoria lotu) - -- eksport danych telemetrycznych do Excel'a - -- import danych pomiarowych z pliku - -- wyświetlenie danych historycznych (z testów) - -- wyświetlenie danych historycznych w formie live (z testów) - -- wyszukiwanie testu po nazwie i dacie - -- kategoryzacja danych telemetrycznych (historia testów) przypisana do - testu - -## Aplikacja desktopowa - -- pomiary z rakiety obrazowane na żywo: - - - wykres prędkości od czasu, - - - wykres przyspieszenia od czasu, - - - wykresy orientacji XYZ, - - - wykres wysokości i wychylenia w osiach XYZ od czasu, - - - wyświetlenie lokalizacji GPS na mapie (Google Maps) - -- obrazowane danych z hamowni na żywo - - - wykres ciągu do czasu - - - wykres ciśnienia do czasu - -- dane po teście rakiety czy silnika będą zapisywane na serwerze - -- zgrywania/usuwanie danych z modułów elektronicznych - -- zmiana konfiguracji modułów elektronicznych - -## Elektronika - -- dokonywanie pomiarów podczas lotu (prędkość, przyspieszenie, - wysokość, wychylenia w osiach XYZ)  - -- lokalizacja GPS oraz pomiary wysyłane do stacji naziemnej za - pośrednictwem komunikacji bezprzewodowej LORA  - -- wykrycie apogeum (spadku swobodnego) pozwalające wyzwolić - separacje/spadochron - -- wyzwolenie separacji, spadochronu poprzez odpalenie zapalnika - elektrycznego  - -- przesyłanie danych do stacji naziemnej przez moduł komunikacyjny  - -- odbieranie danych przez odbiornik - -- odpalenie drugie spadochronu na określonej wysokości - -- przekazywanie danych do aplikacji desktopowej - -- zapisywania danych do pamięci modułu - -- odczytywanie danych z pamięci modułu - -- zmiana konfiguracji modułu - -# Zakres i ograniczenia - -## Skład zespołu - -- Wojciech Kubiak - systemy wbudowane - arduino, c++, FreeRTOS, python - -- Sebastian Wawrzyn - backend - .NET Core, C-.05em , Docker, NoSql - -- Piotr Józefowicz - frontend - Vue.js, typescript - -## Kamienie milowe - -- I faza, I semestr (02.2020 - 07.2020): - - - Przygotowanie prototypu aplikacji - - - Przygotowanie backlogu dla projektu w systemie Trello, - opracowanie funkcjonalności, user stories - - - Rozpoczęcie prac programistycznych nad aplikacją - - - Rozpoczęcie prac programistycznych nad komputerem pokładowym 1.0 - - - Testowanie komputera pokładowego - - - Ukończenie MVP aplikacji i komputera pokładowego - - - Poddanie MVP testom funkcjonalnym - -- II faza, II semestr(10.2020 - 01.2021): - - - Uaktualnienie dokumentacji i Trello - - - Kontynuacja prac programistycznych nad aplikacjami - - - Kontynuacje prac programistycznych nad komputerem pokładowym - - - Rozpoczęcie prac nad nadajnikiem i odbiornikiem - - - Testowanie komputera pokładowego oraz elektroniki naziemnej - - - Ukończenie aplikacji wraz ze wszystkimi zdefiniowanymi - funkcjonalnościami - - - Integracja aplikacji z elektroniką - - - Testy integracyjne - - - Wdrożenie aplikacji na publiczną domenę - -## Harmonogram - -MVP produktu zostanie wypracowane i przedstawione do końca czerwca 2020 -roku, zawierać będzie funkcjonalności takie jak: - -- Komputer pokładowy 1.0: - - - Dokonywanie pomiarów telemetrycznych - - - Zapis danych na kartę SD - - - Wyzwolenie separacji za pomocą timera - - - Odpalenie zapalnika elektrycznego - -- Aplikacja internetowa (frontend): - - - Stworzenie konta użytkownika, logowanie - - - Dodawanie testów z pliku - - - Wyświetlanie danych z testów - - - Przegląd danych historycznych - - - Zintegrowania aplikacji webowej z REST API - -- Aplikacja serwerowa, REST API: - - - Dodanie serwisów REST pozwalających na operacje wymienione w - punkcie "Aplikacja internetowa" - - - Zintegrowania API z bazą danych - - - Wdrożenie aplikacji na środowisko testowe - -Druga wersja produktu wypracowana i oddana do stycznia 2021 roku, -obejmować będzie: - -- Wszystkie funkcjonalności zdefiniowane w MVP - -- Komputer pokładowy 2.0: - - - Układ wyzwolenia separacji - - - Komunikacja z nadajnikiem - - - Konfiguracja modułu - - - Zapis danych na pamięć flash - -- Nadajnik/Lokalizator: - - - Lokalizacja GPS oraz redundantny system prędkości wysokości - przyspieszenia - - - Komunikacja bezprzewodowa LORA - - - Konfiguracja modułu - -- Elektronika naziemna/Odbiornik: - - - Konfiguracja modułu - - - Odbieranie danych od komputera pokładowego (LORA) - - - Przekazywanie danych do serwera za pomocą REST API - - - Przekazywanie danych do kolejnych urządzeń za pomocą Seriala - -- Aplikacja internetowa (frontend): - - - Wyświetlanie i gromadzenie danych historycznych testów - - - Wyświetlanie testów historycznych w postaci live - - - Eksport testów do plików - - - Widok podsumowania testu - - - Profil użytkownika - -- Aplikacja desktopowa: - - - Wyświetlanie danych z testów live (wykresy) - - - Wyświetlanie lokalizacji za pośrednictwem Google Maps - - - Konfigurowanie płytki - - - Odczyt danych z płytki - - - Usuwanie danych z płytki - -- Aplikacja serwerowa, REST API: - - - Dodanie serwisów REST pozwalających na operacje wymienione w - punkcie "Aplikacja internetowa" - - - Dodanie serwisów REST pozwalających na operacje wymienione w - punkcie "Aplikacja desktopowa" - - - Wdrożenie aplikacji na środowisko produkcyjne - -Ograniczeniem projektu jest hosting, nie wiadomo czy politechnika -udostępni nam domenę oraz otworzy porty na zewnątrz. +--- +author: +- Wojciech Kubiak +- Piotr Józefowicz +- Sebastian Wawrzyn +title: +- Dokument wizji dla projektu Awionika do rakiet sondażowych +--- + +# Executive summary + +Dokument dotyczy projektu realizowanego w ramach przedmiotu projekt +inżynierski. Niniejszy dokument służy przedstawieniu przeznaczenia +tworzonego systemu, jego głównych cech i przyjętych założeń. Grupą +docelową dla projektu jest koło naukowe na politechnice poznańskiej PUT +RocketLab, zajmujące się budową rakiet i silników rakietowych. Potrzebny +jest komputer pokładowy do rakiety oraz aplikacje umożliwiające obsługę +testów rakiet i silników. Nasz projekt ma dostarczyć: + +- Aplikację desktopową pozwalająca wyświetlać dane na żywo z testów, + konfigurować ustawienia modułów komputera pokładowego oraz + zapisywać/usuwać dane z pamięci podręcznej modułów. + +- Komputer pokładowy posiadający układ wyzwalający separację oraz + zbierający dane telemetryczne o locie, które będą mogły być + przekazywane na żywo do aplikacji poprzez nadajnik i odbiornik. + +- Aplikację webową służącą jako baza danych testów oraz odgrywającą + rolę wizytówki koła + +# Cel i grupa docelowa + +Grupą docelową dla projektu jest koło naukowe na Politechnice +Poznańskiej PUT RocketLab. Koło zajmuje się budową rakiet i silników +rakietowych oraz rozwija systemy awioniczne i naziemne do ich +testowania. Potrzebny jest komputer pokładowy do rakiety, który będzie +odpowiadał za jej lot, zapisywanie danych z tego lotu, oraz lokalizację +rakiety po jej wylądowaniu. Potrzebna jest również aplikacja, która +będzie pełniła funkcję kontrolera lotów/testów. Takie testy generują +dużą liczbę danych, które ciężko uporządkować więc potrzebne jest też +miejsce, w którym będzie można je porządkować i wyświetlać w przejrzysty +sposób. Koło nie posiada też strony internetowej - tak zwanej wizytówki, +która ma budować rozpoznawalność w internecie i pomóc w kontakcie +przyszłym kandydatom na członków koła.\ +Projekt oprócz komputera pokładowego będzie się składał z dwóch +aplikacji -- aplikacji webowej oraz aplikacji desktopowej. Aplikacja +desktopowa ma odgrywać rolę kontrolera testów. To, że aplikacja jest +desktopowa, wynika z faktu, że testy zazwyczaj wykonywane są w miejscach +bez dostępu do internetu. Aplikacja webowa będzie pełniła funkcję +wizytówki oraz bazy danych testów. Członkowie koła będą posiadali login +i hasło do aplikacji, gdzie będą katalogowane dane historyczne z testów. +Dane będzie można eksportować w wygodnym formacie, a także wyświetlać w +formie wykresów i tabelek z danymi. Strona będzie miała możliwość +wprowadzenia danych ręcznie, jednak preferowaną opcją będzie dodawanie +danych przez aplikację desktopowa, która to zrobi w sposób +zautomatyzowany. Aplikacja desktopowa będzie umożliwiała wyświetlanie +danych z testów rakiet oraz silników na żywo. Po teście dane będą +przekazywane do aplikacji webowej, jeśli będzie dostęp do internetu. +Jeśli nie będzie dostępu, to dane zostaną zapisane w pamięci komputera i +przekazane od razu po podłączeniu komputera do Internetu. Aplikacja +desktopowa ma również dać możliwość konfiguracji modułów elektroniki +komputera pokładowego rakiety oraz odczytywania i zapisywania z nich +danych. Pobrane dane będą od razu przekazywane do chmury tak jak w +przypadku testu na żywo. Będzie również możliwa zmiana konfiguracji tych +modułów-zmiany ustawień parametrów programu na danym module (np. ilość +bitów na sekundę podczas wysyłania danych, częstotliwość, moc anteny), +są to parametry, które muszą być zmieniane podczas czasu życia modułu. +Ta funkcjonalność ma na celu zapewnić większe bezpieczeństwo podczas +zmiany tych parametrów. Parametry nie będą zmieniane poprzez wgranie +nowego kodu tylko przez aplikacje, dzięki temu na samym urządzeniu nie +trzeba będzie zmieniać kodu źródłowego.\ +Klientowi zależy na tym, aby pozyskać z rakiety dane, które pozwolą +sprawdzić, czy rakieta osiągnęła oczekiwane parametry lotu zgodne z +wcześniejszą symulacją takie jak apogeum, prędkość, liczba macha czy +przyspieszenie. W tym celu muszą dokonać pomiarów fizycznych za pomocą +odpowiednich czujników takich jak akcelerometr, barometr, magnetometr +czy żyroskop, a następnie zapisać te dane i wyświetlić je w czytelnej +formie w celu ich analizy. Komputer pokładowy będzie umożliwiał zebranie +powyższych danych, a także wyzwolenie separacji/spadochronu w dwóch +różnych konfiguracjach: poprzez automatyczne wykrycie spadku swobodnego +(apogeum). Rakieta będzie też wyposażona w lokalizator, który będzie +umożliwiał odnalezienie rakiety po lokalizacji GPS wysłanej za pomocą +komunikacji bezprzewodowej LORA. + +# Rynek + +Wyposażenie pokładowe rakiety (awionika) składa się głównie z dwóch +części: komputera pokładowego i lokalizatora. Komputery pokładowe +znajdujące się na rynku mają wysoką cenę i większość z nich, nie +oferuje, aplikacji do zbierania danych, przez co robi się z nimi bałagan +i trzeba dbać samemu o to, by te dane katalogować. Gotowe lokalizatory, +mimo że zaawansowane również są bardzo drogie. + +## Przykłady produktów na rynku + +- Dużym zainteresowaniem na świecie cieszą się amerykańskie + [EggTimery](http://eggtimerrocketry.com/home/altimeters-av-bay/). + Posiadają one wiele różnych konfiguracji komputerów oraz + lokalizatorów. Mają jednak one dość wysokie ceny modułów i nie + oferują zintegrowanej aplikacji, która umożliwiałaby analizę danych, + musimy korzystać z osobnych programów. + +- Dostępne są [niemieckie komputery + pokładowe](https://www.rocketronics.de/shop/de/altimax-g3-standard.html?fbclid=IwAR2Btg-xkFvGJoPM6sU9-zkdCB5SZMVawdttTxnr6m8iG2iS46GtkmWs8Fc) + firmy Rocketronics oferujące wysoką jakość danych oraz dokładną + separację. Ich aplikacja nie umożliwia podglądu danych na żywo. Nie + ma w nich lokalizatorów i mają wysoką cenę. + +- [Lokalizator + Featherweight](https://www.featherweightaltimeters.com/featherweight-gps-tracker.html) + (koszt to 610-2000 zł) - wysoka cena, zawiera aplikację, ale do tego + potrzebny jest jeszcze komputer pokładowy.  + +- Jeden z najtańszych i najpopularniejszych sposobów (przynajmniej w + Polsce) na lokalizację rakiety polega na używaniu taniego + [lokalizatora](https://abc-rc.pl/product-pol-7625-Lokalizator-GPS-TK102B-Tracker-GPS-Sledzenie-w-WWW.html), + który wysyła podstawowe dane telemetryczne dzięki modułowi GPS i + GSM. Nie są to jednak produkty przeznaczone konkretnie do rakiet i + nie mogą zostać zintegrowane z komputerem pokładowym.  + +- Nowością jest komputer pokładowy + [Signal-R2](https://bps.space/shop/signal-r2) z aplikacją na telefon + (koszt to ok 1400 zł). Aplikacja dostępna na platformy android oraz + iOS jest zintegrowana z komputerem pokładowym. Cały system + komunikacji jest oparty na Bluetooth, co daje zasięg 10 metrów, + dlatego nie można używać aplikacji do odczytów danych na żywo + podczas lotu. Aby uzyskać szerszy dostęp do dokumentacji, kodów + źródłowych i informacji na temat projektu trzeba dodatkowo + miesięczne płacić za subskrypcje na specjalnej platformie Patronite. + +# Opis produkt + +## Aplikacja webowa + +- wizytówka koła + +- dane z testów będzie można zapisywać na serwerze w celu stworzenia + historii testów + +- eksport danych GPS w formacie KML (trajektoria lotu) + +- eksport danych telemetrycznych do Excel'a + +- import danych pomiarowych z pliku + +- wyświetlenie danych historycznych (z testów) + +- wyświetlenie danych historycznych w formie live (z testów) + +- wyszukiwanie testu po nazwie i dacie + +- kategoryzacja danych telemetrycznych (historia testów) przypisana do + testu + +## Aplikacja desktopowa + +- pomiary z rakiety obrazowane na żywo: + + - wykres prędkości od czasu, + + - wykres przyspieszenia od czasu, + + - wykresy orientacji XYZ, + + - wykres wysokości i wychylenia w osiach XYZ od czasu, + + - wyświetlenie lokalizacji GPS na mapie (Google Maps) + +- obrazowane danych z hamowni na żywo + + - wykres ciągu do czasu + + - wykres ciśnienia do czasu + +- dane po teście rakiety czy silnika będą zapisywane na serwerze + +- zgrywania/usuwanie danych z modułów elektronicznych + +- zmiana konfiguracji modułów elektronicznych + +## Elektronika + +- dokonywanie pomiarów podczas lotu (prędkość, przyspieszenie, + wysokość, wychylenia w osiach XYZ)  + +- lokalizacja GPS oraz pomiary wysyłane do stacji naziemnej za + pośrednictwem komunikacji bezprzewodowej LORA  + +- wykrycie apogeum (spadku swobodnego) pozwalające wyzwolić + separacje/spadochron + +- wyzwolenie separacji, spadochronu poprzez odpalenie zapalnika + elektrycznego  + +- przesyłanie danych do stacji naziemnej przez moduł komunikacyjny  + +- odbieranie danych przez odbiornik + +- odpalenie drugie spadochronu na określonej wysokości + +- przekazywanie danych do aplikacji desktopowej + +- zapisywania danych do pamięci modułu + +- odczytywanie danych z pamięci modułu + +- zmiana konfiguracji modułu + +# Zakres i ograniczenia + +## Skład zespołu + +- Wojciech Kubiak - systemy wbudowane - arduino, c++, FreeRTOS, python + +- Sebastian Wawrzyn - backend - .NET Core, C-.05em , Docker, NoSql + +- Piotr Józefowicz - frontend - Vue.js, typescript + +## Kamienie milowe + +- I faza, I semestr (02.2020 - 07.2020): + + - Przygotowanie prototypu aplikacji + + - Przygotowanie backlogu dla projektu w systemie Trello, + opracowanie funkcjonalności, user stories + + - Rozpoczęcie prac programistycznych nad aplikacją + + - Rozpoczęcie prac programistycznych nad komputerem pokładowym 1.0 + + - Testowanie komputera pokładowego + + - Ukończenie MVP aplikacji i komputera pokładowego + + - Poddanie MVP testom funkcjonalnym + +- II faza, II semestr(10.2020 - 01.2021): + + - Uaktualnienie dokumentacji i Trello + + - Kontynuacja prac programistycznych nad aplikacjami + + - Kontynuacje prac programistycznych nad komputerem pokładowym + + - Rozpoczęcie prac nad nadajnikiem i odbiornikiem + + - Testowanie komputera pokładowego oraz elektroniki naziemnej + + - Ukończenie aplikacji wraz ze wszystkimi zdefiniowanymi + funkcjonalnościami + + - Integracja aplikacji z elektroniką + + - Testy integracyjne + + - Wdrożenie aplikacji na publiczną domenę + +## Harmonogram + +MVP produktu zostanie wypracowane i przedstawione do końca czerwca 2020 +roku, zawierać będzie funkcjonalności takie jak: + +- Komputer pokładowy 1.0: + + - Dokonywanie pomiarów telemetrycznych + + - Zapis danych na kartę SD + + - Wyzwolenie separacji za pomocą timera + + - Odpalenie zapalnika elektrycznego + +- Aplikacja internetowa (frontend): + + - Stworzenie konta użytkownika, logowanie + + - Dodawanie testów z pliku + + - Wyświetlanie danych z testów + + - Przegląd danych historycznych + + - Zintegrowania aplikacji webowej z REST API + +- Aplikacja serwerowa, REST API: + + - Dodanie serwisów REST pozwalających na operacje wymienione w + punkcie "Aplikacja internetowa" + + - Zintegrowania API z bazą danych + + - Wdrożenie aplikacji na środowisko testowe + +Druga wersja produktu wypracowana i oddana do stycznia 2021 roku, +obejmować będzie: + +- Wszystkie funkcjonalności zdefiniowane w MVP + +- Komputer pokładowy 2.0: + + - Układ wyzwolenia separacji + + - Komunikacja z nadajnikiem + + - Konfiguracja modułu + + - Zapis danych na pamięć flash + +- Nadajnik/Lokalizator: + + - Lokalizacja GPS oraz redundantny system prędkości wysokości + przyspieszenia + + - Komunikacja bezprzewodowa LORA + + - Konfiguracja modułu + +- Elektronika naziemna/Odbiornik: + + - Konfiguracja modułu + + - Odbieranie danych od komputera pokładowego (LORA) + + - Przekazywanie danych do serwera za pomocą REST API + + - Przekazywanie danych do kolejnych urządzeń za pomocą Seriala + +- Aplikacja internetowa (frontend): + + - Wyświetlanie i gromadzenie danych historycznych testów + + - Wyświetlanie testów historycznych w postaci live + + - Eksport testów do plików + + - Widok podsumowania testu + + - Profil użytkownika + +- Aplikacja desktopowa: + + - Wyświetlanie danych z testów live (wykresy) + + - Wyświetlanie lokalizacji za pośrednictwem Google Maps + + - Konfigurowanie płytki + + - Odczyt danych z płytki + + - Usuwanie danych z płytki + +- Aplikacja serwerowa, REST API: + + - Dodanie serwisów REST pozwalających na operacje wymienione w + punkcie "Aplikacja internetowa" + + - Dodanie serwisów REST pozwalających na operacje wymienione w + punkcie "Aplikacja desktopowa" + + - Wdrożenie aplikacji na środowisko produkcyjne + +Ograniczeniem projektu jest hosting, nie wiadomo czy politechnika +udostępni nam domenę oraz otworzy porty na zewnątrz.