Zakres projektu Kluczowe wymagania
Transkrypt
Zakres projektu Kluczowe wymagania
TelematIQ Platforma on-line do akwizycji i analityki danych telemetrycznych Zakres projektu Platforma on-line do gromadzenia danych z czujników pomiarowych (temperatury, wilgotności, impulsów, GPS i innych), ich normalizowania i udostepniania w postaci różnego rodzaju raportów on-line, e-mail lub poprzez API. Aplikacja dla małej grupy przeszkolonych użytkowników. Dane telemetryczne, niezależnie od źródła mają zbliżony charakter (proste, liczbowe dane w funkcji czasu) i mogą być przetwarzane w podobny sposób. Celem projektu jest aplikacja z podstawowa funkcjonalnoścą i przeniesieniem mniej typowych funkcji do modułów rozszerzeń. Do wykonania wersja minimum: solidny i przetestowany rdzeń aplikacji + klika niezbędnych modułów dla urządzeń i raportów. Zleceniodawca dostarczy bazowy projekt UI (do implementacji) oraz będzie służył na bieżąco wsparciem i doświadczeniem podczas tworzenia architektury oprogramowania i rozwoju projektu. Kluczowe wymagania • Aplikacja dla Linux Debian/Ubuntu Server zbudowana z wykorzystaniem Python + Django, bazy danych PostgreSQL + PL/pgSQL, istniejących bibliotek i dostępnego oprogramowania • UI w HTML5, CSS3 i frameworkach Twitter Bootstrap i jQuery • Modułowość dająca możliwość dodania nowych formatów danych (driverów dla nowych urządzeń), funkcjonalności oraz raportów. Musi być to możliwe dla mniej zaawansowanych programistów bez znajomości kodu całej aplikacji i dostępu do niego (dokumentacja API!). • Różne kanały przekazywania danych do aplikacji np.: wgrywanie paczek danych poprzez FTP, strumień danych XML lub API (np. do bramki SMS) • Niezależne od typu czujnika zarządzanie urządzeniami z możliwością grupowania w grupy i podgrupy, definiowania dodatkowych parametrów (np. kalibracyjnych) • Zarządzanie prawami dostępu, użytkownikami i grupami użytkowników w połączeniu z grupami urządzeń • Większość zadań związanych z administracją możliwa poprzez przeglądarkę WWW • Wydajność przetestowana na 1 serwerze baz danych dla 5mln nowych rekordów dziennie przy założeniu dostępu do danych historycznych z okresu ostatnich 2 lat. Czas generowania raportów nie powinien przekraczać 1-2 sek. • Możliwość dostosowani wyglądu aplikacji i funkcjonalności (aktywnych modułów) do profilu użytkownika (firmy) • Zastosowanie metodyki SCRUM (lub podobnej) podczas rozwoju oprogramowania • Wsparcie dla obsługi kilku języków i stref czasowych • Proaktywność, profesjonalizm i terminowość [email protected] © Sekel Sp. z o.o. 2013 1/3 TelematIQ Platforma on-line do akwizycji i analityki danych telemetrycznych Przykładowe formaty danych z urządzeń Temperature and humidity: Timestamp, Type ID, Device ID, Status, RH, Temperature 20120501125959, 83, 00B8C4, 01, 0112, 0048 AMR transmitter: Timestamp, Type ID, Msg.length, Model, Revision, Status, RSSI, Msg.counter, Customer, Device ID, Fwd pulse count, Rev pulse count, Min. fwd flow in 15min, Max. fwd flow in 15min, Max. rev flow in 15min, History1, History2, History3, History4, History5, number of dir. changes 20120501125959, C2, 1F, 1, 1, 48, A, 4, 00, 00D631, 0029A04B, 0000C2, 0000, 0002, 000C, 0041, 0001, 0002, 0003, 0004, 01 Satellite GPS transmitter: Timestamp, Type ID, Device ID, Packet ID, Status, Longitude, Latitude, Moving, Temperature, Digital, Analog, Reserved, Waypoint ID, Distance 20120501125959, 05, C24323, 1F875432, 1F, 0023F456, 0012348C, 1, 0123, 1, 0D31, 0000, 0000A04B, 0001A7 Pola Waypoint ID, Distance są obliczane w stosunku do poprzedniej lokalizacji i nie pochodzą z nadajnika. Nadajniki satelitarne generują stosunkowo mały ruch (koszty!), ale podobna aplikacja umożliwiająca śledzenie pojazdów za pomocą nadajników GPS+GPRS może już generować nawet setki odczytów na godzinę Przykładowe zastosowanie aplikacji Poniższe przykłady mogą bazować na dodatkowych modułach i bardziej rozbudowanych raportach i należy je traktować jako wytyczne do zaprojektowania architektury aplikacji. Przykład 1 – ekspedycja naukowa na Syberii Dane wejściowe: Satelitarny nadajnik GPS, dane nadawane są co 3 godziny lub w momencie naciśnięcia przycisku. Dane wyjściowe: Raporty dostępne on-line, historia trasy na mapie z dodatkowymi informacjami na temat odczytów temperatury, przycisku, ruchu obiektu, lokalizacji po najechaniu/kliknięciu na punkt. Alarm SMS/e-mail, jeśli wybrane obiekty opuszczą teren o zadanym promieniu lub zostanie naciśnięty przycisk. [email protected] © Sekel Sp. z o.o. 2013 2/3 TelematIQ Platforma on-line do akwizycji i analityki danych telemetrycznych Przykład 2 – zużycie energii elektrycznej w oddziałach firmy Dane wejściowe: Nadajnik impulsów + nadajnik temperatury i wilgotności Dane odbierane co 5 minut, bywają niekompletne. Dane wyjściowe: Impulsy z użyciem danych kalibracyjnych przeliczne do sumarycznego zużycia energii w kWh Dane z użyciem interpolacji zostały przedstawione jako odczyty w okrągłych minutach np. 12:00, 12:05, 12:10, 12:15 itp., brakujące dane zostały uzupełnione. On-line klient potrzebuje wykresy zużycia energii elektrycznej w kW/h, aktualne wskazanie licznika i informacje o sumarycznym zużyciu energii w ciągu ostatnich 24h, 7d i 1m. Temperatura i wilgotność są pokazywane jako wielkości uśrednione. Klient ma jeden podlicznik, bo wynajmuje mniejszy lokal innej firmie i jego faktyczne zużycie energii to Ek = Eg-Ep Przykład 3 – monitoring magistrali dystrybucji wody Dane wejściowe: Nadajnik AMR z 6h historia + detektor wycieków (osobny czujnik) Dane odbierane są co 3 godziny, bywają niekompletne. Dane o wyciekach są przekazywane raz dziennie. Dane wyjściowe: Raporty dostępne on-line. Tabela z podsumowaniem historii odczytów, z wyliczonymi przepływami. Alarm wysyłany e-mailem/SMS dla przepływów spoza dozwolonych wartości oraz wycieków. Dla każdego urządzenia wykresy z przepływami godzinowymi i naniesionymi informacjami o ewentualnych wyciekach lub przepływach wstecznych. Możliwość porównania kilku wybranych urządzeń ze sobą. [email protected] © Sekel Sp. z o.o. 2013 3/3