Table des matières:

Contrôle LED basé sur Google Assistant à l'aide de Raspberry Pi : 3 étapes
Contrôle LED basé sur Google Assistant à l'aide de Raspberry Pi : 3 étapes

Vidéo: Contrôle LED basé sur Google Assistant à l'aide de Raspberry Pi : 3 étapes

Vidéo: Contrôle LED basé sur Google Assistant à l'aide de Raspberry Pi : 3 étapes
Vidéo: Comment créer un objet connecté et le contrôler avec Google Assistant ? 💡 2024, Novembre
Anonim
Contrôle LED basé sur Google Assistant à l'aide de Raspberry Pi
Contrôle LED basé sur Google Assistant à l'aide de Raspberry Pi
Contrôle LED basé sur l'assistant Google à l'aide de Raspberry Pi
Contrôle LED basé sur l'assistant Google à l'aide de Raspberry Pi
Contrôle LED basé sur l'assistant Google à l'aide de Raspberry Pi
Contrôle LED basé sur l'assistant Google à l'aide de Raspberry Pi
Contrôle LED basé sur l'assistant Google à l'aide de Raspberry Pi
Contrôle LED basé sur l'assistant Google à l'aide de Raspberry Pi

Hey!

Dans ce projet, nous allons implémenter le contrôle de la LED basé sur Google Assistant à l'aide de Raspberry Pi 4 à l'aide de HTTP en Python. Vous pouvez remplacer la LED par une ampoule (évidemment pas littéralement, vous aurez besoin d'un module relais entre les deux) ou tout autre appareil ménager afin que ce projet puisse être mis en œuvre davantage à des fins domotiques.

Fournitures

Ce dont vous aurez besoin pour ce projet:

1. Framboise Pi

2. DEL

3. Cavalier fils-2 (mâle à femelle)

4. Planche à pain

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

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

Quelques prérequis:

1. Bases de la mise en réseau-HTTP

2. Python pour accéder aux données Web

Étape 1: Création d'un canal Thingspeak

Créer un canal Thingspeak
Créer un canal Thingspeak
Créer un canal Thingspeak
Créer un canal Thingspeak
Créer un canal Thingspeak
Créer un canal Thingspeak
Créer un canal Thingspeak
Créer un canal Thingspeak

Si vous débutez avec Thingspeak et que vous ne l'avez jamais utilisé auparavant, suivez les étapes ci-dessous:

Allez sur

Vous devrez vous inscrire avant de commencer à utiliser Thingspeak

Après vous être inscrit, rendez-vous dans la section Chaînes

Sous Canaux, sélectionnez Nouveau canal (voir l'image pour référence)

Dans Nouvelle chaîne, vous verrez différentes boîtes d'informations. Vous n'avez qu'à remplir la case Nom. Vous pouvez nommer votre chaîne comme vous le souhaitez. J'ai joint une image où j'ai nommé ma chaîne en tant que Raspberry Pi 4. Laissez le reste des boîtes tel quel.

Toutes nos félicitations! Vous avez créé avec succès un canal pour votre projet IoT. (voir l'image ci-jointe où vous pouvez voir ma chaîne nommée Raspberry Pi 4 créée avec succès)

Étape 2: Utilisation de l'application IFTTT

Utiliser l'application IFTTT
Utiliser l'application IFTTT
Utiliser l'application IFTTT
Utiliser l'application IFTTT
Utiliser l'application IFTTT
Utiliser l'application IFTTT
Utiliser l'application IFTTT
Utiliser l'application IFTTT

Nous devons utiliser cette application pour déclencher une demande GET de publication de données sur votre chaîne Thingspeak créée à l'aide de Google Assistant. Considérez cette application comme une interface entre Google Assistant et votre chaîne Thingspeak.

Ensuite, nous créons des requêtes GET sur l'application IFTTT.

Téléchargez l'application IFTTT sur

Créez votre compte

Allez à Créer vos propres applets à partir de zéro

Appuyez sur Si cette option

Sélectionnez le service de déclenchement en tant qu'assistant Google

En cela, sélectionnez Dire une phrase simple

Sous cette option, des boîtes d'information apparaîtront. Pour cela, référez-vous aux images et remplissez les détails en conséquence ! (il y a deux images à cet effet: 1. Pour allumer la LED 2. Pour éteindre la LED)

Nous avons terminé la partie If This qui est Google Assistant. Maintenant, nous sélectionnons alors cette option qui est Webhooks.

Sous cela, sélectionnez Faire une demande Web

Référez-vous à l'image pour les informations qui doivent être remplies dans les cases. Référez-vous à cette URL https://api.thingspeak.com/update?api_key=INSERT YOUR WRITE API KEY&field1=1

Dans l'URL ci-dessus, vous remarquerez que j'ai mentionné INSERT YOUR WRITE API KEY. Il s'agit de la clé API qui est une identité du canal que vous avez créé sur Thingspeak (voir image). Write API key vous aidera à écrire une donnée particulière sur votre canal et de même Read API key vous aidera à obtenir des données du canal.

En dehors de votre clé d'API Write, le reste des informations des cases reste le même.

Donc, ici, vous avez créé un déclencheur où lorsque vous dites à votre assistant Google, "Allumez la LED", il enverra un "1" à votre canal Thingspeak.

Maintenant, de la même manière, vous devez créer une nouvelle applet sur l'application IFTTT pour éteindre la LED. J'ai joint des images si vous êtes confus à propos de la même chose. Sinon, la procédure pour éteindre la LED est la même que celle que vous avez faite ci-dessus à part quelques modifications mineures.

Étape 3: enfin commencer à coder

Commencer enfin à coder
Commencer enfin à coder

Je vais expliquer l'objectif principal du code Python. Nous devons récupérer les données du canal Thingspeak qui seront soit un "1" soit un "0" en fonction de ce que vous dites à votre assistant Google. Nous devons allumer ou éteindre la LED en fonction de cela. Si la valeur téléchargée sur le canal Thingspeak est "1", alors nous allumons la LED, et si c'est un "0", nous l'éteignons.

Dans le code, vous aurez besoin de deux choses: 1. Votre clé API de lecture 2. Votre identifiant de chaîne (référez-vous aux images pour la même chose)

Voici le code (en supposant que vous connaissiez les prérequis de HTTP et Python):

importer l'urllib

demandes d'importation

importer json

heure d'importation

importer RPi. GPIO en tant que GPIO

GPIO.setmode(GPIO. BOARD)

GPIO.setup(7, GPIO. OUT)

essayer:

tandis que(1):

URL='https://api.thingspeak.com/channels/INSER YOUR CHANNEL ID/fields/1.json?api_key=' KEY='INSERT YOUR READ API KEY'

EN-TÊTE='&résultats=2'

NEW_URL=URL+CLÉ+EN-TÊTE

#print(NEW_URL)

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

#print(get_data)

feild_1=get_data['flux']

#print("Champ:", feild_1)

t=

pour x dans feild_1:

t.append(x['champ1'])

imprimer(t[1])

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

GPIO.sortie (7, 1)

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

GPIO.sortie (7, 0)

sauf KeyboardInterrupt:

GPIO.cleanup()

Conseillé: