Ubidots

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

Daniel Da Silva
· 4 min de lecture
Envoyer par courriel

Si j'ai surtout des cactus chez moi, c'est parce que j'oublie souvent de les arroser. C'est pourquoi j'ai conçu ce système pour contrôler à distance une électrovanne et arroser mes plantes depuis n'importe où, simplement avec mon téléphone.

À la fin de ce tutoriel, vous devriez être capable de faire quelque chose comme ceci :

Matériels

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

piface-digital

  • Électrovanne en plastique – 3/4″ – 12 V nominal

soupape

  • Fil souple pour 1 A

bobines de fil

  • Prise cylindrique CC

dcjack

  • Adaptateur secteur à découpage régulé 12 V CC 1000 mA

Chargeur 12 V

  • 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 la masse (GND) et est connecté à la borne commune du relais, le fil rouge est connecté à la borne NO (normalement ouverte).

école

Concernant les raccords hydrauliques, veillez à utiliser du ruban téflon sur chaque joint 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.

Step1source

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

Step2source

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

Étape 1 Variable

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

Étape 2 variable

  • Notez l'identifiant de votre variable :

Étape 3 variable

  • Notez votre clé API qui se trouve dans « Mon profil –> Clé API ».
  • Créons maintenant un nouveau widget pour contrôler la vanne à distance :

Indicateur d'étape 1

  • Sélectionnez le widget « Interrupteur » et associez-le à la variable « valve ». Ce widget écrira « 1 » ou « 0 » dans la variable « valve », que nous interrogerons ultérieurement depuis notre Raspberry Pi.

Interrupteur Step1

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

Indicateur d'étape 2

  • Voici à quoi ressemble votre dashboard maintenant :

dashboard

Codage

Avant de commencer à coder, vous devez avoir configuré votre Raspberry Pi pour qu'il soit connecté à Internet. Si ce n'est pas le cas, consultez cet article de blog sur la configuration du Wi-Fi . Nous pouvons maintenant continuer : connectez-vous à votre Raspberry Pi via un terminal et configurez 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 appuyez sur Entrée. Cela active le protocole SPI au démarrage. Passons maintenant à l'installation et à la configuration de la bibliothèque numérique PiFace :

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

Redémarrez votre Pi :

sudo reboot

Parfait ! 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 délais from ubidots import ApiClient #Bibliothèque pour Ubidots pifacedigital = pifacedigitalio.PiFaceDigital() #Déclarer l'objet piface ##Se connecter à Ubidots try: api = ApiClient("1fc7a56bf4b539725ace7a3f4aa623e9e9620612") #N'oubliez pas d'indiquer votre clé API valve = api.get_variable('53cd4cb07625425b70f5c21e') #Indiquez ici l'ID de votre valve valveState = api.get_variable("53ce95547625420403d81468") #Indiquez ici l'ID de l'état de votre local except: print("Connexion impossible") #Vérifiez votre clé API, l'ID de la variable et votre connexion Internet while(True): lastValue = valve.get_values(1) # Récupérer la dernière valeur de la vanne depuis Ubidots rele = pifacedigital.relays[0].value # Enregistrer l'état du relais valveState.save_value({'value':rele}) # Envoyer l'état du relais à Ubidots for 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

Pour conclure

Dans cet exemple, nous avons pu commander une électrovanne avec Piface Digital. Nous avons activé/désactivé un actionneur depuis le dashboardUbidots , ce qui devrait vous permettre de contrôler presque n'importe quel processus physique, pourvu qu'il soit pilotable par un relais.

Vous pouvez également utiliser Ubidots pour mesurer des données de séries temporelles telles que les niveaux de signal, configurer des alertes et contrôler d'autres appareils. Voici quelques autres exemples :


Vous avez d'autres idées de projets ? Créez un compte Ubidots et concrétisez-les.