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.
- otwarty Panel sterowania i kliknij System i bezpieczeństwo .
- Kliknij System .
System
- Kliknij Zaawansowane ustawienia systemu a następnie kliknij Zmienne środowiskowe .
Zaawansowane ustawienia systemu
- W sekcji Zmienna systemowa kliknij ścieżkę, a następnie kliknij edytuj. Nowy Edytuj zmienną środowiskową pojawi się okno.
Edytuj ścieżkę
- 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
- 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ą.
- 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