Opis projektu
PrzetłumaczoneOferujemy pracę zdalną. Musisz napisać oprogramowanie układowe pod gotowy sprzęt. Sprzęt oparty jest na procesorze TM4C1294NCPDT. Sprzęt jest zaprojektowany, w pełni zmontowany i czeka na swoje oprogramowanie układowe. Odpowiedzialność za jego działanie ponosi producent sprzętu
Wymagania funkcjonalne:
1. Odczyt 2 czujników przez interfejs RS-485 z użyciem protokołu ModbusRTU i uzyskanie do 4 wartości parametrów z każdego czujnika (temperatura, wilgotność, co2, ciśnienie)
2. Sterowanie dwoma przekaźnikami (więcej informacji w sekcji o interfejsie webowym)
3. Odczyt czujnika ds18b20
4. Sterowanie 6 wskaźnikami siedmiosegmentowymi + dwoma kolumnami. Wyświetlanie czasu, daty i temperatury
5. Interfejs webowy (do konfiguracji i monitorowania)
6. Dynamiczny i statyczny adres IP
7. Urządzenie musi wspierać aktualizacje oprogramowania układowego przez interfejs webowy
8. Okresowa synchronizacja z dokładnym źródłem czasu - NTP i GPS
9. Koncepcja zegara głównego i podrzędnego:
- Zegar główny z pewną okresowością pyta zegary podrzędne o potwierdzenie połączenia z nimi. Zegar główny przekazuje czas do zegara podrzędnego podczas odczytu, jeśli czas został wprowadzony ręcznie i przy następnej synchronizacji z źródłem dokładnego czasu. Przesyłają harmonogram wywołań do zegarów podrzędnych w przypadku jego zmiany. Na początku wyszukiwanie zegarów podrzędnych poprzez wysłanie zapytania do adresu rozgłoszeniowego. Łącznie musi być obsługiwanych do 200 zegarów podrzędnych.
- Zegar odpowiada na zapytania od zegara. Odpowiedź zawiera stan uzwojeń przekaźników oraz zapytanie o harmonogram wywołań, jeśli to konieczne.
10. Element fotooporny do automatycznej regulacji jasności wskaźników
11. Zapisywanie ustawień w pamięci nieulotnej
12. Funkcja przywracania ustawień fabrycznych
Wymagania dotyczące interfejsu webowego
Powinno być 5 stron interfejsu webowego.
1. Strona autoryzacji
2. Strona główna
3. Strona z ustawieniami systemowymi
+ możliwość wyboru pliku do aktualizacji oprogramowania układowego
+ możliwość ustawienia nowego hasła logowania
4. Strona z ustawieniami przekaźników i wywołań
5. Strona wyświetlająca listę zegarów podrzędnych
Nie ma specjalnych wymagań dotyczących projektu interfejsu webowego, najważniejsze, aby był schludny, przejrzysty, logiczny.
1. Wyświetlanie na stronie głównej w czasie rzeczywistym statusu przekaźników, wartości parametrów czujników, temperatury, adresu IP, aktualnego czasu na urządzeniu (godziny, minuty, sekundy), daty i dnia tygodnia
2. Możliwość aktualizacji oprogramowania układowego przez interfejs webowy
3. Autoryzacja w interfejsie webowym za pomocą loginu / hasła z możliwością zmiany hasła
4. Wybór między stałą jasnością wskaźników (ustawioną jako procent) lub automatyczną (w zależności od sygnału z elementu fotoopornego)
5. Wskazanie, czy urządzenie jest zegarem głównym czy podrzędnym (dla zegarów podrzędnych powinien być podany adres IP zegara głównego)
6. Wskazanie adresu IP serwera NTP
7. Tabela z harmonogramem wywołań (czas z dyskretnością co minutę, częstotliwość (jednorazowo, raz dziennie, raz w tygodniu, raz w miesiącu), czas trwania działania z dyskretnością co sekundę, numer dnia tygodnia lub miesiąca) - do 300 reguł
8. Włączanie/wyłączanie wyświetlania temperatury, dat na wskaźnikach
9. Wskazanie metody uzyskiwania adresu IP (DHCP, statyka). Wskazanie statycznego adresu IP
10. Możliwość ręcznego ustawienia czasu
11. Konfiguracja 2x przekaźników z oznaczeniem typu (wywołania, typ przekaźnika 1, typ przekaźnika 2)
12. Konfiguracja warunków działania przekaźnika dla każdego z parametrów czujnika osobno. Istnieją tylko dwie grupy, ponieważ są tylko dwa czujniki.
Struktura warunków działania przekaźnika jest następująca:
- Czy ten parametr czujnika jest monitorowany (checkbox)
- Poziom 1. Jeśli wartość tego parametru czujnika przekroczy ten poziom, przekaźniki oznaczone jako typ 1 będą działać.
- Poziom 2. Jeśli wartość tego parametru czujnika przekroczy ten poziom, przekaźniki oznaczone jako typ 2 będą działać.
- Poziom 3. Przekaźniki typu 1 i typu 2, które zostały uruchomione, będą wyłączone dopiero po tym, jak wszystkie monitorowane parametry czujników spadną poniżej tego poziomu.
- Czas przekaźnika typu 2. Czas, po którym przekaźniki oznaczone jako typ 2 są uruchamiane, jeśli jeden z monitorowanych parametrów czujnika przekracza poziom 1
13. Jeśli zegar jest skonfigurowany jako główny, to interfejs webowy powinien wyświetlać listę zegarów podrzędnych, z którymi utrzymywana jest komunikacja, wskazując adres IP zegara podrzędnego, datę ostatniej komunikacji, stan uzwojeń przekaźników. Powinien być również przycisk do aktualizacji listy zegarów podrzędnych. Po kliknięciu tego przycisku zostanie wysłane zapytanie do adresu rozgłoszeniowego. Łącznie obsługiwanych jest do 200 zegarów podrzędnych.
Czekam na oferty dotyczące czasu i kosztów