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

Este artículo es la segunda parte de otro artículo. ¿Cómo hacer la automatización del hogar inteligente usando el módulo ESP32? en el que se proporcionó 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 de Android y conectarla a la base de datos de firebase. Entonces esta aplicación móvil se utilizará para cambiar los aparatos eléctricos en el hogar.



Desarrollo de aplicaciones para Android

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



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

Vamos a desarrollar una aplicación para Android que se utilizará como mando a distancia para controlar los electrodomésticos que se conectaron al módulo ESP32 en el otro artículo. para ir al otro artículo, Haga clic aquí .



Paso 1: software necesario

Como vamos a desarrollar una aplicación para Android, solo necesitaremos un software. Pero para ejecutar ese software, primero necesitaremos instalar otro software. Puede descargarlos desde los siguientes enlaces.



  • Android Studio.
  • JAVA JDK.

Paso 2: Comprensión del funcionamiento principal

Vamos a hacer una aplicación que tendrá codificación tanto de front-end como de back-end. En la pantalla principal, contendrá unos botones que controlarán la conmutación de los aparatos eléctricos que están conectados a la placa del microcontrolador ESP32. En la codificación de 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 Firebase. Esta base de datos contendrá 2 entidades denominadas Light y AC. La luz contendrá el valor para el encendido de luces y AC contendrá un valor para el encendido del ventilador. Este valor se enviará luego al microcontrolador y luego el microcontrolador enviará una señal de control al módulo de relé en consecuencia.

Paso 3: Configurar Android Studio

Antes de instalar Android Studio, primero instalaremos JAVA JDK. Para instalar esto, haga clic en el exe archivo que descargó del enlace anterior y haga clic en Siguiente hasta que se haya instalado correctamente. Ahora siga los siguientes pasos para que su símbolo del sistema reconozca Java como un comando externo o interno.



  1. Abierto Control Panel y haga clic en Sistema y seguridad .
  2. Haga clic en Sistema .

    Sistema

  3. Haga clic en Configuracion avanzada del sistema y luego haga clic en Variables ambientales .

    Configuracion avanzada del sistema

  4. En la sección Variable del sistema, haga clic en la ruta y luego haga clic en editar. Un nuevo Editar variable ambiental aparecerá el cuadro.

    Editar trayectoria

  5. Ahora ve a C: Archivos de programa Java en su PC. Abra la carpeta JDK, haga clic en la carpeta bin y luego copie la ruta de esa carpeta.

    Ruta de la carpeta bin

  6. Ahora vaya al cuadro Editar variable ambiental y haga clic en nuevo para crear una nueva variable. Pegue la ruta que copió en el paso anterior en la nueva variable y guárdela.
  7. Ahora para confirmar, si está completamente instalado, abra el símbolo del sistema y escriba java –version .

    Versión JAVA

Ahora que ha instalado con éxito Java JDK en su computadora. Instalemos ahora Android Studio en su computadora. La instalación de este software es muy sencilla. Debe abrir el archivo descargado y hacer clic en Siguiente hasta que su 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 firebase. Este será un diseño simple que contendrá algunos botones. En mi aplicación, solo incluiré dos botones que controlarán las luces y el ventilador. Si desea incluir más botones para más electrodomésticos, copie el mismo fragmento de código en el programa principal y cree 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. En primer lugar, vaya a Archivo> Nuevo> Nuevo proyecto. Aparecerá un menú. Seleccione Proyecto vacío.

2. Ahora asigne un nombre al proyecto y configure KOTLIN como su lenguaje de programación.

3. Ahora en la esquina izquierda, haga clic en aplicación> res> diseño> activity_main.xml.

activity_main

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

 

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

Diseño

Paso 5: codificación de back-end

El código de back-end 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, solo 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 agregar 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, copie el siguiente código en su clase.

automatización de clases: AppCompatActivity () {var database = FirebaseDatabase.getInstance () var myRef = database.reference internal lateinit var btnSwitch: Switch internal lateinit 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 onDataChange1 (p0) .visibility = View.VISIBLE if (p0.value.toString (). equals ('1')) {switch1.isChecked = true; toggleButton2.visibility = View.VISIBLE toggleButton3.visibility = View.VISIBLE myRef.child ('automatización /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 ('automatización / luz'). 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