Arrosez vos plantes avec un arroseur intelligent DIY utilisant PiFace et Ubidots
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 :
- Piface numérique
- Vanne d'eau en plastique – 3/4″ – 12V nominal
- Fil flexible pour 1A
- Prise cylindrique DC
- Adaptateur d'alimentation à découpage régulé 12 V CC 1 000 mA
- Raccord fileté en pvc 3/4 ”
- Ruban téflon
- Tuyau
- 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).
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.
- Sélectionnez Raspberry Pi comme nouvelle source de données et remplissez le formulaire.
- Cliquez maintenant sur la nouvelle source « My Raspberry Pi »
- Ajoutez deux nouvelles variables appelées « valve » et « relay_state » et n'oubliez pas de compléter les champs name et unit.
- Notez l'identifiant de votre variable :
- 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 :
- 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.
- Ajoutez un autre widget appelé « indicateur » et choisissez la variable Valve_State :
- Voici à quoi ressemble votre dashboard maintenant :
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.