Celem projektu było stworzenie aplikacji mobilnej rozpoznającej wykonywaną aktywność fizyczną na podstawie danych z akcelerometru.
- Android Studio, Java
- IntelliJ IDEA 2019.2.4
- DeepLearning4J
- SQLite
- Bluetooth
- zbieranie danych z akcelerometru i zapisywanie ich do bazy danych SQLite
- rozpoznawanie aktywności fizycznej i zapisywanie jej do bazy danych SQLite
- wysyłanie bazy danych przez Bluetooth
- responsywny interfejs użytkownika
- możliwość modyfikacji aplikacji, tak aby służyła do analizy danych z czujników telefonu
- Uruchom program Android Studio.
- Otwórz projekt zawarty w folderze /AktywnośćFizyczna.
- Wybierz w menu Build -> Build Bundle(s) / APK(s) -> Build APK(s)
- Po wygenerowaniu APK wyświetli się powiadomienie. Należy kliknąć podkreślony link "locate" znajdujący się w powiadomieniu.
- Podłącz telefon do komputera za pomocą kabla USB
- Skopiuj plik .apk do pamięci wewnętrznej telefonu
- Znajdź plik .apk na telefonie i zainstaluj aplikację na telefonie.
- Uruchom zainstalowaną aplikację.
- Z menu aplikacji wybierz ZBIERZ POMIARY.
- Ustaw wykonywaną aktywność.
- Włącz zbieranie pomiarów.
- Dokonaj zmiany wykonywanej aktywności jeśli ona się zmieni
- Wyłącz zbieranie pomiarów.
- Powróć do menu.
- Włącz w komputerze i telefonie Bluetooth
- Przybliż telefon do komputera
- Zparuj telefon z komputerem.
- Z menu aplikacji wybierz opcję PRZEŚLIJ DANE PRZEZ BLUETOOTH.
- Wybierz w telefonie komputer do którego zostanie wysłany plik
- W ustawieniach(na komputerze) dotyczących Bluetooth wybierz Wyślij lub odbierz pliki przez Bluetooth
- Po pojawieniu się okna kliknij Odbierz plik
- Zapisz plik SensorDatabase.db w katalogu dl4j-examples\src\main\resources\uci\train
- Uruchom program getData.py znajdujący się w katalogu dl4j-examples\src\main\resources\uci\train
- Skopiuj plik label_dict.txt (katalog dl4j-examples\src\main\resources\uci\train) do katalogu AktywnoscFizyczna\app\src\main\res\raw
- Otwórz plik LSTMNetwork.java (katalog dl4j-examples\src\main\java\org\deeplearning4j\examples\feedforward\mnist) w IntelliJ
- Uruchom program poprzez wybranie w menu Run -> Run 'LSTMNetwork'
- Skopiuj plik trained_seq_model.zip (katalog dl4j-examples) do katalogu AktywnoscFizyczna\app\src\main\res\raw
- Zainstaluj aplikację mobilną Aktywność Fizyczna ze zmodyfikowaną siecią neuronową.
- Uruchom zainstalowaną aplikację.
- W menu wybierz ŚLEDŹ AKTYWNOŚĆ.
- Dobranie parametrów sieci neuronowej
- Filtrowanie danych
- Interfejs użytkownika upraszczający proces konfiguracji oprogramowania
- MainActivity.java na podstawie https://stackoverflow.com/questions/4573761/bluetooth-file-transfer-in-android
- Pomiary.java i AktywnoscFizyczna.java na podstawie https://developer.android.com/guide/topics/sensors/sensors_overview oraz https://deeplearning4j.org/docs/latest/deeplearning4j-cheat-sheet
- DatabaseHelper.java na podstawie https://guides.codepath.com/android/local-databases-with-sqliteopenhelper
- ObjectSerializer.java pochodzi ze strony https://github.com/apache/pig/blob/89c2e8e76c68d0d0abe6a36b4e08ddc56979796f/src/org/apache/pig/impl/util/ObjectSerializer.java