Creación de un interruptor de encendido/apagado inalámbrico para su PC

Un sistema inteligente que controla la iluminación, los sistemas de entretenimiento y otros aparatos puede ser diseñado en casa fácilmente y es también el concepto de más rápido crecimiento del mundo moderno. Smart Home Systems es un concepto en el que todos los electrodomésticos o los dispositivos se controlan con un solo mando a distancia. Hoy en día, un solo componente, como un módulo de relé, puede utilizarse para controlar varios parámetros electrónicos de una casa, por ejemplo, la conmutación de los electrodomésticos, la supervisión de las alarmas de seguridad, la automatización de la puerta del garaje, etc. En este proyecto, nuestro Ordenador Personal será controlado por una Aplicación Android . En estos sistemas, la mayoría de las veces, el control remoto es una aplicación móvil. Como un móvil androide es el más común entre la gente, por lo que una aplicación androide es la mejor opción para controlar nuestro PC.

Interruptor de ordenador inalámbrico

¿Cómo hacer un cambio inalámbrico para su PC en el teléfono móvil?

Paso 1: Reunir los componentes

Para hacer cualquier proyecto, uno debe saber cuáles son los componentes básicos que uno va a necesitar para completarlo. Así que un excelente enfoque antes de comenzar el trabajo es hacer una lista completa de todos los componentes para ahorrar tiempo y evitar la posibilidad de quedarse atascado en medio del proyecto. A continuación se presenta una lista completa de todos los componentes que se pueden conseguir fácilmente en el mercado:

Paso 2: Los programas que se instalarán

Como vamos a hacer un cambio inalámbrico, necesitaremos un botón para encenderlo y apagarlo. Queremos usar un teléfono móvil para operar este botón, así que tendremos que desarrollar una aplicación para eso. La aplicación más conveniente es una aplicación para androides. Necesitamos instalar dos programas para usar esta aplicación. Ambos se enumeran a continuación:

  • Estudio de Android.
  • JAVA JDK.

Paso 3: Instalació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: Conexión con la Base de Fuego

Ahora que hemos instalado el Estudio de Android, vamos a lanzarlo y hacer un nuevo proyecto para conectarlo a la base de fuego. Para ello, siga los siguientes pasos.

1. Lanza el Estudio de Android y haz un nuevo proyecto haciendo clic en la Actividad vacía .

Nuevo Proyecto

2. Ahora nombra tu proyecto como computerSwitc, selecciona Kotlin como idioma, y selecciona el nivel mínimo de API según tu teléfono móvil.

Nuevo Proyecto

3.Ya que vamos a usar Internet para controlar los alfileres del pi de frambuesa. Vamos a establecer el permiso en nuestra aplicación para acceder a la wifi local. Para ello, vamos a app> manifests> AndroidManifest.xml y añadimos el siguiente comando.

Permiso de Internet

3. Ahora, haz clic en n Herramientas. Aparecerá un menú desplegable desde el cual, selecciona Base de fuego.

Conexión de la base de fuego

4. 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.

Asistente de la base de fuego

5. 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. A continuación, haz clic en Añadir la base de datos en tiempo real a tu aplicación y acepta los cambios.

6. 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.

7. 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.

8. 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

9. 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.

Base de fuego en tiempo real

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

Cambiando Configuraciones

11. 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

12. 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 la base de fuego

También te puede interesar:  Usando los controles del Hogar: Para una automatización inteligente del hogar

13. Ahora sincroniza el proyecto haciendo clic en el botón de sincronización que aparece en la parte superior de la pantalla.

Paso 5: Hacer el diseño

Ahora, como nuestra aplicación androide está conectada a la base de fuego, hagamos un diseño de nuestra aplicación que será usada por el usuario para encender o apagar el ordenador. Para hacer un diseño, vaya a app> res> layout> activity_main.xml. donde diseñaremos un layout. Copia allí el código que se da a continuación para hacer una vista de texto.

El diseño de nuestra aplicación se verá así:

Diseño de la aplicación

Paso 6: Codificación del backend en Kotlin

Como hemos hecho el frontend de la aplicación, vamos a dar un paso adelante y escribir el código del backend para conectarlo con la base de fuego. Hemos conectado un interruptor que enviará un 0 a la base de datos de la base de fuego cuando esté en estado apagado, y enviará un 1 a la base de datos de la base de fuego cuando esté en estado encendido.

Ahora, en la esquina izquierda, haz clic en app> java> com.example.computerswitch> main_activity, y añade el siguiente código allí en tu clase. Si se produce algún error de biblioteca, presione ALT+ENTER para incluir esa biblioteca automáticamente.

var database = FirebaseDatabase.getInstance()
var myRef = base de datos.referencia
var btnSwitch de latex interno: Interruptor
anular la diversión de crear (SaveInstanceState: Bundle?) {
    super.onCrear(saveInstanceState)
    setContentView(R.layout.activity_main)
    btnSwitch = findViewById(R.id.switch2) as Switch
    btnSwitch.setOnClickListener{
        si(btnSwitch.isChecked)
        {
            myRef.child("switch").setValue("1")
        }
        más
        {
            myRef.child("switch").setValue("0")
        }
    }
}

En la siguiente imagen, se puede ver que si el interruptor se enciende, "1" se sube a la base de datos de la base de fuego. Del mismo modo, un "0" será reemplazado aquí cuando el interruptor se apague.

Valor

Paso 7: Empezar con Arduino

Si no has trabajado en Arduino IDE antes, no te preocupes porque a continuación se muestra un paso a paso para configurar Arduino IDE.

  1. Descargue la última versión de Arduino IDE de Arduino.
  2. Conecta tu placa Arduino al PC y abre el Panel de Control. Haz clic en Hardware y Sonido. Ahora abre Dispositivos e impresora y encuentra el puerto al que está conectada tu placa. En mi caso es COM14, pero es diferente en diferentes computadoras.Encontrar el puerto
  3. Haga clic en Archivo y luego en Preferencias. Copia el siguiente enlace en la URL del Administrador de la Junta adicional. " https://dl.espressif.com/dl/package_esp32_index.json"Preferencias
  4. Ahora, para usar ESP32 con el IDE de Arduino, necesitamos importar bibliotecas especiales que nos permitan quemar código en ESP32 y usarlo. estas dos bibliotecas están adjuntas en el enlace que se da a continuación. Para incluir la librería, ir a Sketch> Include Library> Add ZIP Library . Aparecerá un cuadro. Busca la carpeta ZIP en tu ordenador y haz clic en OK para incluir las carpetas.Include Library
  5. Ahora ve a Sketch> Include Library> Manage Libraries.Gestionar Bibliotecas
  6. Se abrirá un menú. En la barra de búsqueda, escriba Arduino JSON. Aparecerá una lista. Instale Arduino JSON de Benoit Blanchon.Arduino JSON
  7. Ahora haz clic en las Herramientas . Aparecerá un menú desplegable. Ponga el tablero en ESP Dev Module.Tabla de configuración
  8. Vuelva a hacer clic en el menú de herramientas y establezca el puerto que observó en el panel de control antes.Setting Port
  9. Ahora sube el código que se adjunta en el enlace de abajo y pulsa el botón de subir para quemar el código en el microcontrolador ESP32.Subir

Así que ahora, cuando subas el código, puede ocurrir un error. Este es el error más común que puede ocurrir si estás usando una nueva versión del IDE de Arduino y el JSON de Arduino. Los siguientes son los errores que puede ver en la pantalla.

No hay nada de qué preocuparse porque podemos eliminar estos errores siguiendo unos simples pasos. Estos errores surgen porque la nueva versión de Arduino JSON tiene otra clase en lugar de StaticJsonBuffer. Esta es la clase de JSON 5. Así que podemos eliminar este error simplemente bajando la versión de Arduino JSON de nuestro Arduino IDE. Simplemente vamos a Sketch> Include Library> Manage Libraries. Buscar Arduino JSON por Benoit Blanchon que haya instalado antes. Desinstálalo primero y luego establece su versión a 5.13.5. Ahora como hemos establecido una versión antigua de Arduino JSON, instalarlo de nuevo y recompilar el código. Esta vez, su código se compilará con éxito.

Para descargar el código, haga clic aquí.

Paso 8: Ensamblar el circuito

Ahora que nuestra aplicación está lista y es completamente funcional, veamos cómo conectaremos el circuito a la computadora.

  1. En primer lugar, tome una centralita y conecte todos los enchufes del sistema informático en ella, es decir, el monitor, la impresora, la CPU, la PSU, etc.
  2. Ahora toma el interruptor de conexión de este tablero y haz un corte entre los cables para que dos cables, negro y rojo, sean visibles desde el interior.
  3. Saca el cable rojo y córtalo por la mitad. Conecta un extremo del cable en el punto NO del módulo de relé y el otro extremo en el punto COM del punto de relé. (no hagas nada con el cable negro)
  4. Ahora fijen el ESP32 en la tabla de navegación y enciéndanlo con una batería de 5V. Conecta el Vcc y la tierra del módulo de relé en la protoboard, con los terminales positivo y negativo de la batería.
  5. Haga la siguiente configuración con el transistor en el tablero.

Paso 9: Código

El código es bastante simple, pero aún así, se explica brevemente a continuación.

1. Al principio, se incluyen dos bibliotecas para que la base de fuego pueda ser usada con ESP32.

#incluir
#incluir

2. Luego se da información sobre la base de datos de la base de fuego y la conexión Wifi y se declara el pin de ESP que se usará con el módulo de relé.

#define FIREBASE_HOST "xxxxx" // reemplázalo con tu anfitrión de la base de fuego
#define FIREBASE_AUTH "xxxxx" // reemplázalo por tu base de fuego de autentificación
#definir WIFI_SSID "xxxxx"     // Reemplaza esto por tu SSID WIFI
#define la CONTRASEÑA WIFI "xxxxx" // reemplázalo con tu contraseña del wifi
int swi = 34; // conectar el pin34 del ESP con el módulo de relé

3. void setup() es una función que se ejecuta una sola vez cuando el circuito se enciende o se presiona el botón de habilitación. Aquí se escribe el código para conectar la placa ESP al WIFI. El pin del ESP que se usa con el módulo de relé también se declara como OUTPUT aquí.

evitar la configuración() {
Serial.begin(115200);
pinMode(swi,OUTPUT);
// conectar a wifi.
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.println("conectar");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
retraso(500);
}
Serial.println();
Serial.print("conectado: ");
Serial.println(WiFi.localIP());
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
}

4. void loop() es una función que se ejecuta repetidamente en un bucle. Aquí se lee el valor de la base de fuego. Si este valor es igual a "1", entonces la señal HIGH será enviada al módulo de relé y la computadora se encenderá. Cuando este valor sea "0", la computadora se apagará.

void loop() {
// valor de lectura
if(Firebase.getFloat("switch") == 1)
{
digitalWrite(swi,HIGH);
}
más
{
digitalWrite(swi,LOW);
}
// error de manejo
si (Firebase.failed()) {
Serial.print("setting /number failed:");
Serial.println(Firebase.error());
Retornar;
}
retraso (1000);
}

Deja un comentario

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