Jak stworzyć aplikację na Androida dla systemu Smart Home w Android Studio?

Ten artykuł jest drugą częścią innego artykułu Jak zrobić inteligentną automatykę domową za pomocą modułu ESP32? w którym zapewniono sposób wykonania Systemu Inteligentnego Domu. W tym artykule pokażemy krok po kroku, jak stworzyć aplikację na Androida i połączyć ją z bazą danych Firebase. Wtedy ta aplikacja mobilna posłuży do przełączania urządzeń elektrycznych w domu.



Tworzenie aplikacji na Androida

Systemy inteligentnego domu, które są już dostępne na rynku, są bardzo kosztowne. Jeśli masz niezbędne komponenty i urządzenie z Androidem, możesz stworzyć w domu system automatyki domowej, który będzie równie wydajny, ale będzie bardzo tani. Zapoznaj się z tymi dwoma artykułami, aby stworzyć własny system automatyki domowej w domu.



Jak opracować aplikację na Androida do automatyki domowej?

Zamierzamy opracować aplikację na Androida, która posłuży jako pilot do sterowania urządzeniami gospodarstwa domowego podłączonymi do modułu ESP32 w innym artykule. przejść do innego artykułu, Kliknij tutaj .



Krok 1: Potrzebne oprogramowanie

Ponieważ zamierzamy stworzyć aplikację na Androida, będziemy potrzebować tylko jednego oprogramowania. Ale aby uruchomić to oprogramowanie, musimy najpierw zainstalować inne oprogramowanie. Możesz je pobrać z poniższych linków.



  • Android Studio.
  • JAVA JDK.

Krok 2: Zrozumienie głównej pracy

Zamierzamy stworzyć aplikację, która będzie miała zarówno kodowanie front-end, jak i back-end. Na ekranie głównym będzie zawierał kilka przycisków sterujących przełączaniem urządzeń elektrycznych podłączonych do płytki mikrokontrolera ESP32. W kodowaniu zaplecza wyślemy „1”, jeśli przełącznik jest włączony i „0”, jeśli przełącznik jest wyłączony.

Zrobimy bazę danych Firebase. Ta baza danych będzie zawierać 2 jednostki o nazwach Light i AC. Światło będzie zawierało wartość włączania świateł, a AC będzie zawierało wartość przełączania wentylatora. Wartość ta zostanie następnie przesłana do mikrokontrolera, a następnie mikrokontroler wyśle ​​odpowiedni sygnał sterujący do modułu przekaźnika.

Krok 3: Konfiguracja Android Studio

Przed zainstalowaniem Android Studio, najpierw zainstalujemy JAVA JDK. Aby to zainstalować, kliknij exe plik pobrany z powyższego łącza i klikaj dalej, aż zostanie pomyślnie zainstalowany. Teraz wykonaj następujące kroki, aby wiersz polecenia rozpoznawał java jako polecenie zewnętrzne lub wewnętrzne.



  1. otwarty Panel sterowania i kliknij System i bezpieczeństwo .
  2. Kliknij System .

    System

  3. Kliknij Zaawansowane ustawienia systemu a następnie kliknij Zmienne środowiskowe .

    Zaawansowane ustawienia systemu

  4. W sekcji Zmienna systemowa kliknij ścieżkę, a następnie kliknij edytuj. Nowy Edytuj zmienną środowiskową pojawi się okno.

    Edytuj ścieżkę

  5. Teraz idź do C: Program Files Java w komputerze. Otwórz folder JDK, kliknij folder bin, a następnie skopiuj ścieżkę do tego folderu.

    Ścieżka do folderu bin

  6. Teraz przejdź do pola Edytuj zmienną środowiskową i kliknij nową, aby utworzyć nową zmienną. Wklej ścieżkę skopiowaną w powyższym kroku do nowej zmiennej i zapisz ją.
  7. Teraz, aby potwierdzić, czy jest całkowicie zainstalowany, otwórz wiersz polecenia i wpisz java - wersja .

    Wersja JAVA

Teraz, gdy pomyślnie zainstalowałeś Java JDK na swoim komputerze. Teraz zainstalujmy Android Studio na Twoim komputerze. Instalacja tego oprogramowania jest bardzo łatwa. Musisz otworzyć pobrany plik i klikać dalej, aż oprogramowanie zostanie w pełni zainstalowane.

Krok 4: Tworzenie układu

Zrobimy układ, który będzie zawierał kilka przycisków, które wyślą polecenie 0 lub 1 do bazy danych Firebase. Będzie to prosty układ, który będzie zawierał kilka przycisków. W mojej aplikacji dodam tylko dwa przyciski, które będą sterować światłami i wentylatorem. Jeśli chcesz dołączyć więcej przycisków dla większej liczby urządzeń gospodarstwa domowego, skopiuj ten sam fragment kodu w programie głównym i utwórz nową zmienną w bazie danych. Nie tracąc czasu, przejdźmy do kroków tworzenia prostego układu naszej aplikacji.

1. Przede wszystkim przejdź do Plik> Nowy> Nowy projekt. Pojawi się menu. Wybierz Pusty projekt.

2. Teraz nazwij projekt i ustaw KOTLIN jako twój język programowania.

3. Teraz w lewym rogu kliknij aplikacja> res> układ> activity_main.xml.

activity_main

4. Tutaj dodaj następujący kod poniżej kodu, który jest już dostarczony w Twoim studio Android. Tworzymy układ ograniczeń. Poniższy kod dodaje nagłówek Automatyzacja pomieszczeń na górze. Następnie dodaje 3 przełączniki. jeden przełącznik pozwala wybrać, czy chcesz obsługiwać urządzenia domowe ręcznie, czy nie. Pozostałe dwa przełączane będą odpowiednio sterować wentylatorem i światłami.

 

5. Układ Twojej aplikacji będzie wyglądał jak na poniższym obrazku.

Układ

Krok 5: Kodowanie zaplecza

Kod zaplecza jest najważniejszą częścią każdej aplikacji. Jest to główny pomost między układem front-end a bazą danych projektu. W naszej aplikacji chcemy po prostu wysłać „1” w bazie danych, gdy przełącznik jest włączony i „0” w bazie danych, gdy przełącznik jest wyłączony. Wykonaj następujące kroki, aby dodać kod w swojej aplikacji

1. W lewym rogu kliknij aplikacja> java> com.example.moja aplikacjamojaplikacja> main_activity.

2. Teraz na tym ekranie skopiuj następujący kod do swojej klasy.

automatyzacja klas: AppCompatActivity () {var database = FirebaseDatabase.getInstance () var myRef = database.reference internal lateinit var btnSwitch: Przełącz wewnętrzny lateinit var btnSwitch1: Przełącz wewnętrzny lateinit var btnSwitch2: Przełącz zastąpienie zabawy onCreate (zapisana instancja?) .onCreate (saveInstanceState) setContentView (R.layout.activity_automation) myRef.child ('Toggle / switch'). addValueEventListener (object: ValueEventListener {override fun onCancelled (p0: DatabaseError) {} override fun onDataChange (paps1) .visibility = View.VISIBLE if (p0.value.toString (). equals ('1')) {switch1.isChecked = true; toggleButton2.visibility = View.VISIBLE toggleButton3.visibility = View.VISIBLE myRef.child ('automatyzacja /AC').addValueEventListener(object: ValueEventListener {override fun onCancelled (p0: DatabaseError) {} override fun onDataChange (p0: DataSnapshot) {if (p0.value.toString (). Equals ('1')) {toggleButton ('1')) {toggleButton isChecked = true} else toggleButton2.isChecked = fals e}}) myRef.child ('automation / light'). addValueEventListener (object: ValueEventListener {override fun onCancelled (p0: DatabaseError) {} override fun onDataChange (p0: DataSnapshot) {if (p0.value.toString (). equals ('1')) {toggleButton3.isChecked = true} else toggleButton3.isChecked = false}})} else {switch1.isChecked = false toggleButton2.visibility = View.GONE toggleButton3.visibility = View.GONE} // Log. d ('ahsan