Tabla de contenido:
- Suministros
- Paso 1: Configurar Rasbian
- Paso 2: tomar el código y configurarlo
- Paso 3: Comunicación Arduino
- Paso 4: Cableado de Switch-it
- Paso 5: Ejecutar el código
- Paso 6: (OPCIONAL) la carcasa
Video: Switch-it, salida automática con medición de corriente en tiempo real: 6 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
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
En primer lugar, colocaremos Rasbian en la tarjeta SD. Lo haremos usando balenaEtcher.
- Abrir balenaEtcher
- Elija la imagen de Rasbian
- Seleccione su tarjeta SD
- 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:
- Accede al directorio de arranque de la tarjeta SD.
- Abra "cmdline.txt"
- Agregue "169.254.10.1" al final del documento y guárdelo
- Agregue un archivo llamado "ssh" al directorio de arranque (NO LE DÉ UNA EXTENSIÓN A ESTE ARCHIVO)
- 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.
- Abrir PuTTy
- Complete nuestra dirección APIPA como nombre de host (169.254.10.1)
- Asegúrese de que el puerto sea 22 y que SSH esté seleccionado
- Ahora puedes abrir la conexión
- El nombre de usuario predeterminado es: pi
- 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
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
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
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
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:
Solucionador con los ojos vendados del cubo de Rubik en tiempo real con Raspberry Pi y OpenCV: 4 pasos
Solucionador con los ojos vendados del cubo de Rubik en tiempo real con Raspberry Pi y OpenCV: esta es la segunda versión de la herramienta del cubo de Rubik hecha para resolver con los ojos vendados. La 1ª versión fue desarrollada por javascript, se puede ver el proyecto RubiksCubeBlindfolded1A diferencia de la anterior, esta versión utiliza la librería OpenCV para detectar los colores y e
La diferencia entre (corriente alterna y corriente continua): 13 pasos
La diferencia entre (corriente alternativa y corriente continua): Todo el mundo sabe que la electricidad es principalmente de CC, pero ¿qué tal otro tipo de electricidad? ¿Conoces Ac? ¿Qué significa AC? ¿Es utilizable entonces DC? En este estudio conoceremos la diferencia entre los tipos de electricidad, fuentes, aplicaciones
Hacer un reloj con M5stick C usando Arduino IDE - Reloj de tiempo real RTC con M5stack M5stick-C: 4 pasos
Hacer un reloj con M5stick C usando Arduino IDE | Reloj en tiempo real RTC con M5stack M5stick-C: Hola chicos, en este instructables aprenderemos cómo hacer un reloj con la placa de desarrollo m5stick-C de m5stack usando Arduino IDE. Entonces m5stick mostrará la fecha, hora y amp; semana del mes en la pantalla
Cómo hacer un reloj en tiempo real con Arduino y pantalla TFT - Arduino Mega RTC con pantalla TFT de 3,5 pulgadas: 4 pasos
Cómo hacer un reloj en tiempo real usando Arduino y pantalla TFT | Arduino Mega RTC con pantalla TFT de 3.5 pulgadas: Visite mi canal de Youtube. Introducción: - En esta publicación voy a hacer un "Reloj en tiempo real" usando LCD táctil TFT de 3.5 pulgadas, Arduino Mega Módulo RTC 2560 y DS3231… .Antes de comenzar… verifique el video de mi canal de YouTube. Nota: - Si está usando Arduin
Registro de datos MPU-6050 / A0 en tiempo real con Arduino y Android: 7 pasos (con imágenes)
Registro de datos MPU-6050 / A0 en tiempo real con Arduino y Android: Me ha interesado utilizar Arduino para el aprendizaje automático. Como primer paso, quiero construir una pantalla de datos y un registrador en tiempo real (o bastante cercano a él) con un dispositivo Android. Quiero capturar datos del acelerómetro del MPU-6050, así que diseño