¿Cómo crear una aplicación Android para tu sistema de hogar inteligente en Android Studio?

Este artículo es la segunda parte de otro artículo titulado How To Make Smart Home Automation Using ESP32 Module? en el que se proporciona un método para hacer un sistema de hogar inteligente. En este artículo, vamos a demostrar el procedimiento paso a paso de cómo desarrollar una aplicación androide y conectarla a la base de datos de la base de fuego. Luego, esta aplicación móvil se utilizará para cambiar los aparatos eléctricos del hogar.

Desarrollo de aplicaciones para Android

Los sistemas caseros inteligentes que ya están disponibles en el mercado son muy costosos. Si tiene los componentes necesarios y un dispositivo androide, puede hacer un sistema de automatización del hogar en casa que será igualmente eficiente pero de muy bajo costo. Revise estos dos artículos para hacer su propio sistema de automatización del hogar en casa.

¿Cómo desarrollar una aplicación para Android para la automatización del hogar?

Vamos a desarrollar una aplicación para androides que se utilizará como un control remoto para controlar los aparatos eléctricos del hogar que se conectaron al módulo ESP32 en el otro artículo. Para ir al otro artículo, haga clic aquí.

Paso 1: Se necesita software

Como vamos a desarrollar una aplicación para androides, sólo necesitaremos un software. Pero para ejecutar ese software, necesitaremos instalar otro software primero. Puedes descargarlos desde los siguientes enlaces.

  • Estudio de Android.
  • JAVA JDK.

Paso 2: Entendiendo el funcionamiento principal

Vamos a hacer una aplicación que tendrá tanto la codificación del front-end como la del back-end. En la pantalla principal, contendrá algunos botones que controlarán la conmutación de los aparatos eléctricos que están conectados a la placa de microcontrolador ESP32. En la codificación del back-end, enviaremos un «1» si el interruptor está encendido y un «0» si el interruptor está apagado.

Vamos a hacer una base de datos de la Base de Fuego. Esta base de datos contendrá 2 entidades llamadas Luz y AC. La luz contendrá el valor para la conmutación de las luces y AC contendrá un valor para la conmutación del ventilador. Este valor será enviado al microcontrolador y luego el microcontrolador enviará una señal de control al módulo de relé en consecuencia.

Paso 3: Configuración de Android Studio

Antes de instalar Android Studio, instalaremos primero el JAVA JDK. Para instalarlo, haz clic en el archivo exe que has descargado del enlace anterior, y haz clic en next hasta que se instale correctamente. Ahora sigue los siguientes pasos para que tu símbolo del sistema reconozca a java como un comando externo o interno.

  1. Abrir el panel de control y hacer clic en Sistema y Seguridad .
  2. Haga clic en Sistema .Sistema
  3. Haga clic en Configuración avanzada del sistema y luego haga clic en Variables ambientales .Configuración avanzada del sistema
  4. En la sección de la Variable del Sistema, haga clic en la ruta y luego en editar. Aparecerá una nueva caja Editar Variable Ambiental .Ruta de Edición
  5. Ahora ve a C:N-Archivos de programaNJava en tu PC. Abre la carpeta JDK, haz clic en la carpeta bin y luego copia la ruta de esa carpeta.Ruta de la carpeta bin
  6. Ahora ve a la casilla Editar variable ambiental y haz clic en nuevo para hacer una nueva variable. Pega el camino que has copiado en el paso anterior en la nueva variable y guárdalo.
  7. Ahora para confirmar, si está completamente instalado, abra el símbolo del sistema y escriba java -versión .Versión JAVA
También te puede interesar:  ¿Cómo hacer una copia de seguridad de la energía para su router Wifi?

Ahora que has instalado con éxito el JDK de Java en tu ordenador. Instalemos ahora el Estudio de Android en su ordenador. La instalación de este software es muy fácil. Necesita abrir el archivo descargado y hacer clic en «Siguiente» hasta que el software esté completamente instalado.

Paso 4: Hacer el diseño

Haremos un diseño que contendrá algunos botones que enviarán el comando de 0 o 1 a la base de datos de la base de fuego. Este será un diseño simple que contendrá algunos botones. En mi aplicación, sólo incluiré dos botones que controlarán las luces y el ventilador. Si quieres incluir más botones para más electrodomésticos, copia el mismo trozo de código en el programa principal y haz una nueva variable en la base de datos. Sin perder tiempo, avancemos hacia los pasos de hacer un diseño simple para nuestra aplicación.

1. Primero, ve a Archivo> Nuevo> Nuevo Proyecto. Aparecerá un menú. 2. Selecciona Vaciar Proyecto.

2. Ahora nombra el proyecto y establece KOTLIN como tu lenguaje de programación.

3. Ahora en la esquina izquierda, haz clic en app> res> layout> activity_main.xml.

activity_main

4. Aquí, agregue el siguiente código debajo del código que ya se proporciona en su estudio de androides. Estamos haciendo un diseño de restricción. El siguiente código está agregando un encabezado de Automatización de la sala en la parte superior. Un interruptor le permite seleccionar si desea operar los electrodomésticos manualmente o no. Los otros dos interruptores harán funcionar el ventilador y las luces respectivamente.

5. El diseño de su aplicación se verá como la imagen de abajo.

Disposición

Paso 5: Codificación de fondo

El código de la parte trasera es la parte más importante de cualquier aplicación. Es el puente principal entre el diseño del front-end y la base de datos del proyecto. En nuestra aplicación, sólo queremos enviar un «1» en la base de datos cuando el interruptor está encendido y un «0» en la base de datos cuando el interruptor está apagado. Siga los siguientes pasos para añadir el código en su aplicación

1. En la esquina izquierda, haga clic en app> java> com.example.my applicationmyapplication> main_activity.

2. Ahora en esta pantalla, copien el siguiente código en su clase.

automatización de clase : AppCompatActivity() {
    var database = FirebaseDatabase.getInstance()
    var myRef = base de datos.referencia
    Interruptor interno de var btnSwitch: Interruptor
    var btnSwitch1:Interruptor
    var btnSwitch2:Interruptor
    anular la diversión de crear (SaveInstanceState: Bundle?) {
        super.onCrear(saveInstanceState)
        setContentView(R.layout.activity_automation)
        myRef.child("Toggle/switch").addValueEventListener(object : ValueEventListener{
            anular la diversión enCancelled(p0: DatabaseError) {
            }
            anular la diversión enDataChange(p0: DataSnapshot) {
                switch1.visibility = View.VISIBLE
                si (p0.valor.aString().es igual a("1")){
                    switch1.isChecked = true;
                    toggleButton2.visibility = View.VISIBLE
                    toggleButton3.visibility = View.VISIBLE
                    myRef.child("automation/AC").addValueEventListener(object :ValueEventListener{
                        anular la diversión enCancelled(p0: DatabaseError) {
                        }
                        anular la diversión enDataChange(p0: DataSnapshot) {
                            si(p0.valor.aString().es igual a("1")){
                                toggleButton2.isChecked = true
                            }
                            más
                                toggleButton2.isChecked = falso
                        }
                    })
                    myRef.child("automatización/luz").addValueEventListener(object :ValueEventListener{
                        anular la diversión enCancelled(p0: DatabaseError) {
                        }
                        anular la diversión enDataChange(p0: DataSnapshot) {
                            si(p0.valor.aString().es igual a("1")){
                                toggleButton3.isChecked = true
                            }
                            más
                                toggleButton3.isChecked = falso
                        }
                    })
                }
                ...sino...
                    switch1.isChecked = false
                    toggleButton2.visibility = View.GONE
                    toggleButton3.visibility = View.GONE
                }
              // Log.d("ahsan", p0.value.toString())
            }
        })
        button3.setOnClickListener{
            val intent = Intención(this, MainActivity::class.java)
            startActivity(intent)
        }
        btnSwitch = findViewById(R.id.switch1) as Switch
        btnSwitch1 = findViewById(R.id.toggleButton2) as Switch
        btnSwitch2 = findViewById(R.id.toggleButton3) as Switch
        btnSwitch.setOnClickListener{
            si(btnSwitch.isChecked)
            {
                myRef.child("Toggle/switch").setValue("1")
                btnSwitch1.setOnClickListener{
                    if(btnSwitch1.isChecked)
                    {
                        myRef.child("automatización/AC").setValue("1")
                    }
                    más
                    {
                        myRef.child("automatización/AC").setValue("0")
                    }
                }
                btnSwitch2.setOnClickListener{
                    if(btnSwitch2.isChecked)
                    {
                        myRef.child("automatización/luz").setValue("1")
                    }
                    más
                    {
                        myRef.child("automatización/luz").setValue("0")
                    }
                }
            }
            más
            {
                myRef.child("Toggle/switch").setValue("0")
            }
        }
    }
}

En este momento, el código puede dar algunos errores en algunos puntos porque no está conectado a la base de datos de la base de fuego en este momento. Haremos una base de datos de la base de fuego y la conectaremos a la aplicación.

También te puede interesar:  ¿Cómo controlar los electrodomésticos con MATLAB?

