[Tuto] Un wattmètre MySensors pour environ 10€

Un forum dédie à vos questions concernant l'intégration à Domoticz des capteurs et gateway mysensors.org
vinz973
Messages : 31
Enregistré le : 30 août 2017, 13:50

[Tuto] Un wattmètre MySensors pour environ 10€

Message par vinz973 » 12 sept. 2017, 15:53

J’ai déjà fait un tuto parlant du PZEM004T pour le NodeMCU mais là c’est la version pour MySensors que je vous propose

Liste de matériel à acheter
- 1 PZEM 004T lien
- 1 Arduino 328p lien
- 1 puce radio NRF24L01 lien
- 10 Câble pour breadboard femelle/femelle lien

Liste de matériel à récupérer
- Rallonge électrique (avec terre (conseillé))
- domino

Caractéristique technique du wattmètre PZEM004
Paramètre électrique mesure :
• Voltage
• Intensité
• Puissance Instantané
• Energie

Communications en TTL avec l’arduino

Dans domoticz
Rien à faire c’est ça qui est bien avec MYS

Dans Arduino IDE
Télécharger la librairie du PZEM 004T pour arduino :
http://vinz973.free.fr/img/PZEM004T-master.zip

et installer là.

Televersé le sketch dans votre Arduino

Code : Tout sélectionner

/**

 */

// Active le mode debug / Enable debug prints to serial monitor
#define MY_DEBUG 
//#define MY_DEBUG_VERBOSE_RF24

// Mode Radio / Enable and select radio type attached
#define MY_RADIO_NRF24
//#define MY_RADIO_RFM69

#define MY_RF24_PA_LEVEL RF24_PA_LOW

// Noeud de l'objet / Object Node
#define MY_NODE_ID 3

#include <SPI.h>
#include <MySensors.h>  
#include <SoftwareSerial.h> 
#include <PZEM004T.h>

// initialisation du PZEM004T
PZEM004T pzem(4,5);  // RX,TX 
IPAddress ip(192,168,1,1);

//V_VOLTAGE S_MULTIMETER
//V_CURRENT S_MULTIMETER
//V_WATT   S_POWER
//V_KWH     S_POWER

#define CHILD_ID_VOLTAGE 1
#define CHILD_ID_CURRENT 2
#define CHILD_ID_WATT 3
#define CHILD_ID_KWH 4
#define SLEEP_NODE true // Mettre à True pour activer la mise en sommeil (Sleep Mode) / True to activate Sleep Mode
unsigned long SLEEP_TIME = 30 * 1000; // Temps de mise en sommeil (en ms) / Sleep time between reads (in milliseconds)

MyMessage msgVolt(CHILD_ID_VOLTAGE, V_VOLTAGE);
MyMessage msgIntensite(CHILD_ID_CURRENT, V_CURRENT);
MyMessage msgWatt(CHILD_ID_WATT,  V_WATT);
MyMessage msgKwh(CHILD_ID_KWH, V_KWH);

void setup() {
  pzem.setAddress(ip); 
}

void presentation()  {
 // Présenttion du sketch / Send the sketch version information to the gateway and Controller
  sendSketchInfo("PZEM 004T ", "1.0");

  // Déclaration des capteurs attachés au noeud
  present(CHILD_ID_VOLTAGE, S_MULTIMETER);
  present(CHILD_ID_CURRENT, S_MULTIMETER);
  present(CHILD_ID_WATT,  S_POWER);
  present(CHILD_ID_KWH, S_POWER);
}

void loop()      
{    
  
  float v = pzem.voltage(ip);
  if (v < 0.0) v = 0.0;
  Serial.print(v);Serial.print("V; ");
  delay(10); 
  float i = pzem.current(ip);
  if(i >= 0.0){ Serial.print(i);Serial.print("A; "); }
  delay(10);   
  float p = pzem.power(ip);
  if(p >= 0.0){ Serial.print(p);Serial.print("W; "); }
  delay(10);   
  float e = pzem.energy(ip);
  if(e >= 0.0){ Serial.print(e);Serial.print("Wh; "); }
  Serial.println();
  
  send(msgVolt.set(v, 1));
  send(msgIntensite.set(i, 1));
  send(msgWatt.set(p, 1));
  send(msgKwh.set(e/1000, 1));

  if (SLEEP_NODE) {
    Serial.println("Sleep");
    sleep(SLEEP_TIME);
  } else {
    delay (SLEEP_TIME);
  }
}
Branché le arduino au PZEM 004T comme sur le schéma ci-dessous
Image

Et voilà Apres le branchement vous devriez obtenir de belle courbe comme celle la
Image
Fichiers joints
PZEM004T-master.zip
(6 Kio) Téléchargé 291 fois
Domoticz.png
Domoticz.png (154.54 Kio) Vu 7795 fois
path4393.png
path4393.png (18.35 Kio) Vu 7795 fois
Modifié en dernier par vinz973 le 18 mai 2019, 00:23, modifié 2 fois.

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


