Ta strona korzysta z plików cookie, abyśmy mogli zapewnić Ci najlepszą możliwą obsługę. Informacje o plikach cookie są przechowywane w Twojej przeglądarce i pełnią takie funkcje, jak rozpoznawanie Cię po powrocie na naszą stronę internetową i pomaganie naszemu zespołowi w zrozumieniu, które sekcje witryny uważasz za najbardziej interesujące i przydatne.
Mobilna stacja badania powietrza
Stworzyliśmy aplikację, która współpracując z urządzeniami pomiarowymi, monitoruje w czasie rzeczywistym wybrane parametry jakości powietrza. Zebrane pomiary prezentowane są w formie interaktywnej mapy.
Dodatkowo, urządzenia mobilne z dostępem do sieci GSM pozwalają na otrzymywanie bieżących informacji o warunkach pogodowych oraz uruchamianie alarmów w przypadku wystąpienia niebezpiecznych zjawisk atmosferycznych.
Kluczowe funkcje i możliwości
- Monitorowanie w czasie rzeczywistym:
Aplikacja na bieżąco monitoruje parametry jakości powietrza i natychmiast informuje użytkowników o przekroczeniu bezpiecznych poziomów substancji .
- Interaktywne mapowanie:
Dane zebrane z urządzeń pomiarowych są prezentowane na interaktywnej mapie, umożliwiając użytkownikom wizualizację jakości powietrza w różnych lokalizacjach.
- Płynna integracja:
Wykorzystując narzędzie Swagger, nasza aplikacja jest zintegrowana z interfejsem API Państwowego Monitoringu Środowiska, zapewniając dostęp do ogólnokrajowych danych dotyczących jakości powietrza.
- Kompleksowa analiza danych:
System śledzi kluczowe wskaźniki środowiskowe, w tym temperaturę, wilgotność, ciśnienie atmosferyczne i zanieczyszczenia, takie jak dwutlenek siarki (SO2), tlenek węgla (CO), ozon (O3), dwutlenek azotu (NO2), benzen (C6H6), PM2.5 i PM10.
- Konfigurowalne alerty:
Użytkownicy mogą skonfigurować różne alerty dźwiękowe i świetlne, co zapewnia natychmiastowe ostrzeżenie o potencjalnych zagrożeniach i umożliwia szybką reakcję w przypadku niebezpiecznych sytuacji.
- Zarządzanie urządzeniem:
Aplikacja zapewnia intuicyjny interfejs do zarządzania kompatybilnymi stacjami pomiaru jakości powietrza, w tym zarządzania energią i regulacji trybu pracy.
Pobieranie danych
Wykorzystanie narzędzia Swagger pozwoliło nam na szybką i efektywną integrację z API Państwowego Monitoringu Środowiska (PMŚ).
Dzięki temu, oprócz komunikacji ze stacjami pomiarowymi, aplikacja oferuje dostęp do bieżących pomiarów wykonywanych między innymi za pomocą urządzeń obsługiwanych przez Główny Inspektorat Ochrony Środowiska. Wszystkie pobrane dane przechowywane są w usłudze Cloud, co ułatwia prowadzenie długoterminowej historii pomiarowej. Wykorzystując wbudowany moduł GPS, aplikacja automatycznie lokalizuje najbliższą stację pomiarową i pobiera informacje o jakości powietrza w danym miejscu.
Istnieje również możliwość ręcznego wyboru i sprawdzenia danych ze stacji w całym kraju. Aplikacja prezentuje zebrane dane w postaci interaktywnej mapy, co ułatwia wizualizację jakości powietrza. Dodatkowo urządzenia mobilne z dostępem do sieci GSM pozwalają na odebranie zewnętrznych alertów RCB i wyzwolenie alarmu w kompatybilnych stacjach pomiarowych.
Pobierane dane
- Temperatura
- Wilgotność
- Ciśnienie
- Dwutlenek siarki SO2
- Tlenek węgla CO
- Ozon O3
- Dwutlenek azotu NO2
- Benzen C6H6
- Pył zawieszony PM2.5
- Pył zawieszony PM10
Struktura technologiczna
Solidna architektura technologiczna naszego rozwiązania zapewnia wydajność, skalowalność i ochronę danych na najwyższym poziomie.
- Vue.js:
Frontend aplikacji został opracowany przy użyciu Vue.js, progresywnego frameworka JavaScript, który umożliwia tworzenie dynamicznego i responsywnego interfejsu użytkownika. Oparta na komponentach architektura Vue pozwala na tworzenie komponentów wielokrotnego użytku, przyspieszając rozwój i zapewniając spójność całej aplikacji.
- Node.js & NestJS:
Zaplecze aplikacji jest obsługiwane przez Node.js, a NestJS zapewnia skalowalny framework do tworzenia wydajnych i niezawodnych aplikacji po stronie serwera. Ta kombinacja zapewnia szybkie przetwarzanie danych w czasie rzeczywistym i płynną integrację API.
- TypeScript:
Aby zwiększyć niezawodność i ułatwić utrzymanie kodu, cała aplikacja została stworzona w TypeScript. Silny system typów tego języka pozwala na wychwytywanie błędów już na etapie tworzenia, co znacząco poprawia jakość oprogramowania.
- Integracja z bazą danych:
Aplikacja wykorzystuje opartą na chmurze bazę danych do bezpiecznego przechowywania historycznych danych pomiarowych. Taka konfiguracja umożliwia użytkownikom dostęp do danych z przeszłości, analizowanie trendów i podejmowanie świadomych decyzji w oparciu o kompleksowe zapisy.
- Bezpieczeństwo:
Bezpieczeństwo jest dla nas priorytetem. Dlatego wdrożyliśmy standardowe w branży protokoły bezpieczeństwa w celu ochrony transmisji i przechowywania danych. Obejmuje to wykorzystanie protokołu HTTPS do bezpiecznej komunikacji i szyfrowanych baz danych w celu ochrony poufnych informacji.
- Angular i Ionic Framework:
W przypadku aplikacji mobilnej wykorzystaliśmy framework Angular w połączeniu z frameworkiem Ionic. Ta kombinacja pozwoliła nam opracować wieloplatformową aplikację mobilną, która zapewnia spójne wrażenia użytkownika zarówno na urządzeniach z systemem iOS, jak i Android. Potężne funkcje Angulara, takie jak wstrzykiwanie zależności i dwukierunkowe wiązanie danych, wraz z komponentami Ionic zoptymalizowanymi pod kątem urządzeń mobilnych, umożliwiły stworzenie wydajnej i przyjaznej dla użytkownika aplikacji mobilnej.
Testowanie i Zapewnianie Jakości
Aby zagwarantować niezawodność i wydajność naszej aplikacji, zastosowaliśmy rygorystyczną strategię testowania, wykorzystując następujące narzędzia i frameworki:
GitLab
Potoki ciągłej integracji/ciągłego wdrażania (CI/CD) w GitLab ułatwiły zautomatyzowane testowanie, zapewniając, że każda zmiana kodu została dokładnie sprawdzona przed wdrożeniem.
Locust
Użyliśmy Locust do testowania obciążenia, symulując scenariusze intensywnego użytkowania, aby upewnić się, że aplikacja może obsłużyć duże ilości danych i żądań użytkowników bez utraty wydajności.
Testy OpenAPI i REST API
Specyfikacja OpenAPI została wykorzystana do zdefiniowania punktów końcowych API, a kompleksowe testy zostały przeprowadzone przy użyciu narzędzi takich jak REST API w celu sprawdzenia dokładności i niezawodności odpowiedzi API.
PyTest & Jest
Testy jednostkowe i integracyjne zostały przeprowadzone przy użyciu PyTest dla komponentów Python i Jest dla komponentów JavaScript. Narzędzia te zapewniły, że poszczególne moduły działały poprawnie, a system jako całość działał zgodnie z przeznaczeniem.
Cypress
Testy end-to-end przeprowadzono przy użyciu Cypress, co pozwoliło nam symulować rzeczywiste interakcje użytkownika i zweryfikować ogólną funkcjonalność aplikacji z perspektywy użytkownika.
Konfiguracja kompatybilnych stacji pomiarowych
Nasza aplikacja pozwala w wygodny sposób kontrolować działanie kompatybilnych stacji testujących jakość powietrza. Jedną z podstawowych opcji jest zarządzanie zasilaniem urządzenia. W prosty sposób można przełączać tryby pracy i balansować pomiędzy wysoką częstotliwością pomiarów, a oszczędzaniem energii elektrycznej i długim działaniem baterii stacji. Użytkownik może ustawić różne alerty dźwiękowe i świetlne wyzwalane przez zdarzenie zaprogramowane z poziomu urządzenia mobilnego. Dodaliśmy również intuicyjny panel do sterowania pracą urządzeń podłączonych do wyjść cyfrowych stacji. Gotowe skrypty obsługują m.in. popularne systemy z filtrami HEPA i węglem aktywnym.