Opis zlecenia
Dążymy do stworzenia innowacyjnego projektu wykorzystującego urządzenie ESP32, platformę Arduino oraz czujnik ADXL345. Projekt zakłada wykrywanie wibracji za pomocą czujnika i przesyłanie danych na serwer http w plikach txt albo csv. Oczekujemy, że programista stworzy aplikację spełniającą poniższe wymagania:
• Konfiguracja połączenia WiFi i nawiązanie połączenia z siecią za pomocą biblioteki WiFiManager.
• Pobieranie aktualnego czasu z serwera NTP (np. "europe.pool.ntp.org") oraz obsługa błędów w przypadku problemów z dostępem do daty.
• Komunikacja z dedykowanym serwerem HTTP przy użyciu biblioteki HTTPClient, z uwzględnieniem obsługi potencjalnych błędów lub niepowodzeń w komunikacji.
• Wykrywanie typu podpiętego czujnika (w pierwszej wersji: ADXL345) oraz inicjalizacja i konfiguracja.
• Wykrywanie wibracji poprzez czujnik ADXL345 i przesyłanie danych na serwer HTTP w przypadku ich wystąpienia w plikach csv i txt.
Wymagane umiejętności:
• Doświadczenie w programowaniu w języku C++ / Arduino.
• Znajomość platformy Arduino oraz umiejętność tworzenia kodu zgodnego z ESP32.
• Znajomość obsługi modułów WiFi oraz komunikacji HTTP.
• Znajomość biblioteki WiFiManager do ułatwienia konfiguracji połączenia WiFi.
• Znajomość biblioteki HTTPClient do obsługi komunikacji z serwerem HTTP.
• Znajomość biblioteki Adafruit_ADXL345 do obsługi czujnika ADXL345.
• Umiejętność zarządzania czasem poprzez bibliotekę time.
Zalecenia:
Osoba realizująca zlecenie powinna dostarczyć pełny kod źródłowy wraz z komentarzami oraz instrukcją integracji. Zwrócić uwagę na zabezpieczenia i obsługę błędów, zapewniając stabilność i niezawodność projektu. Przykłady komunikatów błędów oraz instrukcje, jak użytkownik może poradzić sobie z potencjalnymi problemami.
Opcje rozbudowy:
W przyszłości planujemy dodanie obsługi innych typów czujników przy użyciu interfejsu I2C. Projekt może być zaprojektowany z myślą o łatwej rozbudowie.
Prosimy o portfolio realizowanych projektów związanych z C++ i Arduino.