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