digdogger
Messages : 213
Enregistré le : 16 juil. 2017, 09:21

Re: [Tuto] Un wattmètre MySensors pour environ 10€

Message par digdogger » 12 sept. 2017, 16:44

Salut Vinz, encore mieux que le NodeMCU pour moi qui utilise MySensors. Merci pour ce tuto.
Raspberry Pi 3 + Raspbian Jessie Lite + Domoticz V4.9700 - RFlink USB V48 433.42MHz - Volets Somfy RTS - MySensors USB V2.1.1 - IDE Arduino 1.8.8

ericd
Messages : 157
Enregistré le : 24 janv. 2017, 11:04
Localisation : Toulouse

Re: [Tuto] Un wattmètre MySensors pour environ 10€

Message par ericd » 13 sept. 2017, 09:50

Merci pour ton tuto

Triple0s
Messages : 37
Enregistré le : 23 sept. 2015, 15:13

Re: [Tuto] Un wattmètre MySensors pour environ 10€

Message par Triple0s » 14 sept. 2017, 12:42

Merci je test de suite après avoir reçu le pzem ;-)
Domoticz sur Linux Mint
boitier RFXtrx 433 (sondes température, température/hygro, zkp1a, chacon, blyss)
Mysensors (Capteurs PIR, Double relais, relais avec bouton)

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


digdogger
Messages : 213
Enregistré le : 16 juil. 2017, 09:21

Re: [Tuto] Un wattmètre MySensors pour environ 10€

Message par digdogger » 04 nov. 2017, 11:01

Salut,
j'ai enfin pris le temps d'installer mon PZE.
J'ai repris ton sketch mais çà n'a pas marché du premier coup, les Rx et Tx étaient inversés. J'ai bien vérifié mon câblage et il était OK.
J'ai dû changé:

Code : Tout sélectionner

PZEM004T pzem(5,4);  // RX,TX 
par:

Code : Tout sélectionner

PZEM004T pzem(4,5);  // RX,TX 
J'ai aussi ajouté un DHT11 dans la boite, juste pour savoir si çà chauffe.

Voici le résultat:
Image

Image

Image

Image

Image
Raspberry Pi 3 + Raspbian Jessie Lite + Domoticz V4.9700 - RFlink USB V48 433.42MHz - Volets Somfy RTS - MySensors USB V2.1.1 - IDE Arduino 1.8.8

Triple0s
Messages : 37
Enregistré le : 23 sept. 2015, 15:13

Re: [Tuto] Un wattmètre MySensors pour environ 10€

Message par Triple0s » 16 déc. 2017, 11:33

Bonjour,

Après une réception laborieuse des pzem, j'ai enfin réalisé le montage et cela fonctionne très bien.
Me reste juste a mettre à jour les compteurs avec ce que m'affiche le compteur EDF :-)


Sinon j'ai été confronté au même problème d'inversion des Rx et Tx.

Merci encore pour ce tuto.
Domoticz sur Linux Mint
boitier RFXtrx 433 (sondes température, température/hygro, zkp1a, chacon, blyss)
Mysensors (Capteurs PIR, Double relais, relais avec bouton)

vinz973
Messages : 31
Enregistré le : 30 août 2017, 13:50

Re: [Tuto] Un wattmètre MySensors pour environ 10€

Message par vinz973 » 18 déc. 2017, 15:53

Bonjour
Effectivement il y avait une petite erreur dans le code

Code : Tout sélectionner

PZEM004T pzem(4,5);  // RX,TX 
Modif effectue dans le tuto
Merci digdogger

ltgump
Messages : 2
Enregistré le : 29 janv. 2018, 21:01

Re: [Tuto] Un wattmètre MySensors pour environ 10€

Message par ltgump » 29 janv. 2018, 21:04

Bonjour,

Merci pour ce partage qui va me permettre de voir ma consommation électrique.
Cependant je m'interroge sur le câblage du NRF24L01.
Pouvez vous me décrire comment vous avez procédé.

Je vous remercie par avance.

digdogger
Messages : 213
Enregistré le : 16 juil. 2017, 09:21

Re: [Tuto] Un wattmètre MySensors pour environ 10€

Message par digdogger » 30 janv. 2018, 07:45

Salut Itgump,
pour le cablage du NRF, faut voir ici
Raspberry Pi 3 + Raspbian Jessie Lite + Domoticz V4.9700 - RFlink USB V48 433.42MHz - Volets Somfy RTS - MySensors USB V2.1.1 - IDE Arduino 1.8.8

ltgump
Messages : 2
Enregistré le : 29 janv. 2018, 21:01

Re: [Tuto] Un wattmètre MySensors pour environ 10€

Message par ltgump » 30 janv. 2018, 20:22

Merci beaucoup

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Répondre