Créateurs

Arrosez vos plantes avec un arroseur intelligent DIY utilisant PiFace et Ubidots

Daniel Da Silva
· 4 min de lecture
Envoyer par email

L’une des raisons pour lesquelles j’ai principalement des cactus à la maison est que j’oublie souvent d’arroser mes plantes. C'est pourquoi je construis ce projet pour contrôler une électrovanne à distance pour irriguer mes plantes depuis n'importe quel endroit simplement en utilisant mon téléphone.

A la fin de ce tutoriel, vous devriez pouvoir faire quelque chose comme ceci :

Matériels

  • Raspberry Pi modèle B :framboise_pi-1
  • Piface numérique

piface-numérique

  • Vanne d'eau en plastique – 3/4″ – 12V nominal

soupape

  • Fil flexible pour 1A

fil_bobines

  • Prise cylindrique DC

DCJack

  • Adaptateur d'alimentation à découpage régulé 12 V CC 1 000 mA

chargeur 12v

  • Raccord fileté en pvc 3/4 ”

couplage

  • Ruban téflon

téflon

  • Tuyau

tuyau

  • Arroseur

arroseur

Relations

Les branchements électriques sont assez simples :

  • Tout d’abord, connectez votre piface au Raspberry Pi sans brancher d’adaptateur secteur.
  • Suivez le schéma ci-dessous. Le fil blanc est GND et il est connecté à la borne commune du relais, le rouge est connecté au NO (normalement ouvert).

sch

Quant aux raccordements hydrauliques, veillez à utiliser du ruban téflon sur chaque raccord pour éviter les fuites d'eau.

Configurez votre compte Ubidots , vos variables et vos widgets

Si vous êtes nouveau sur Ubidots , créez un compte ici .

  • Accédez à l'onglet « Sources » et ajoutez une nouvelle source.

Source étape 1

  • Sélectionnez Raspberry Pi comme nouvelle source de données et remplissez le formulaire.

Source étape2

  • Cliquez maintenant sur la nouvelle source « My Raspberry Pi »

Variable étape 1

  • Ajoutez deux nouvelles variables appelées « valve » et « relay_state » et n'oubliez pas de compléter les champs name et unit.

Variable étape 2

  • Notez l'identifiant de votre variable :

Variable étape3

  • Prenez note de votre clé API trouvée dans « Mon profil -> Clé API ».
  • Créons maintenant un nouveau widget pour contrôler la vanne à distance :

Indicateur étape 1

  • Choisissez le widget « Switch » et liez-le à la variable « valve ». Ce widget écrira « 1 » ou « 0 » dans la variable « valve », que nous interrogerons plus tard depuis notre Raspberry Pi.

Étape 1 :

  • Ajoutez un autre widget appelé « indicateur » et choisissez la variable Valve_State :

Indicateur étape 2

  • Voici à quoi ressemble votre dashboard maintenant :

dashboard

Codage

Avant de pouvoir commencer à coder, vous devez déjà avoir configuré votre Raspberry Pi avec Internet. Sinon, consultez cet article de blog sur la configuration du WiFi . Nous pouvons maintenant passer à autre chose, nous connecter via un terminal à votre Raspberry Pi et configurer le module SPI pour communiquer avec le PiFace Digital :

sudo nano /etc/modprobe.d/raspi-blacklist.conf

Ajoutez un caractère « # » avant la ligne spi-bcm2708, puis appuyez sur CTRL-X, tapez Y et Entrée. Cela active SPI dès le démarrage. Maintenant, installons et configurons la bibliothèque PiFace Digital :

sudo apt-get update sudo apt-get install python3-pifacedigitalio python-pifacedigitalio

Redémarrez votre Pi :

redémarrage sudo

Super! nous sommes prêts à commencer à coder notre projet. Créez un nouveau fichier appelé « valve.py » et collez-y le code suivant :

sudo nano valve.py

import pifacedigitalio #Bibliothèque pour pifacedigitalio #Bibliothèque pour les retards d' ubidots import ApiClient #Bibliothèque pour Ubidots pifacedigital = pifacedigitalio.PiFaceDigital() #Déclarer l'objet piface ##Connectez-vous à Ubidots essayez : api = ApiClient("1fc7a56bf4b539725ace7a3f4aa623e9e9620612") N'oubliez pas de mettez votre propre valve Apikey = api.get_variable('53cd4cb07625425b70f5c21e') #Mettez ici l'identifiant de votre valve valveState = api.get_variable("53ce95547625420403d81468") #Mettez ici votre identifiant d'état réel sauf : print("impossible de se connecter") #Vérifiez votre Apikey , ID de la variable et connexion Internet while(True): lastValue = valve.get_values(1) #Obtenir la dernière valeur de la valve d' Ubidots rele = pifacedigital.relays[0].value #Enregistrer l'état du relais valveState.save_value({'value' :rele}) #Envoyer l'état du relais à Ubidots pour a in lastValue : print a['value'] if(a['value']): #Activer ou désactiver le relais pifacedigital.output_pins[0].turn_on() else : pifacedigital.output_pins[0].turn_off()

Exécutez votre programme :

$ sudo python valve.py

Conclusion

Dans cet exemple, nous avons pu piloter une électrovanne avec Piface Digital. Nous avons activé/désactivé un actionneur depuis le dashboard Ubidots , qui devrait vous permettre de contrôler presque n'importe quel processus physique à condition qu'il puisse être contrôlé par un relais.

Vous pouvez également utiliser Ubidots pour mesurer des données de séries chronologiques telles que les niveaux de signal, émettre des alertes et contrôler d'autres appareils. Vous voudrez peut-être consulter ces autres exemples :


Avez-vous d'autres idées de projets ? Créez un compte Ubidots et réalisez-les.