Tabla de contenido:

Switch-it, salida automática con medición de corriente en tiempo real: 6 pasos
Switch-it, salida automática con medición de corriente en tiempo real: 6 pasos

Video: Switch-it, salida automática con medición de corriente en tiempo real: 6 pasos

Video: Switch-it, salida automática con medición de corriente en tiempo real: 6 pasos
Video: Como Tomar Corriente de Fusibles | Fusibles de Switch, Accesorios y Corriente Directa / JMK 2024, Noviembre
Anonim
Switch-it, salida automática con medición de corriente en tiempo real
Switch-it, salida automática con medición de corriente en tiempo real
Switch-it, salida automática con medición de corriente en tiempo real
Switch-it, salida automática con medición de corriente en tiempo real
Switch-it, salida automática con medición de corriente en tiempo real
Switch-it, salida automática con medición de corriente en tiempo real
Switch-it, salida automática con medición de corriente en tiempo real
Switch-it, salida automática con medición de corriente en tiempo real

Me gusta mucho la automatización, la capacidad de controlar cuándo tiene que suceder algo. Esto es lo que me hizo pensar en esta idea: una salida automática hecha por mí mismo. Se puede usar para planificar cuándo es necesario encender las luces, cuándo es necesario cargar los teléfonos o cuándo es necesario encender una pantalla. Además de todo esto, tiene la capacidad de ver cuánta corriente fluye a través de la salida.

Los componentes necesarios para este proyecto son:

Suministros

Antes de comenzar, estas son las cosas que definitivamente necesitará para construir una caja Switch-IT como la mía. Estos suministros costarán entre 50 y 100 euros dependiendo de su región y los precios actuales.

Hardware

Electrónica

  • Frambuesa pi 4
  • Tarjeta Micro SD de 16 gb (o más)
  • Arduino Uno
  • Cambiador de nivel 5V-3.3V
  • Módulo de relé 5V
  • ACS712 20A - módulo de corriente
  • 1838 Módulo receptor de infrarrojos de 37,9 kHz
  • Control remoto por infrarrojos (yo uso un Elegoo)
  • cátodo común RGB
  • Resistencias de 3 * 330Ω
  • presionar el botón
  • RFID-RC522
  • LCD 1602A-1
  • Toma de pared Niko
  • Potenciómetro de 10K Ω
  • Fuente de alimentación de 230 a 5V - 7A

Cables

  • Cable USB-B a USB-A
  • Cable de alimentación USB-C
  • Cable de ethernet

Varios

  • Cables de puente macho-hembra
  • Cables de puente macho-macho
  • Estaño de soldadura
  • Tubo retráctil

Piezas específicas del estuche (OPCIONAL)

  • 50 * nueces y negrita
  • caja de metal 40x40x5 cm con tapa
  • cinta de dos lados
  • Espaciadores de 6 * 1 cm de alto
  • titular de led
  • cinta de velcro
  • guías de cable

Software

  • balenaEtcher:
  • Masilla
  • rasbian
  • Código de Visual Studio
  • IDE de Arduino

Paso 1: Configurar Rasbian

Configurar Rasbian
Configurar Rasbian
Configurar Rasbian
Configurar Rasbian

En primer lugar, colocaremos Rasbian en la tarjeta SD. Lo haremos usando balenaEtcher.

  1. Abrir balenaEtcher
  2. Elija la imagen de Rasbian
  3. Seleccione su tarjeta SD
  4. Presione Flash y espere unos minutos hasta que se muestre

Agregar APIPA en el directorio de inicio: utilizaremos una dirección APIPA para programar y configurar los ajustes en el RPI. Para hacer esto:

  1. Accede al directorio de arranque de la tarjeta SD.
  2. Abra "cmdline.txt"
  3. Agregue "169.254.10.1" al final del documento y guárdelo
  4. Agregue un archivo llamado "ssh" al directorio de arranque (NO LE DÉ UNA EXTENSIÓN A ESTE ARCHIVO)
  5. Una vez hecho esto, puede expulsar la tarjeta SD de su PC.

Acceda al RPI usando PuTTy

Ahora podemos conectar la tarjeta SD a nuestro RPI, conectar el RPI a su PC usando un cable ethernet.

Para conectarnos al RPI usaremos PuTTy con nuestra dirección APIPA.

  1. Abrir PuTTy
  2. Complete nuestra dirección APIPA como nombre de host (169.254.10.1)
  3. Asegúrese de que el puerto sea 22 y que SSH esté seleccionado
  4. Ahora puedes abrir la conexión
  5. El nombre de usuario predeterminado es: pi
  6. Con contraseña predeterminada: frambuesa

configuración de raspi-config

Abra raspi-config usando:

sudo raspi-config

  • Cambiar la contraseña de usuario
  • En las opciones de localización, seleccione su zona horaria
  • Configure WiFi usando las opciones de red y luego la opción Wi-Fi donde debe ingresar su SSID y Contraseña.

Instalar Python 3

En este proyecto estamos usando Python, por lo tanto, estableceremos el valor predeterminado en Python3 en lugar de Python2, usando los siguientes comandos

alternativas de actualización --install / usr / bin / python python /usr/bin/python2.7 1

actualizar-alternativas --install / usr / bin / python python / usr / bin / python3 2

Paquetes de Python

Necesitaremos algunos paquetes para que todo funcione correctamente, principalmente los paquetes Flask y uno para hacer la conexión con nuestra base de datos. Podemos instalar esos paquetes usando los siguientes comandos:

pip instalar matraz

pip instalar Flask_cors pip instalar Flask_socketio pip instalar Python-mysql-connecton

