Tabla de contenido:

Control LED basado en el Asistente de Google con Raspberry Pi: 3 pasos
Control LED basado en el Asistente de Google con Raspberry Pi: 3 pasos

Video: Control LED basado en el Asistente de Google con Raspberry Pi: 3 pasos

Video: Control LED basado en el Asistente de Google con Raspberry Pi: 3 pasos
Video: Aprende Domótica con Raspberry Pi | ESPhome | Instalación y proyectos básicos con Home Assistant Ep1 2024, Noviembre
Anonim
Control de LED basado en el Asistente de Google con Raspberry Pi
Control de LED basado en el Asistente de Google con Raspberry Pi
Control de LED basado en el Asistente de Google con Raspberry Pi
Control de LED basado en el Asistente de Google con Raspberry Pi
Control de LED basado en el Asistente de Google con Raspberry Pi
Control de LED basado en el Asistente de Google con Raspberry Pi
Control de LED basado en el Asistente de Google con Raspberry Pi
Control de LED basado en el Asistente de Google con Raspberry Pi

¡Oye!

En este proyecto, implementaremos el control del LED basado en el Asistente de Google usando Raspberry Pi 4 usando HTTP en Python. Puede reemplazar el LED con una bombilla (obviamente, no literalmente, necesitará un módulo de relé en el medio) o cualquier otro electrodoméstico para que este proyecto se pueda implementar aún más con fines de automatización del hogar.

Suministros

Qué necesitará para este proyecto:

1. Raspberry Pi

2. LED

3. Cables de puente-2 (macho a hembra)

4. Tablero de pruebas

5. Aplicación IFTTT (https://play.google.com/store/apps/details?id=com.ifttt.ifttt&hl=en_IN)

6. Cuenta de Thingspeak (https://thingspeak.com/)

Algunos requisitos previos:

1. Conceptos básicos de redes:

2. Python para acceder a los datos web

Paso 1: Crear un canal de Thingspeak

Creación de un canal de Thingspeak
Creación de un canal de Thingspeak
Creación de un canal de Thingspeak
Creación de un canal de Thingspeak
Creación de un canal de Thingspeak
Creación de un canal de Thingspeak
Creación de un canal de Thingspeak
Creación de un canal de Thingspeak

Si es nuevo en Thingspeak y nunca lo ha usado antes, siga los pasos a continuación:

Vaya a

Tendrá que registrarse antes de comenzar a usar Thingspeak

Después de registrarse, vaya a la sección Canales

En Canales, seleccione Nuevo canal (vea la imagen como referencia)

En New Channel, verá diferentes cuadros de información. Solo tienes que rellenar el cuadro Nombre. Puedes nombrar tu canal como quieras. He adjuntado una imagen en la que he nombrado mi canal como Raspberry Pi 4. Deje el resto de las cajas como está.

¡Felicidades! Ha creado con éxito un canal para su proyecto de IoT. (vea la imagen adjunta donde puede ver mi canal llamado Raspberry Pi 4 creado con éxito)

Paso 2: uso de la aplicación IFTTT

Usando la aplicación IFTTT
Usando la aplicación IFTTT
Usando la aplicación IFTTT
Usando la aplicación IFTTT
Usando la aplicación IFTTT
Usando la aplicación IFTTT
Usando la aplicación IFTTT
Usando la aplicación IFTTT

Tenemos que usar esta aplicación para activar una solicitud GET para publicar datos en su canal de Thingspeak creado usando el Asistente de Google. Piense en esta aplicación como una interfaz entre el Asistente de Google y su canal de Thingspeak.

A continuación, creamos solicitudes GET en la aplicación IFTTT.

Descargue la aplicación IFTTT de

Crea tu cuenta

Ve a Crea tus propios applets desde cero

Toque Si esta opción

Seleccione el servicio de activación como Asistente de Google

En eso, seleccione Decir una frase simple

Bajo esa opción, aparecerán algunos cuadros de información. Para eso, consulte las imágenes y complete los detalles en consecuencia. (hay dos imágenes para este propósito: 1. Para encender el LED 2. Para apagar el LED)

Hemos completado la parte If This, que es el Asistente de Google. Ahora seleccionamos Entonces esa opción que es Webhooks.

Debajo de eso, seleccione Realizar una solicitud web

Consulte la imagen para ver la información que se debe completar en los cuadros. Consulte esta URL https://api.thingspeak.com/update?api_key=INSERTAR SU CLAVE DE API DE ESCRITURA & field1 = 1

En la URL anterior, notará que he mencionado sobre INSERT YOUR WRITE API KEY. Esta es la clave API que es una identidad del canal que creaste en Thingspeak (ver imagen). Escribir clave API te ayudará a escribir un dato particular en tu canal y, de manera similar, Leer clave API te ayudará a obtener datos del canal.

Aparte de su clave Write API, el resto de la información de los cuadros sigue siendo la misma.

Así que aquí ha creado un disparador en el que cuando le dice a su Asistente de Google, "Encienda el LED", enviará un "1" a su canal de Thingspeak.

Ahora, de manera similar, debe crear un nuevo Applet en la aplicación IFTTT para apagar el LED. He adjuntado imágenes si estás confundido acerca de lo mismo. De lo contrario, el procedimiento para apagar el LED es el mismo que hizo anteriormente, salvo algunos cambios menores.

Paso 3: finalmente comenzar a codificar

Finalmente comenzando a codificar
Finalmente comenzando a codificar

Explicaré el objetivo principal del código Python. Tenemos que buscar los datos del canal de Thingspeak, que será un "1" o un "0" según lo que le digas a tu Asistente de Google. Tenemos que encender o apagar el LED en función de esto. Si el valor cargado en el canal de Thingspeak es "1", entonces encendemos el LED, y si es un "0", lo apagamos.

En el código, necesitará dos cosas: 1. Su clave de API de lectura 2. Su ID de canal (consulte las imágenes para ver la misma)

Aquí está el código (suponiendo que conozca los requisitos previos de HTTP y Python):

importar urllib

solicitudes de importación

importar json

tiempo de importación

importar RPi. GPIO como GPIO

GPIO.setmode (GPIO. BOARD)

Configuración de GPIO (7, GPIO. OUT)

tratar:

mientras que (1):

URL = 'https://api.thingspeak.com/channels/ INSERTE SU ID DE CANAL / fields / 1.json? Api_key =' KEY = 'INSERT YOUR READ API KEY'

HEADER = '& results = 2'

NEW_URL = URL + CLAVE + ENCABEZADO

#print (NEW_URL)

get_data = solicitudes.get (NEW_URL).json ()

#print (get_data)

feild_1 = get_data ['feeds']

#print ("Campo:", feild_1)

t =

para x en feild_1:

t.append (x ['campo1'])

imprimir (t [1])

si int (t [1]) == 1:

Salida GPIO (7, 1)

elif int (t [1]) == 0:

Salida GPIO (7, 0)

excepto KeyboardInterrupt:

GPIO.cleanup ()

Recomendado: