Taula de continguts:

Control LED basat en l'Assistent de Google mitjançant Raspberry Pi: 3 passos
Control LED basat en l'Assistent de Google mitjançant Raspberry Pi: 3 passos

Vídeo: Control LED basat en l'Assistent de Google mitjançant Raspberry Pi: 3 passos

Vídeo: Control LED basat en l'Assistent de Google mitjançant Raspberry Pi: 3 passos
Vídeo: Полное руководство по Google Forms - универсальный инструмент для опросов и сбора данных онлайн! 2024, Juliol
Anonim
Control LED basat en l'Assistent de Google mitjançant Raspberry Pi
Control LED basat en l'Assistent de Google mitjançant Raspberry Pi
Control LED basat en l'Assistent de Google mitjançant Raspberry Pi
Control LED basat en l'Assistent de Google mitjançant Raspberry Pi
Control LED basat en l'Assistent de Google mitjançant Raspberry Pi
Control LED basat en l'Assistent de Google mitjançant Raspberry Pi
Control LED basat en l'Assistent de Google mitjançant Raspberry Pi
Control LED basat en l'Assistent de Google mitjançant Raspberry Pi

Ei!

En aquest projecte, implementarem el control basat en l'Assistent de Google del LED mitjançant Raspberry Pi 4 mitjançant HTTP a Python. Podeu substituir el LED per una bombeta (òbviament, no literalment, necessitareu un mòdul de relé entremig) o qualsevol altre electrodomèstic perquè aquest projecte es pugui implementar encara més amb finalitats domòtiques.

Subministraments

Què necessitareu per a aquest projecte:

1. Raspberry Pi

2. LED

3. Jumper Wires-2 (masculí a femení)

4. Taula de pa

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

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

Alguns requisits previs:

1. Conceptes bàsics de xarxa-HTTP

2. Python per accedir a les dades web

Pas 1: crear un canal Thingspeak

Creació d’un canal Thingspeak
Creació d’un canal Thingspeak
Creació d’un canal Thingspeak
Creació d’un canal Thingspeak
Creació d’un canal Thingspeak
Creació d’un canal Thingspeak
Creació d’un canal Thingspeak
Creació d’un canal Thingspeak

Si no coneixeu Thingspeak i no l’heu utilitzat mai, seguiu els passos següents:

Aneu a

Haureu de registrar-vos abans de començar a utilitzar Thingspeak

Després de registrar-vos, aneu a la secció Canals

A Canals, seleccioneu Canal nou (vegeu la imatge com a referència)

A Nou canal, veureu diferents quadres d'informació. Només cal que empleneu el quadre Nom. Pots posar nom al teu canal com vulguis. He adjuntat una imatge on he anomenat el meu canal com a Raspberry Pi 4. Deixeu la resta de caixes tal qual.

Enhorabona! Heu creat amb èxit un canal per al vostre projecte IoT. (vegeu la imatge adjunta on podeu veure el meu canal anomenat Raspberry Pi 4 creat amb èxit)

Pas 2: utilitzar l'aplicació IFTTT

Utilitzant l’aplicació IFTTT
Utilitzant l’aplicació IFTTT
Utilitzant l’aplicació IFTTT
Utilitzant l’aplicació IFTTT
Utilitzant l’aplicació IFTTT
Utilitzant l’aplicació IFTTT
Utilitzant l’aplicació IFTTT
Utilitzant l’aplicació IFTTT

Hem d’utilitzar aquesta aplicació per activar una sol·licitud GET per publicar dades al canal Thingspeak creat mitjançant l’assistent de Google. Penseu en aquesta aplicació com una interfície entre l'Assistent de Google i el vostre canal Thingspeak.

A continuació, creem sol·licituds GET a l'aplicació IFTTT.

Baixeu l'aplicació IFTTT des de

crea el teu compte

Aneu a Crea els vostres propis applets des de zero

Toqueu l'opció Si aquesta opció

Seleccioneu el servei d'activador com a Assistent de Google

En això, seleccioneu Digues una frase senzilla

Sota aquesta opció, apareixeran alguns quadres d'informació. Per a això, consulteu les imatges i empleneu les dades en conseqüència. (hi ha dues imatges a aquest efecte: 1. Encendre el LED 2. Apagar el LED)

Hem completat la part If This, que és l'Assistent de Google. Ara seleccionem l'opció Then That que és Webhooks.

A continuació, seleccioneu Fes una sol·licitud web

Consulteu la imatge per obtenir la informació que cal omplir als quadres. Consulteu aquest URL https://api.thingspeak.com/update?api_key=INSERTAR LA CLAU DE L'API D'ESCRIPTURA & field1 = 1

A l'URL anterior, notareu que he esmentat sobre INSERTAR LA CLAU DE L'API D'ESCRIPTURA. Aquesta és la clau API que és una identitat del canal que heu creat a Thingspeak (vegeu la imatge). Escriure la clau API us ajudarà a escriure algunes dades concretes al vostre canal i, de manera similar, la clau API API us ajudarà a obtenir dades del canal.

A part de la vostra clau API d’escriptura, la resta d’informació dels quadres continua sent la mateixa.

Aquí heu creat un activador en què, quan dieu a l'Assistent de Google, "Enceneu el LED", enviarà un "1" al vostre canal Thingspeak.

Ara, de manera similar, heu de crear un nou applet a l’aplicació IFTTT per apagar el LED. He adjuntat imatges si estàs confós sobre el mateix. En cas contrari, el procediment per apagar el LED és el mateix que el que heu fet anteriorment a part d'alguns canvis menors.

Pas 3: Finalment, comença a codificar

Finalment Començant a codificar
Finalment Començant a codificar

Explicaré l'objectiu principal del codi Python. Hem d’aconseguir les dades del canal Thingspeak, que serà un "1" o un "0" segons el que digueu a l'Assistent de Google. Hem d’encendre o apagar el LED en funció d’això. Si el valor penjat al canal Thingspeak és "1", encenem el LED i, si és un "0", l'apaguem.

Al codi, necessitareu dues coses: 1. La vostra clau API de lectura. 2. El vostre identificador de canal (consulteu les imatges per obtenir el mateix).

Aquí teniu el codi (suposant que coneixeu els requisits previs d’HTTP i Python):

importar urllib

sol·licituds d’importació

importació json

temps d'importació

importar RPi. GPIO com a GPIO

GPIO.setmode (GPIO. BOARD)

GPIO.setup (7, GPIO. OUT)

provar:

mentre (1):

URL = 'https://api.thingspeak.com/channels/INSER EL SEU ID DE CANAL / camps / 1.json? Api_key =' KEY = 'INSERT YOUR READ API KEY'

HEADER = '& resultats = 2'

NEW_URL = URL + CLAU + CAPÇALERA

#print (NEW_URL)

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

#print (get_data)

feild_1 = get_data ['feeds']

#print ("Camp:", feild_1)

t =

per a x en feild_1:

t.append (x ['field1'])

imprimir (t [1])

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

GPIO.output (7, 1)

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

GPIO.output (7, 0)

excepte KeyboardInterrupt:

GPIO.cleanup ()

Recomanat: