Cum să creați o aplicație Android pentru sistemul dvs. Smart Home pe Android Studio?

Acest articol este partea a doua a unui alt articol Cum se face automatizarea inteligentă la domiciliu utilizând modulul ESP32? în care a fost furnizată o metodă de realizare a unui sistem Smart Home. În acest articol, vom demonstra procedura pas cu pas despre cum să dezvoltați o aplicație Android și să o conectați la baza de date firebase. Apoi, această aplicație mobilă va fi utilizată pentru a comuta aparatele electrice din casă.



Dezvoltarea aplicațiilor Android

Sistemele Smart Home care sunt deja disponibile pe piață sunt foarte costisitoare. Dacă aveți componentele necesare și un dispozitiv Android, puteți realiza acasă un sistem de automatizare a locuinței care va fi la fel de eficient, dar va avea un cost foarte redus. Parcurgeți aceste două articole pentru a vă crea propriul sistem de automatizare la domiciliu.



Cum să dezvolți o aplicație Android pentru automatizarea casei?

Vom dezvolta o aplicație Android care va fi utilizată ca telecomandă pentru a controla aparatele electrocasnice care au fost conectate la modulul ESP32 în celălalt articol. pentru a merge la celălalt articol, Click aici .



Pasul 1: Software necesar

Pe măsură ce vom dezvolta o aplicație Android, vom avea nevoie de un singur software. Dar pentru a rula acel software, va trebui să instalăm mai întâi un alt software. Le puteți descărca din următoarele link-uri.



  • Android Studio.
  • JAVA JDK.

Pasul 2: Înțelegerea principalului lucru

Vom crea o aplicație care va avea atât codare front-end cât și back-end. Pe ecranul principal, acesta va conține câteva butoane care vor controla comutarea aparatelor electrice care sunt conectate la placa de microcontroler ESP32. În codarea back-end, vom trimite un „1” dacă comutatorul este pornit și un „0” dacă comutatorul este oprit.

Vom face o bază de date Firebase. Această bază de date va conține 2 entități denumite Light și AC. Lumina va conține valoarea pentru comutarea luminilor și AC va conține o valoare pentru comutarea ventilatorului. Această valoare va fi apoi trimisă la microcontroler și apoi microcontrolerul va trimite un semnal de control către modulul de releu în consecință.

Pasul 3: Configurarea Android Studio

Înainte de a instala Android Studio, vom instala mai întâi JAVA JDK. Pentru a instala acest lucru, faceți clic pe executabil fişier pe care l-ați descărcat de pe linkul de mai sus și faceți clic pe Următorul până când este instalat cu succes. Acum parcurgeți pașii următori, astfel încât promptul de comandă să recunoască java ca o comandă externă sau internă.



  1. Deschis Panou de control și faceți clic pe Sistem și securitate .
  2. Click pe Sistem .

    Sistem

  3. Click pe Setare avansată a sistemului și apoi faceți clic pe Variabile de mediu .

    Setare avansată a sistemului

  4. În secțiunea Variabilă de sistem, faceți clic pe cale și apoi faceți clic pe editare. Un nou Editați variabila de mediu va apărea caseta.

    Editați calea

  5. Acum du-te la C: Program Files Java în computer. Deschideți folderul JDK, faceți clic pe folderul bin și apoi copiați calea folderului respectiv.

    Calea folderului bin

  6. Acum accesați caseta Editați variabila de mediu și faceți clic pe nou pentru a crea o nouă variabilă. Lipiți calea pe care ați copiat-o în pasul de mai sus în noua variabilă și salvați-o.
  7. Acum, pentru a confirma, dacă este complet instalat, deschideți promptul de comandă și tastați java –versiune .

    Versiunea JAVA

Acum, după ce ați instalat cu succes Java JDK pe computer. Permiteți-ne acum să instalăm Android Studio pe computerul dvs. Instalarea acestui software este foarte ușoară. Trebuie să deschideți fișierul descărcat și să faceți clic pe următorul până când software-ul dvs. este complet instalat.

Pasul 4: Realizarea aspectului

Vom realiza un aspect care va conține câteva butoane care vor trimite comanda 0 sau 1 către baza de date firebase. Acesta va fi un aspect simplu care va conține câteva butoane. În aplicația mea, voi include doar două butoane care vor controla luminile și ventilatorul. Dacă doriți să includeți mai multe butoane pentru mai multe electrocasnice, copiați aceeași bucată de cod în programul principal și creați o nouă variabilă în baza de date. Fără a pierde timp, să trecem la pașii de realizare a unui aspect simplu pentru aplicația noastră.

1. În primul rând, mergi la Fișier> Nou> Proiect nou. Va apărea un meniu. Selectați Proiect gol.

2. Acum denumiți proiectul și setați KOTLIN ca limbaj de programare.

3. Acum, în colțul din stânga, faceți clic pe app> res> layout> activity_main.xml.

activitate_principală

4. Aici, adăugați următorul cod sub codul care este deja furnizat în studioul dvs. Android. Realizăm un aspect de constrângere. Următorul cod adaugă un titlu de automatizare cameră în partea de sus. Apoi adaugă 3 comutatoare. un singur comutator vă permite să selectați dacă doriți să operați manual sau nu aparatele electrocasnice. Celelalte două comutate vor acționa ventilatorul și respectiv luminile.

 

5. Aspectul aplicației dvs. va arăta ca imaginea de mai jos.

Aspect

Pasul 5: Codificare back-end

Codul back end este cea mai importantă parte a oricărei aplicații. Este puntea principală între aspectul front-end și baza de date a proiectului. În aplicația noastră, vrem doar să trimitem un „1” în baza de date când comutatorul este activat și un „0” în baza de date când comutatorul este oprit. Parcurgeți pașii următori pentru a adăuga codul în aplicația dvs.

1. În colțul din stânga, faceți clic pe aplicație> java> com.exemplu.aplicarea meaaplicare> activitate_principală.

2. Acum, pe acest ecran, copiați următorul cod din clasa dvs.

automatizarea clasei: AppCompatActivity () {var database = FirebaseDatabase.getInstance () var myRef = database.reference lateinit internal var btnSwitch: Switch lateinit internal var btnSwitch1: Switch internal lateinit var btnSwitch2: Switch override fun onCreate (savedInstanceState: Bundle? .onCreate (savedInstanceState) setContentView (R.layout.activity_automation) myRef.child ('Toggle / switch'). addValueEventListener (object: ValueEventListener {override fun onCancelled (p0: DatabaseError) {} override fun onDataChange (p0: Data) .visibility = View.VISIBLE if (p0.value.toString (). equals ('1')) {switch1.isChecked = true; toggleButton2.visibility = View.VISIBLE toggleButton3.visibility = View.VISIBLE myRef.child ('automation /AC').addValueEventListener(object: ValueEventListener {override fun onCancelled (p0: DatabaseError) {} override fun onDataChange (p0: DataSnapshot) {if (p0.value.toString (). Equals ('1')) {toggleButton2. isChecked = true} else toggleButton2.isChecked = fals e}}) myRef.child ('automatizare / lumină'). addValueEventListener (obiect: ValueEventListener {override fun onCancelled (p0: DatabaseError) {} override fun onDataChange (p0: DataSnapshot) {if (p0.value.toString (). este egal ('1')) {toggleButton3.isChecked = true} else toggleButton3.isChecked = false}})} else {switch1.isChecked = false toggleButton2.visibility = View.GONE toggleButton3.visibility = View.GONE} // Log. d ('ahsan