Paso 6: Conexión de la aplicación a la base de datos de la base de datos de incendios

Conectar la base de datos de la base de fuego con la aplicación de androides es casi el último paso. Vamos a hacer una base de datos en la Base de Fuego. Firebase es una etapa de mejora de aplicaciones móviles y web que proporciona a los diseñadores un montón de dispositivos y administraciones para permitirles crecer aplicaciones de primera clase, desarrollar su base de clientes y adquirir más beneficios. Firebase nos proporciona dos servicios que son la base de datos en tiempo real y Firestore.

Conectividad entre la aplicación y la base de fuego

Haremos una base de datos en tiempo real en la que todos los valores se actualizarán en tiempo real con un retraso de algunos segundos. Siga los siguientes pasos para hacer una base de datos en tiempo real en la base de fuego. El estudio de Android proporciona un método muy simple para hacer esta conexión. Siga los siguientes pasos para establecer esta conexión.

1. Haz clic en n Herramientas. Aparecerá un menú desplegable desde el cual, selecciona Base de fuego.

Base de fuego

2. Un gran menú aparecerá en la parte derecha de la pantalla que proporcionará el menú de casi todos los servicios que la base de fuego está proporcionando. Pero ahora mismo nuestro principal foco de atención es la base de datos en tiempo real. Así que haga clic en Base de Datos en Tiempo Real. Aparecerá un enlace a » Guardar y Recuperar Datos «. Haz clic en ese enlace.

Base de datos en tiempo real

3. Conectar en Conectar con el botón de la Base de Fuego . Te llevará al navegador web predeterminado. En primer lugar, te pedirá que accedas a tu cuenta de Gmail.

Conectar con la base de fuego

4. Ahora haz clic en Añade la base de datos en tiempo real a tu aplicación desde el menú que se muestra en la imagen de arriba. Aparecerá una caja pidiendo que se hagan algunos cambios. Haz clic en Ac cept changes. Verás que la aplicación comenzará a sincronizarse para conectarse a nuestra base de datos en tiempo real.

También te puede interesar:  ¿Cómo hacer que el robot de evasión de obstáculos usando Arduino?

5. Ahora ve a la consola de la base de fuego. Allí verá un proyecto ya realizado. El logo del androide en el icono de ese proyecto significa que ya pertenece a una aplicación androide.

Proyecto

6. En el menú Desarrollar que aparece a la izquierda de la pantalla, seleccione Base de datos. Aparecerá a la derecha un botón de Crear base de datos . Haz clic en ese botón.

7. Un menú aparecerá pidiendo que se establezca el modo de su base de datos. Haz clic en modo de prueba y luego en Habilitar .

Modo de prueba

8. Ahora un paso realmente importante para recordar es cambiar el Cloud Firestore a Base de datos en tiempo real. Para ello, haga clic en el botón que se muestra en la siguiente imagen y cambie la opción deseada.

Cambio a la base de datos RT

9. Ahora haz clic en la pestaña Reglas y cambia las configuraciones a Verdadero . 10. Una vez que todo esté hecho, haz clic en Publish .

Cambiando Configuraciones

10. Una cosa que necesitas hacer aparte de conectar la base de fuego, es actualizar la versión de la base de datos. Para ello, haz clic en ir a docs . Ahora haz clic en guías y selecciona Guías de Android de la lista que aparece en la pantalla. Desplácese hacia abajo hasta que aparezca una tabla. Busca la base de datos en tiempo real en esa tabla y encuentra su versión. En mi caso, es 19.1.0

Versión

11. Haga clic en Gradle Scripts, un menú en el lado izquierdo de la pantalla. Luego selecciona built. gradle (Module: app). Ahora en el código, busca la versión de la base de datos en tiempo real y reemplázala por la nueva.

Versión de actualización

Ahora nuestra conexión de la base de fuego con nuestra aplicación Android está completamente establecida. Ahora podemos proceder a la parte de prueba de nuestro proyecto.

Paso 7: Prueba

La parte de la prueba es muy simple. Sólo tienes que ir a tu dispositivo Android y habilitar las Opciones de Desarrolladores desde la configuración. Luego necesitarás habilitar la Depuración de USB. Después de hacer todo esto, conecta tu dispositivo Android a tu ordenador y ejecuta el proyecto android en android studio. Esto construirá la aplicación en tu dispositivo androide.

Ahora, haga clic en los botones de su pantalla y automáticamente hará que las entidades en su base de datos de la base de fuego. Verá que algunos valores se actualizarán en su entidad correspondiente a medida que pulse los botones.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies