Contrôler les prises de courant Energenie avec le module complémentaire Pi-mote

Contrôler les prises de courant Energenie avec le module complémentaire Pi-mote

Energenie crée une gamme de produits de prises de courant télécommandées. Ceux-ci incluent des adaptateurs de prise de courant qui sont parfaits pour contrôler les lampes, les pompes et tout autre appareil alimenté par le secteur. Pour ajouter un peu d’intelligence, ils vendent un hub, mais le Pi-mote est plus intéressant pour moi.

Énergie PiMoteIl s’agit d’une carte d’extension de 10 £ pour le Raspberry Pi qui vous permet d’utiliser les broches GPIO pour contrôler les prises. Une fois la configuration effectuée, il est très facile d’obtenir votre propre code pour allumer et éteindre les prises. Il est compatible avec tous les modèles de Pi et j’en utilise quelques-uns dans la maison pour contrôler les lampes et un dans le jardin dans le cadre de mon système de contrôle de pompe de pataugeoire.

Vous pouvez acheter les sockets séparément, mais vous obtiendrez le meilleur rapport qualité-prix si vous achetez un ensemble de sockets avec un Pi-mote fourni. J’ai réussi à obtenir un ensemble de deux prises et un Pi-mote pour 20 £ mais cet ensemble n’est qu’à 22 £ dans la boutique officielle Energenie.

Acheter des appareils Energenie

Les produits Energenie sont disponibles auprès d’un certain nombre de sources, vous devrez donc peut-être magasiner pour obtenir le meilleur prix. Vous pouvez obtenir un meilleur rapport qualité-prix en achetant un jeu de douilles et le Pi-mote en même temps.

Couplage des prises avec Pi-mote

Energenie Pi-mote sur PiAfin d’utiliser les prises, chacune doit être couplée au Pi-mote et recevoir un numéro d’identification compris entre 1 et 4. Le manuel d’utilisation officiel contient plus d’informations techniques, mais vous trouverez ci-dessous le processus que j’ai utilisé pour coupler mes prises avec un Pi-mote.

  • Créer une nouvelle carte SD Raspbian
  • Branchez le Pi-mote sur l’en-tête GPIO
  • Mettez le Pi sous tension
  • Télécharger mon script d’appariement utilisant :
wget https://bitbucket.org/MattHawkinsUK/rpispy-pool-monitor/raw/master/utils/energenie_pair.py
  • Branchez la première prise dans une prise secteur
  • Si la LED est allumée appuyez sur le bouton pour éteindre la prise
  • Maintenez le bouton enfoncé pendant 5 secondes puis relâchez lorsque la LED commence à clignoter. La LED sur la prise doit clignoter une fois par seconde
  • Exécutez le script de paire avec le numéro de socket approprié (1,2,3 ou 4)
python3 energenie_pair.py 1

L’ID que vous donnez au socket sera utilisé pour contrôler ce socket dans vos scripts Python. Vous ne pouvez avoir que les ID 1,2,3 et 4 mais vous utilisez les ID sur plusieurs sockets.

Si vous nourrissez le script « 5 » :

python3 energenie_pair.py 5

il exécutera un test et activera chacun des quatre identifiants dans l’ordre. Cela vous permet de vérifier que vos sockets sont activés avec l’ID que vous attendiez.

Astuce : Si vous prévoyez d’utiliser beaucoup de sockets, vous voudrez peut-être les étiqueter pour une référence plus facile ultérieurement.

Effacer les paramètres de socket

Si vous souhaitez effacer les informations appariées dans une prise, vous pouvez procéder comme suit :

  • Assurez-vous que la prise est éteinte et que la LED rouge est éteinte
  • Maintenez le bouton enfoncé jusqu’à ce que la LED commence à clignoter
  • Continuez à maintenir le bouton enfoncé jusqu’à ce que la LED commence à clignoter plus rapidement
  • Bouton de relâchement

La prise revient en mode d’apprentissage et vous pouvez soit exécuter le script d’appairage, soit éteindre la prise ou la débrancher complètement.

Prise Energenie et Pi-mote

Codes de prise Energenie

Pour référence, voici les codes qui sont utilisés pour contrôler les quatre prises de potentiel. Lorsque vous utilisez les méthodes Energenie ou gpioZero détaillées ci-dessous, vous n’avez pas vraiment besoin de vous soucier de ce niveau de détail, mais il est ici pour référence.

Controler les prises de courant Energenie avec le module complementaire

Il existe trois façons simples de contrôler les prises.

Méthode 1 – RPi.GPIO

L’utilisation de RPi.GPIO nécessite un peu plus de Python que les deux autres méthodes car vous devez configurer les broches GPIO manuellement avant d’envoyer des codes au Pi-mote. Les broches GPIO peuvent être configurées au début de votre script en utilisant :

import time
import RPi.GPIO as GPIO

# Set the GPIO numbering scheme
GPIO.setmode(GPIO.BCM)

