Configurar la automatización del hogar Raspberry Pi

Set Up Raspberry Pi Home Automation



Una de las cosas más importantes para la automatización del hogar es controlar la CA de alto voltaje utilizando una CC de bajo voltaje. Para controlar la CA de alto voltaje de Raspberry Pi, necesitará un interruptor de relé de 5V. Puede controlar el interruptor de relé utilizando los pines GPIO de Raspberry Pi. El interruptor de relé puede controlar los electrodomésticos de CA a través de Raspberry Pi.

Este artículo le mostrará cómo usar Raspberry Pi y el interruptor de relé de 5V para encender y apagar una bombilla desde su dispositivo móvil. El artículo incluye una aplicación web a la que puede acceder desde cualquier dispositivo de su red y controlar cualquier electrodoméstico de CA en su hogar de forma inalámbrica. Entonces, comencemos con nuestro sencillo experimento de automatización del hogar Raspberry Pi.







Cosas que necesitará

Si desea utilizar su Raspberry Pi sin cabeza (a través de SSH o VNC), necesitará lo siguiente:



1) Raspberry Pi 3 o Raspberry Pi 4.
2) Interruptor de relé de 5V.
3) Cables eléctricos.
4) 3 cables de conexión hembra a hembra.
5) Bombilla AC.
6) Soporte para bombilla AC.
7) Enchufe AC.
8) Herramienta cortadora y pelacables.
9) Destornillador CR-V 3.
10) Adaptador de corriente Micro-USB (Raspberry Pi 3) o USB Type-C (Raspberry Pi 4).
11) Tarjeta microSD de 16 GB o 32 GB con sistema operativo Raspberry Pi flasheado.
12) Conectividad de red en Raspberry Pi.
13) Computadora portátil o de escritorio para acceso a escritorio remoto VNC o acceso SSH a Raspberry Pi.



Si no desea acceder a Raspberry Pi de forma remota a través de SSH o VNC, también necesitará lo siguiente:





14) Un monitor.
15) Cable HDMI o micro-HDMI.
16) Un teclado.
17) Un ratón.

Si necesita ayuda para flashear la imagen del sistema operativo Raspberry Pi en la tarjeta microSD, consulte el artículo Cómo instalar y usar Raspberry Pi Imager.



Si es un principiante de Raspberry Pi y necesita ayuda para instalar el sistema operativo Raspberry Pi en Raspberry Pi, consulte el artículo Cómo instalar el sistema operativo Raspberry Pi en Raspberry Pi 4.

Además, si necesita ayuda con la configuración sin cabeza de Raspberry Pi, consulte el artículo Cómo instalar y configurar el sistema operativo Raspberry Pi en Raspberry Pi 4 sin monitor externo.

A continuación se muestran imágenes de todas las herramientas necesarias.

Encendido de Raspberry Pi

A continuación, conecte el cable de alimentación a Raspberry Pi y encienda Raspberry Pi.

Una vez que Raspberry Pi está encendida, puede conectarse a Raspberry Pi a través de VNC o SSH. O puede conectar un teclado, un mouse y un monitor a Raspberry Pi para acceder directamente.

Configuración de pines de relé de 5 V

Un relé es básicamente un interruptor. Pero, a diferencia de un interruptor tradicional, un relé se puede controlar con una pequeña cantidad de voltaje de CC.

El relé de 5 V es muy fácil de usar. Tiene dos lados: un lado se usa para controlar el relé a través de CC de bajo voltaje (de Raspberry Pi), y el otro lado se usa para controlar el CA de alto voltaje (es decir, la bombilla), dependiendo del estado del relé .


Por un lado, el relé tiene dos LED (uno rojo y otro verde) y tres pines ( EN, GND, y VCC ). Estos tres pines se utilizan para controlar el relé de Raspberry Pi.

Las dos primeras clavijas del otro lado se utilizan para controlar el electrodoméstico de CA.

Conexión del relé de 5 V a Raspberry Pi

Para conectar el relé de 5 V a Raspberry Pi, necesitará tres cables de conexión hembra a hembra.

Enchufe un lado de los cables de conexión al EN (cable amarillo), GND (cable negro), y VCC (cable rojo) en el relé de 5 V, como se muestra a continuación.


El otro lado de los cables va a los pines del encabezado GPIO de Raspberry Pi, como se muestra en la imagen a continuación.

El cable rojo debe entrar en el PIN 2 (VCC) de Raspberry Pi.
El cable negro debe entrar en el PIN 6 (TIERRA) de Raspberry Pi.
El cable amarillo debe entrar en el PIN 7 (GPIO 4) de Raspberry Pi.


Una vez que el relé de 5 V está conectado a Raspberry Pi, debería verse como se muestra en la imagen a continuación.

Permitir el acceso de GPIO al usuario de inicio de sesión

Para permitir el acceso a los pines GPIO, el usuario de inicio de sesión predeterminado de Raspberry Pi OS Pi debe agregarse a la gpio grupo.

Puede agregar el Pi usuario al gpio grupo con el siguiente comando:

$sudousermod-aGgpio $(quién soy)


Para que los cambios surtan efecto, reinicie Raspberry Pi con el siguiente comando:

$sudoreiniciar

Crear un directorio de proyectos

También es una buena idea mantener organizados todos los archivos del proyecto.

Para mantener organizados los archivos del proyecto, cree el directorio del proyecto ~ / www y los subdirectorios necesarios con el siguiente comando:

$mkdir -pv~/www/{plantillas, estático}


Una vez que se crea el directorio del proyecto, navegue al directorio del proyecto de la siguiente manera:

$cd~/www

Cambio del relé de 5 V de Raspberry Pi

Ahora que ha conectado el relé de 5V a Raspberry Pi, cambiará el relé de Raspberry Pi utilizando el lenguaje de programación Python.

NOTA: Cambio es un término utilizado en electrónica. Conmutar significa controlar (es decir, encender / apagar) un determinado dispositivo electrónico.

Para experimentar con el cambio de relé usando el lenguaje de programación Python, cree el nuevo script de Python test.py en el directorio del proyecto de la siguiente manera:

$nanotest.py


Escriba las siguientes líneas de códigos en la secuencia de comandos de Python test.py.

degpiozeroimportarDIRIGIÓ
de tiempo importardormir

tiempo Cierto:
relé=DIRIGIÓ(4)
impresión('Retransmitir en')
dormir(5)

relé.cerrar()
impresión('Relay: Off')
dormir(5)

Una vez que haya terminado, presione + X seguido por Y y para salvar el test.py Secuencia de comandos de Python.


Aquí, la línea 1 importa DIRIGIÓ desde el gpiozero biblioteca, y la línea 2 importa el dormir función de la tiempo Biblioteca.


Las líneas 6 a 14 están dentro de un bucle infinito.


La línea 6 inicializa un LED en el GPIO 4 de Raspberry Pi, que está conectado a la EN pin del relé.


La línea 8 enciende el relé usando el sobre() método.

La línea 9 imprime un mensaje en la consola usando el impresión() función.

La línea 10 retrasa la ejecución de la siguiente línea de código durante cinco segundos utilizando el dormir() función.


La línea 12 apaga el relé usando el cerrar() método.

De la misma forma, la línea 9 imprime un mensaje en la consola usando el impresión() función y la línea 10 retrasa la ejecución de la siguiente línea de código durante 5 segundos utilizando el dormir() función.


A continuación, ejecute el test.py Secuencia de comandos de Python de la siguiente manera:

$python3 test.py


los test.py La secuencia de comandos de Python debería comenzar a cambiar el relé de 5V. Debería escuchar un sonido de clic cada cinco segundos. Cuando el relé cambia de estado (de encendido a apagado o de apagado a encendido), hace un ruido de clic. Esto significa que el relé está funcionando correctamente.


Cuando el relé está apagado (funcionamiento normal - la carga de CA está desconectada), solo el red El LED debería encenderse, como puede ver en la imagen de abajo.


Cuando el relé está en el estado encendido (la carga de CA está conectada), tanto el verde LED y los red El LED debería encenderse, como puede ver en la imagen de abajo.


Una vez que se complete la prueba, presione + C para terminar el test.py texto.

Conexión de la bombilla de CA al relé de 5 V

El relé de 5 V ahora debería estar funcionando correctamente. Ahora, conectará su electrodoméstico de CA (una bombilla, en este caso) al relé de 5V.

Primero, corte el cable eléctrico negro conectado a la bombilla con un cortador de alambre.


Una vez que el cable eléctrico negro conectado a la bombilla se haya cortado con un cortador de alambre, debe verse como se muestra en la imagen a continuación.


