Com fer una aplicació d'Android per al vostre sistema Smart Home a Android Studio?

Aquest article és la segona part d’un altre article Com fer una domòtica intel·ligent mitjançant el mòdul ESP32? en què es proporcionava un mètode per fer un sistema Smart Home. En aquest article, mostrarem el procediment pas a pas de com desenvolupar una aplicació per a Android i connectar-la a la base de dades de firebase. A continuació, aquesta aplicació mòbil s’utilitzarà per canviar els aparells elèctrics de la llar.



Desenvolupament d'aplicacions per a Android

Els sistemes intel·ligents per a la llar que ja estan disponibles al mercat són molt costosos. Si teniu els components necessaris i un dispositiu Android, podeu crear a casa un sistema domòtic que serà igual d’eficient però que tindrà un cost molt baix. Consulteu aquests dos articles per crear el vostre propi sistema domòtic a casa.



Com desenvolupar una aplicació d'Android per a la domòtica?

Desenvoluparem una aplicació per a Android que s’utilitzarà com a control remot per controlar els electrodomèstics connectats al mòdul ESP32 de l’altre article. per anar a l’altre article, Clica aquí .



Pas 1: cal programari

A mesura que desenvoluparem una aplicació per a Android, només necessitarem un programari. Però per executar aquest programari, primer haurem d’instal·lar un altre programari. Els podeu descarregar des dels següents enllaços.



  • Android Studio.
  • JAVA JDK.

Pas 2: entendre el funcionament principal

Farem una aplicació que tingui codificació frontal i posterior. A la pantalla principal, contindrà alguns botons que controlaran la commutació dels aparells elèctrics connectats a la placa de microcontroladors ESP32. A la codificació de fons, enviarem un '1' si l'interruptor està activat i un '0' si l'interruptor està desactivat.

Farem una base de dades de Firebase. Aquesta base de dades contindrà 2 entitats anomenades Light i AC. La llum contindrà el valor per a la commutació de llums i la CA contindrà un valor per a la commutació del ventilador. Aquest valor s'enviarà al microcontrolador i el microcontrolador enviarà un senyal de control al mòdul de relé en conseqüència.

Pas 3: configuració d'Android Studio

Abans d’instal·lar Android Studio, primer instal·larem JAVA JDK. Per instal·lar-lo, feu clic a exe dossier que heu baixat de l’enllaç anterior i feu clic a Següent fins que s’instal·li correctament. Ara seguiu els passos següents perquè el vostre símbol del sistema reconegui Java com una ordre externa o interna.



  1. Obert control Panel i feu clic a Sistema i seguretat .
  2. Fer clic a Sistema .

    Sistema

  3. Fer clic a Configuració avançada del sistema i després feu clic a Variables ambientals .

    Configuració avançada del sistema

  4. A la secció Variable del sistema, feu clic al camí i, a continuació, feu clic a Edita. Una nova Edita la variable ambiental apareixerà el quadre.

    Edita el camí

  5. Ara ves a C: Fitxers de programa Java al vostre PC. Obriu la carpeta JDK, feu clic a la carpeta bin i, a continuació, copieu el camí d'accés d'aquesta carpeta.

    Camí de la carpeta bin

  6. Ara aneu al quadre Edita la variable ambiental i feu clic a nou per crear una nova variable. Enganxeu el camí que heu copiat al pas anterior a la nova variable i deseu-lo.
  7. Ara per confirmar, si està completament instal·lat, obriu l'indicador d'ordres i escriviu java –versió .

    Versió JAVA

Ara, ja que heu instal·lat amb èxit Java JDK al vostre ordinador. Instal·leu ara Android Studio al vostre ordinador. Instal·lar aquest programari és molt fàcil. Heu d’obrir el fitxer descarregat i fer clic a Següent fins que el programari estigui completament instal·lat.

Pas 4: Creació del disseny

Farem un disseny que contindrà alguns botons que enviaran l’ordre 0 o 1 a la base de dades de firebase. Aquest serà un disseny senzill que contindrà alguns botons. A la meva aplicació, només inclouré dos botons que controlaran els llums i el ventilador. Si voleu incloure més botons per a més electrodomèstics, copieu el mateix fragment de codi al programa principal i creeu una nova variable a la base de dades. Sense perdre temps, anem cap als passos per fer un disseny senzill per a la nostra aplicació.

1. Primer de tot, aneu a Fitxer> Nou> Projecte nou. Apareixerà un menú. Seleccioneu Projecte buit.

2. Ara poseu un nom al projecte i configureu-lo KOTLIN com a llenguatge de programació.

3. Ara, a la cantonada esquerra, feu clic a aplicació> res> disseny> activitat_main.xml.

activitat_principal

4. Aquí, afegiu el codi següent a sota del codi que ja es proporciona al vostre estudi Android. Estem fent un disseny de restriccions. El següent codi afegeix un encapçalament de Room Automation a la part superior. A continuació, s’afegeixen 3 commutadors. un commutador permet seleccionar si voleu fer funcionar els electrodomèstics manualment o no. Els altres dos commutats faran funcionar el ventilador i els llums respectivament.

 

5. El disseny de la vostra aplicació tindrà l'aspecte de la imatge següent.

Disseny

Pas 5: codificació de fons

El codi final és la part més important de qualsevol aplicació. És el pont principal entre el disseny frontal i la base de dades del projecte. A la nostra aplicació, només volem enviar un '1' a la base de dades quan l'interruptor està activat i un '0' a la base de dades quan l'interruptor està desactivat. Seguiu els passos següents per afegir el codi a la vostra aplicació

1. A l'extrem esquerre, feu clic a aplicació> java> com.exemple.la meva aplicacióla meva aplicació> activitat_ principal.

2. Ara, en aquesta pantalla, copieu el codi següent a la vostra classe.

automatització de classes: AppCompatActivity () {var database = FirebaseDatabase.getInstance () var myRef = database.reference lateinit internal var btnSwitch: Switch lateinit internal var btnSwitch1: Switch lateinit intern 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: .visibility = View.VISIBLE if (p0.value.toString (). equals ('1')) {switch1.isChecked = true; toggleButton2.visibility = View.VISIBLE toggleButton3.visibility = View.VISIBLE myRef.child ('automatització /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 ('automatització / llum'). addValueEventListener (objecte: 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} // Registre. d ('ahsan