# Select the GPIO pins used for
# the encoder D0-D3 data inputs
GPIO.setup(17,GPIO.OUT,initial=0)
GPIO.setup(22,GPIO.OUT,initial=0)
GPIO.setup(23,GPIO.OUT,initial=0)
GPIO.setup(27,GPIO.OUT,initial=0)

# Select the GPIO pin to enable/disable the modulator
# Default to disabled
GPIO.setup(25, GPIO.OUT,initial=0)

# Select the signal used to select ASK/FSK
# Default to ASK
GPIO.setup(24, GPIO.OUT,initial=0)

et un code peut être envoyé au Pi-mote en utilisant :

# Socket 1 ON
D3=True
D2=True
D1=True
D0=True

# Set D0-D3
GPIO.output (27, D3)
GPIO.output (23, D2)
GPIO.output (22, D1)
GPIO.output (17, D0)

# Let it settle, encoder requires this
time.sleep(0.1)

# Enable the modulator
GPIO.output (25, True)

# Keep enabled for a period
time.sleep(0.25)

# Disable the modulator
GPIO.output (25, False)

Dans l’exemple ci-dessus, Socket 1 est réglé sur ON en réglant les quatre entrées Pi-mote sur True. Si vous vouliez désactiver l’ID 3, vous définiriez

  • D3=Vrai
  • D2=Faux
  • D1=Vrai
  • D0=Faux

La table de référence peut être utilisée pour déterminer les valeurs de D0-3 nécessaires pour contrôler les autres identifiants de socket.

Méthode 2 – Bibliothèque Energenie

Afin de simplifier les choses, Ben Nuttal Amy Mather et Gordon Hollingworth ont créé une bibliothèque Python pour traiter les détails indiqués dans la méthode 1. Il doit être installé :

sudo apt-get install python-pip python3-pip
sudo pip install energenie
sudo pip3 install energenie

Cela installe la bibliothèque pour Python 2 et Python 3.

Allumer et éteindre les prises devient aussi simple que :

import energenie as e
import time

# Turn all sockets on and off
e.switch_on()
time.sleep(2)
e.switch_off()
time.sleep(2)

# Turn socket ID 1 on and off
e.switch_on(1)
time.sleep(2)
e.switch_off(1)

Cette bibliothèque permet de garder vos propres scripts agréables et simples car vous n’avez besoin que d’une seule ligne de code pour changer l’état d’un socket sans avoir à configurer les broches GPIO ou à vous soucier du contrôle Pi-mote.

Méthode 3 – GPIO Zéro

La méthode suivante que vous pouvez utiliser est le package GPIO Zero. Cela inclut des méthodes intégrées pour contrôler toutes sortes d’addons et d’accessoires Pi, y compris l’Energenie Pi-mote. Il est installé par défaut sur la dernière version de Raspbian mais si vous devez l’installer manuellement, vous pouvez trouver le instructions d’installation ici.

import time
from gpiozero import Energenie

# Turn socket ID 1 on and off
skt1 = Energenie(1)
skt1.on()
time.sleep(2)
skt1.off()

Ceci est similaire en complexité à l’utilisation de la bibliothèque Energenie dans la méthode 2, mais peut être un meilleur choix si vous pouvez utiliser GPIO Zero pour d’autres éléments matériels de votre projet, tels que des LED ou des buzzers. En savoir plus à ce sujet sur le site officiel Page de documentation GPIO Zero.

Gamme Pi-mote

La portée du Pi-mote peut être augmentée en soudant un morceau de fil de cuivre de 135 mm au point marqué ANT1 sur le PCB. Je n’ai pas encore testé la gamme mais je mettrai à jour ce paragraphe si je le fais à l’avenir.

Dernières pensées

J’ai utilisé ces trois méthodes et ce sera votre préférence personnelle quant à celle qui vous convient le mieux. En cas de doute, essayez GPIO Zero, car il peut également être utilisé pour contrôler rapidement de nombreux autres matériels, comme indiqué dans la section « API – Cartes et accessoires » liste.

Une fois que vous pouvez contrôler vos sockets avec Python, vous pouvez maintenant ajouter toutes sortes de fonctionnalités. Les applications possibles incluent :

  • Contrôler les lumières de Noël
  • Contrôler les lumières d’Halloween
  • Planification de la pompe de piscine
  • Contrôler les lumières de la maison pendant votre absence

Des capteurs de lumière, de mouvement et de température peuvent être utilisés pour créer des projets « intelligents » qui rivalisent avec tout ce que vous pouvez acheter dans un magasin.

  • Maxcio Module de prise intelligente avec mesure du courant 16 A 3680 W, compteur électrique avec minuterie, compteur électrique pour centrale de balcon, commande vocale et télécommande, compatible
  • Module de Détection de Courant CA, Affichage Numérique, Sortie du Relais de Commande, Surveillance du Courant du Moteur, Utilisation de L'armoire de Distribution D'énergie,