A continuación, retire la capa exterior para exponer aproximadamente ½ pulgada del cable eléctrico, como se muestra en la imagen a continuación.


Luego, doble los cables expuestos, como se muestra en la imagen de abajo.


Afloje los tornillos marcados del relé con un destornillador CV-3.


Inserta los cables expuestos que pelaste y doblaste anteriormente en los dos terminales de tornillo y aprieta los tornillos con un destornillador CV-3.

Prueba de la conmutación del relé después de conectar la carga de CA

Una vez que la carga de CA esté conectada al relé de 5 V, conecte el enchufe de la bombilla al enchufe de la pared.


Ejecutar el test.py Secuencia de comandos de Python desde el directorio del proyecto de la siguiente manera:

$python3 test.py


los test.py La secuencia de comandos de Python debe comenzar a cambiar el relé de 5 V, que, a su vez, cambiará la bombilla de CA de alto voltaje a intervalos de cinco segundos. La bombilla de CA debe permanecer encendida durante cinco segundos, luego permanecer apagada durante cinco segundos y así sucesivamente.

La bombilla está apagada en la imagen de abajo.


La bombilla está encendida en la imagen de abajo.


Como puede ver, podemos cambiar el relé y controlar la bombilla de CA de alto voltaje utilizando el lenguaje de programación Python. Entonces, presione + C para terminar el test.py texto.

Pasemos ahora a la siguiente sección.

Escribir la aplicación web de automatización del hogar

En esta sección, le mostraré cómo escribir una aplicación web basada en API utilizando el lenguaje de programación Python. Puede utilizar la aplicación web para controlar el relé y los electrodomésticos de CA o dispositivos eléctricos conectados al relé desde un navegador web.

NOTA: Todos los códigos que se muestran en esta sección están disponibles en mi repositorio de GitHub shovon8 / raspberry-pi-domótica . Si lo desea, puede clonar mi repositorio de GitHub y omitir todos los códigos.

Cree el script de Python server.py en el directorio del proyecto de la siguiente manera:

$nanoserver.py


Escriba las siguientes líneas de códigos en el server.py Secuencia de comandos de Python.

dematrazimportarMatraz,jsonify,url_for,render_template
degpiozeroimportarDIRIGIÓ
deuuidimportaruuid4
habitaciones= {}
habitaciones['Habitación 1'] = [{
'identificación': uuid4(),
'nombre':'Luz 1',
'icono':'fa fa-bombilla',
'estado':Falso,
'relayPin':4,
'relayInstance':Falso
}, {
'identificación': uuid4(),
'nombre':'Ventilador 1',
'icono':'fa fa-fan',
'estado':Falso,
'relayPin':6,
'relayInstance':Falso
}]
habitaciones['Baño 1'] = [{
'identificación': uuid4(),
'nombre':'Luz 1',
'icono':'fa fa-bombilla',
'estado':Falso,
'relayPin':5,
'relayInstance':Falso
}]
aplicación=Matraz(__nombre__)
aplicación.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0
@aplicación.ruta('/')
defhogar():
regresorender_template('./index.html',habitaciones=habitaciones)
deftoggle_appliance_status(identificación):
porhabitaciónenhabitaciones:
poraparatoenhabitaciones[habitación]:
si pag(aparato['identificación']) == identificación:
siaparato['relayInstance']:
aparato['relayInstance'].cerrar()
aparato['relayInstance'] = Falso
demás:
aparato['relayInstance'] =DIRIGIÓ(aparato['relayPin'])
aparato['relayInstance'].sobre()
aparato['estado'] = noaparato['estado']
regreso Cierto
regreso Falso
@aplicación.ruta('/ aparato / alternar /')
defappliance_toggle(identificación):
regresojsonify({'estado': toggle_appliance_status(identificación)})

Una vez que haya terminado, presione + X seguido por Y y para salvar el server.py Secuencia de comandos de Python.


Aquí, las líneas 1-3 importan todos los componentes necesarios de sus respectivas bibliotecas.


La línea 5 crea un vacío habitaciones diccionario. En este diccionario, almacenaremos todos los detalles del aparato de CA que queremos controlar desde la aplicación web.


los habitaciones los detalles se almacenan en las líneas 7-29.


Analicemos la estructura de datos de una de las salas.

Aquí, el nombre de la habitación será Habitación 1. Entonces, Habitación 1 es la clave del habitaciones diccionario.


los Habitación 1 La clave contiene una matriz como valor. La cantidad de elementos de la matriz es igual a la cantidad de electrodomésticos de CA que tiene en esa habitación y que también desea controlar desde la aplicación web. En este caso, tenemos dos electrodomésticos de CA que queremos controlar: Luz 1 y Ventilador 1 .


Cada definición de electrodomésticos tiene un identificación . los identificación es un UUID generado aleatoriamente. Esto se usa para identificar qué habitación queremos controlar usando la API.

Un electrodoméstico también tiene todo lo siguiente:

  • nombre (Luz 1 en este caso)
  • icono (Clase de icono Font Awesome, ya que usaremos Font Awesome para los iconos)
  • estado (verdadero si sobre y Falso si apagado )
  • relayPin (el número de pin GPIO utilizado para controlar el relé conectado al electrodoméstico de CA)
  • relayInstance (el inicializado DIRIGIÓ objeto de gpiozero biblioteca responsable de controlar el pin GPIO respectivo - relayPin )


La línea 31 inicializa un servidor web Python de matraz.

La línea 32 configura el servidor web del matraz.


Las líneas 34-36 envían el index.html archivo de la plantillas/ directorio cuando visite la aplicación web de automatización del hogar.

Usos del matraz Jinja2 lenguaje de plantillas para representar el index.html expediente. Entonces, he pasado el habitaciones diccionario al index.html expediente. Jinja2 renderizará la página de inicio usando el habitaciones datos.


La función toggle_appliance_status () en las líneas 39-52 se usa para encender el electrodoméstico si está apagado y apagar el electrodoméstico si está encendido usando el aparato. identificación .

Vuelve Cierto si la operación de alternancia es exitosa. Si hay un error, volverá. Falso .


Las líneas 55-57 se utilizan para alternar un electrodoméstico usando el / aparato / alternar / Punto final API del servidor web. Aquí, identificación es el ID del electrodoméstico.


Crea el index.html archivo en el plantillas/ directorio de su proyecto de la siguiente manera:

$nanoplantillas/index.html

Escriba las siguientes líneas de códigos en el index.html texto.


< html lang='en'>
< cabeza >
< meta juego de caracteres='UTF-8'>
< meta nombre='viewport' contenido='width = device-width, initial-scale = 1.0'>
< Enlace rel='hoja de estilo' href='{{url_for (' static ', filename =' fontawesome / css / all.min.css ')}}'>
< Enlace rel='hoja de estilo' href='{{url_for (' static ', filename =' style.css ')}}'>
< título >Automatización del hogar con Raspberry Pi</ título >
</ cabeza >
< cuerpo >
< div identificación='contenido'>
< h1 >Automatización del hogar Raspberry Pi</ h1 >

{% por espacio en habitaciones%}
< div clase='habitación'>
< h2 >{{ habitación }}</ h2 >
< div clase='accesorios'>
{% para electrodomésticos en habitaciones [habitación]%}
< div clase='aparato' identificación='{{dispositivo [' id ']}}'>='activo'>
< I clase='{{dispositivo [' icono ']}}'></ I >
< lapso >{{dispositivo ['nombre']}}</ lapso >
</ div >
{% endfor%}
</ div >
</ div >
{% endfor%}

</ div >

< texto src='{{url_for (' static ', filename =' app.js ')}}' escribe='texto / javascript'></ texto >
</ cuerpo >
</ html >

Una vez que haya terminado, presione + X seguido por Y y para salvar el index.html expediente.


Crear un style.css archivo en el estático/ directorio de su proyecto de la siguiente manera:

$nanoestático/style.css


Escriba las siguientes líneas de códigos en el style.css expediente.

@importar url('https://fonts.googleapis.com/css2?family=BenchNine: [correo electrónico protegido]; 400; 700 & display = swap');

* {
margen: 0;
relleno: 0;
Familia tipográfica: 'BenchNine', sans-serif;
}

#contenido >h1{
antecedentes:gradiente lineal(paraDerecha, rgb(112, 24, 163), rgb(86, 127, 240));
color: #fff;
texto alineado: centrar;
relleno: .5em 0;
}

div.habitación {
margen: .5em;
frontera: 2px sólido rgb(112, 24, 163);
radio de borde: 5px;
}

div.habitaciónh2{
/ * fondo: rgb (9, 76, 121); * /
antecedentes:gradiente lineal(paraDerecha, rgb(112, 24, 163), rgb(86, 127, 240));
relleno: 0 0 0 .5em;
color: #fff;
}

div.accesorios {
margen: .5em .5em 0 0;
monitor:flexionar;
envoltura flexible:envoltura;
}

div.aparato {
frontera: 2px sólido rgb(112, 24, 163);
radio de borde: 5px;
ancho: 110px;
altura: 120 px;
texto alineado: centrar;
margen: 0 0 .5em .5em;
monitor:flexionar;
dirección flexible:columna;
}

div.aparatoI.fa {
tamaño de fuente: 4em;
crecimiento flexible: 1;
acolchado superior: 0.3em;
color: rgb(204, 50, 50);
}

aparato div.[datos activos='activo']I.fa {
color: rgb(32, 177, 51);
}

div.aparatolapso{
monitor: cuadra;
peso de la fuente: negrita;
antecedentes: rgb(112, 24, 163);
color: #fff;
}

Una vez que haya terminado, presione + X seguido por Y y para salvar el style.css expediente.


Crear un app.js archivo en el estático/ directorio de su proyecto de la siguiente manera:

$nanoestático/app.js


Escriba las siguientes líneas de códigos en el app.js expediente.

ventana.addEventListener('carga',principal);

funciónprincipal() {
funcióntoggleApplianceState(Y) {
dóndeidentificación=Y.sendero[1].identificación;

dóndehttp= nuevoXMLHttpRequest();

http.onreadystatechange = función() {
si(esta.readyState === 4 && esta.estado === 200) {
si(JSON.analizar gramaticalmente(esta.responseText).estado === cierto) {
si(Y.sendero[1].hasAttribute('datos activos')) {
Y.sendero[1].removeAttribute('datos activos')
} demás {
Y.sendero[1].setAttribute('datos activos', 'activo')
}
}
}
}

http.abierto('OBTENER',`/aparato/palanca/${identificación}`, cierto);
http.enviar();
}


dóndeaccesorios=documento.getElementsByClassName('aparato');
por(I=0;I<accesorios.largo;I++) {
accesorios[I].addEventListener('hacer clic',toggleApplianceState);
}
}

Una vez que haya terminado, presione + X seguido por Y y para salvar el app.js expediente.


Aquí, la línea 1 corre el principal() funcionará cuando la página web termine de cargarse.

En el index.html archivo, cada electrodoméstico se adjunta en un aparato clase. Las líneas 26-29 se utilizan para seleccionar cada electrodoméstico de la página web y adjuntar el hacer clic evento al aparato. Cuando alguien hace clic en un electrodoméstico desde la página web, el toggleApplianceState () la función se ejecutará.


En las líneas 4-23, el toggleApplianceState () La función se utiliza para solicitar la / aparato / alternar / punto final del servidor web para cambiar el estado del electrodoméstico en el que se hizo clic. La solicitud se realiza en segundo plano a través de AJAX. Una vez que se recibe la respuesta, la página web se actualiza en consecuencia.


Navega al estático/ directorio en el directorio de su proyecto de la siguiente manera:

$cdestático/


Descarga Font Awesome con el siguiente comando:

$wgethttps://use.fontawesome.com/lanzamientos/v5.15.1/fontawesome-free-5.15.1-web.zip


Una vez que se descargue Font Awesome, debería encontrar el nuevo archivo zip fontawesome-free-5.15.1-web.zip en el estático/ directorio.

$ls -lh


Descomprime el fontawesome-free-5.15.1-web.zip archivo con el siguiente comando:

$abrir la cremallerafontawesome-free-5.15.1-web.zip


los fontawesome-free-5.15.1-web.zip El archivo ahora debería estar descomprimido.


El nuevo directorio fontawesome-free-5.15.1-web / debe crearse en el directorio estático /, como puede ver en la captura de pantalla a continuación.

$ls -lh

Cambiar el nombre del directorio fontawesome-free-5.15.1-web / para fontawesome / con el siguiente comando:

$mv -vfontawesome-free-5.15.1-web fontawesome


Ahora, ya no necesitas el fontawesome-free-5.15.1-web.zip expediente. Entonces, quita el fontawesome-free-5.15.1-web.zip archivo con el siguiente comando:

$rm -vfontawesome-free-5.15.1-web.zip


los estático/ La estructura del directorio debe verse como se muestra en la captura de pantalla a continuación.

$ls -lh


Navegar de regreso al directorio del proyecto ~ / www como sigue:

$cd..

Prueba de la aplicación web de automatización del hogar

Para probar la aplicación web de automatización del hogar, ejecute el siguiente comando en el directorio de su proyecto:

$FLASK_APP= servidor.py matraz ejecutar


La aplicación web debería estar disponible en el puerto 5000 de su Raspberry Pi.


Desde el navegador web Chromium, visite http: // localhost: 5000 . La aplicación web de automatización del hogar debería cargarse.

Haga clic en el icono de la bombilla, que se indica en la imagen a continuación.


La bombilla de CA ahora debería estar encendida. El color del icono también debería cambiar a verde, lo que indica que la bombilla está encendida.


Entonces, la aplicación web de automatización del hogar está funcionando. prensa + C para terminar el servidor web.

Creación de un servicio Systemd para la aplicación web de automatización del hogar

En esta sección, le mostraré cómo crear un archivo de servicio systemd para la aplicación web de automatización del hogar para que se inicie automáticamente al arrancar.

Primero, crea el raspi-home-automation.service archivo en el directorio de su proyecto de la siguiente manera:

$nanoraspi-home-automation.service

Escriba las siguientes líneas en el archivo raspi-home-automation.service.

[Unidad]
Descripción= Servicio web de automatización del hogar Raspberry Pi
Después= network.target
[Servicio]
Directorio de trabajo=/hogar/Pi/www
Medio ambiente=FLASK_APP= servidor.py
Medio ambiente=FLASK_ENV= producción
ExecStart=/usr/soy/matraz correr--anfitrión=0.0.0.0
Salida estándar= heredar
Error estándar= heredar
Reiniciar= siempre
Usuario= pi
[Instalar en pc]
Buscado por= multi-user.target

Una vez que haya terminado, presione + X seguido por Y y para salvar el raspi-home-automation.service expediente.


Copia el raspi-home-automation.service archivo al / etc / systemd / system / directorio con el siguiente comando:

$sudo cp -vraspi-home-automation.service/etc/sistema/sistema/


Vuelva a cargar los demonios systemd para que los cambios surtan efecto de la siguiente manera:

$sudosystemctl daemon-reload


Añade el raspi-domótica servicio al inicio del sistema de Raspberry Pi OS con el siguiente comando:

$sudosystemctlhabilitarraspi-home-automation.service


Reinicie Raspberry Pi con el siguiente comando:

$sudoreiniciar


Una vez que arranca la Raspberry Pi, raspi-domótica El servicio debe estar activo / en ejecución, como puede ver en la captura de pantalla a continuación.

$sudosystemctl status raspi-home-automation.service

Acceso a la aplicación web de automatización del hogar desde otros dispositivos

Para acceder a la aplicación web de automatización del hogar desde otros dispositivos en su red doméstica, necesitará conocer la dirección IP de su dispositivo Raspberry Pi.

Puede encontrar la dirección IP de su dispositivo Raspberry Pi 4 en la interfaz de administración web de su enrutador doméstico. En mi caso, la dirección IP es 192.168.0.103. Esto será diferente para ti. Por lo tanto, asegúrese de reemplazar mi IP con la suya a partir de ahora.


Si tiene acceso a la consola Raspberry Pi, también puede ejecutar el siguiente comando para encontrar la dirección IP.

$nombre de host -I


Una vez que conozca la dirección IP de su dispositivo Raspberry Pi, podrá acceder a ella desde cualquier dispositivo de su red doméstica.

Como puede ver en la captura de pantalla a continuación, he accedido a la aplicación web de automatización del hogar desde mi teléfono inteligente Android.


Asegúrese de enchufar el enchufe de la bombilla a la toma de corriente de la pared.


La bombilla debe estar apagada de forma predeterminada.


Si toca el icono de la bombilla de la aplicación web de automatización del hogar, el color del icono de la bombilla debería cambiar a verde, lo que indica que la bombilla está encendida.


Como puede ver en la imagen de abajo, la bombilla está encendida.

Conclusión

Este artículo le mostró cómo usar un relé de 5V para controlar un dispositivo eléctrico de CA de alto voltaje desde Raspberry Pi utilizando el lenguaje de programación Python. El artículo también le mostró cómo escribir una aplicación web de matraces Python basada en API para controlar el relé desde el navegador web. Este artículo debería ayudarlo a comenzar con la automatización del hogar con Raspberry Pi.