Base de datos

A continuación, instalaremos nuestro sistema de administración de bases de datos (MariaDB), lo haremos usando:

sudo apt install mariadb-server

Escriba "Y" e Intro para continuar. Después de unos segundos, el proceso de instalación se completa y MariaDB está casi lista para usar.

Para configurar darle una contraseña a la base de datos, use el comando:

sudo mysql_secure_installation

Luego presione Enter, ya que la contraseña actual está vacía. Luego presione "Y" para establecer una contraseña, ahora puede ingresar la contraseña que desee, asegúrese de recordarla porque la necesitamos para hacer una conexión correcta entre el back-end y el front-end.

Ahora, presione "Y" 3 veces para: eliminar usuarios anónimos, no permitir el inicio de sesión de root de forma remota y eliminar la base de datos de prueba. Finalmente, presione “Y” nuevamente para recargar los privilegios.

Ahora MariaDB y todos los paquetes necesarios están instalados con éxito.

Paso 2: tomar el código y configurarlo

Tomando el código y configurándolo
Tomando el código y configurándolo
Tomando el código y configurándolo
Tomando el código y configurándolo

Ahora que tenemos todos los paquetes instalados, podemos tomar el código.

El código está disponible en Github para que pueda clonarlo usando:

clon de git

Esta es la interfaz

clon de git

Este es el backend

Instalación de la base de datos en sí

Para instalar la base de datos, navegue hasta el archivo.sql que se encuentra en la carpeta del backend usando los siguientes comandos (asegúrese de configurarlo en su propia ruta.

mysql

crear base de datos switchit salir de mysql -u root -p switchit <Your_Path_to_Backend_Repo / switchit.sql

Instalación de Apache

Ahora que tenemos todo el código y la configuración de la base de datos, podemos instalar Apache y ejecutar nuestro backend en él. Lo haremos usando:

apt-get install apache2 -y

Luego reemplace los archivos en / var / ww / html con los de la carpeta de la carpeta del frontend.

Si todo salió bien, debería poder conectarse a su sitio web utilizando la dirección APIPA: 169.254.10.1 en su navegador.

Paso 3: Comunicación Arduino

Comunicación Arduino
Comunicación Arduino

Para leer nuestro sensor actual y nuestro sensor RFID estamos usando un arduino, para hacerlo use el código arduino que se proporciona a continuación. Cárguelo usando un cable USB-A a USB-B y el software arduino IDE. Cuando se carga, la parte de arduino está lista.

Ahora tenemos que encontrar el nombre del dispositivo serie en el PI. Para hacerlo, asegúrese de que en /boot/config.txt "enable_uart = 1" esté configurado correctamente. También asegúrese de que "console = serial0, 115200" se elimine de cmdline.txt.

Luego verifique los puertos usando

ls -l / dev

Entonces uno de los nombres de serie debería ser Arduino. Complete este nombre en la función arduinocom en app.py

ser = serial. Serial ('/ dev / ttyS0', 9600)

Solo hágalo si la comunicación en serie no funciona.

Paso 4: Cableado de Switch-it

Cableado Switch-it
Cableado Switch-it
Cableado Switch-it
Cableado Switch-it

Conectar todo es bastante sencillo, aunque debe tener en cuenta las siguientes cosas:

  • Tenga cuidado con la toma de corriente, 230 voltios pueden ser mortales.
  • Asegúrese de utilizar un convertidor de nivel para la comunicación entre el RPI y Arduino.
  • Antes de soldar el RGB, asegúrese de usar el pin rojo y verde. ¡Prueba esto de antemano!
  • Pruebe si no hay nada en cortocircuito ANTES de encender el circuito.

Paso 5: Ejecutar el código

Ahora que todo está conectado correctamente podemos ejecutar nuestro programa.

Para que se ejecute automáticamente al inicio, cree un archivo usando:

sudo nano myscript.service

Luego pegue (asegúrese de usar su propio directorio app.py:

[Unidad] Descripción = Switchit After = network.target [Service] ExecStart = / usr / bin / python3 -u app.py WorkingDirectory = // cambiar al directorio app.py // StandardOutput = heredar StandardError = heredar Restart = siempre Usuario = pi [Instalar] WantedBy = multi-user.target

Luego presione "ctrl + X" y cópielo en / etc / systemd / system.

Luego, el siguiente comando para que se ejecute automáticamente:

sudo systemctl habilitar myscript.service

Puede encontrar más información sobre esto en el sitio de RaspBerry Pi.

¡Reinicia y listo

Ahora reinicie su PI usando:

sudo reiniciar -h ahora

¡Así es como se hace Switch-it!

Gracias por seguirnos, espero que esto haya sido útil. Si tiene algún consejo o comentario, no dude en dejar un comentario.

Paso 6: (OPCIONAL) la carcasa

(OPCIONAL) la Vivienda
(OPCIONAL) la Vivienda
(OPCIONAL) la Vivienda
(OPCIONAL) la Vivienda
(OPCIONAL) la Vivienda
(OPCIONAL) la Vivienda
(OPCIONAL) la Vivienda
(OPCIONAL) la Vivienda

Puedes construir la vivienda íntegramente a tu gusto. Usé una caja de metal de 40x40x5 cm con tapa. Como usé uno de metal, tuve que perforar agujeros y usar espaciadores para sacar todo de la placa de tierra. Elegí usar un punto central donde los 5V, 3.3V y gnd estén disponibles. Cada conexión eléctrica está soldada con un trozo de tubo retráctil encima. Para hacer la gestión de cables utilicé almohadillas con correas de transporte.

Recomendado: