Go Down

Topic: PoolMaster: gestion et domotisation de ma piscine (Read 5335 times) previous topic - next topic

Loulou74

#60
Jun 04, 2019, 10:22 am Last Edit: Jun 04, 2019, 10:23 am by Loulou74
Bonjour Sylvaindu13,

Dans l'ordre je ferais:

1- installe PoolMaster
2- installe Mosquitto sur ton réseau local, par exemple sur un Raspberry Pi. Éventuellement installe y aussi NodeRed (pour Blynk). Assure toi que PoolMaster est connecté à Mosquitto
3- une fois que tu as des mesures qui remontent (à la fois sur l'écran LCD et sur Mosquitto), tu peux envoyer des commandes de calibrage MQTT à PoolMaster via Mosquitto (via MQTT.fx, NodeRed, Blynk, Jeedom...tu as le choix). On verra à ce moment quoi envoyer et comment. Tu verras c'est assez simple.

maccaire

Bonjour a tous
Je viens de téléverser le projet pour la 1er fois sur mega2650 mais j'ai un soucis de lecture sur le LCD 4x16. Il n'y a pas de retour a la ligne. Voici mon code modifié:

//LCD init.
//pin definitions, may vary in your setup
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
bool LCDToggle = true;

Je voulais joindre une photo mais je ne sais pas comment faire.
Merci.

Loulou74

Bonjour Maccaire,

Le code est fait pour un LCD 4x20 et non pas 4x16.

A noter aussi que j'ai changé en cours de route de type de LCD, il faut maintenant un LC de type I2C plutôt que avec data bits parallèles

Loic

maccaire

Merci de votre réponse Loic
Je commande sur amazone et je relance le televersement modifie en bus I2C.
Pour les swichts et les leds, Je ne comprends pas le cablage.
//Front panel push button switch
  #define PUSH_BUTTON_PIN  40   //Connect a button switch from this pin to ground
  #define GREEN_LED_PIN    54  //Digital output pin to switch ON/OFF Green LED of push button
  #define RED_LED_PIN      56  //Digital output pin to switch ON/OFF Red LED of push button
  Encore besoin de vos conseils.
Merci

Loulou74

Merci de votre réponse Loic
Je commande sur amazone et je relance le televersement modifie en bus I2C.
Pour les swichts et les leds, Je ne comprends pas le cablage.
//Front panel push button switch
  #define PUSH_BUTTON_PIN  40   //Connect a button switch from this pin to ground
  #define GREEN_LED_PIN    54  //Digital output pin to switch ON/OFF Green LED of push button
  #define RED_LED_PIN      56  //Digital output pin to switch ON/OFF Red LED of push button
  Encore besoin de vos conseils.
Merci
Pour le switch et les LEDs tu devras peut-être choisir d'autres pins libres sur le mega2560 (je n'utilise pas cette plateforme) mais l'idée est d'utiliser une entrée digitale pour le bouton et deux sorties digitales pour les LEDs.

Ensuite le bouton que j'ai référencé (Adafruit) ne contient pas de LED verte donc tu peux ignorer le câblage de la LED verte ou bien en câbler une indépendante du bouton.

Mon bouton comporte en revanche une LED rouge qu'il faut relier entre le GND et une sortie digitale de libre (RED_LED_PIN). Attention de vérifier si tu dois utiliser une résistance entre la LED et la sortie digitale, en fonction de ta plateforme (dans mon cas oui) 

maccaire

Bonsoir Loulou74
J'avance doucement dans mon projet, comme j'avais sous la main un module PH4502C je l'ai mis a la place du phidget sur la pin A7 mais le ph est complètement faux du genre 8.86 au lieu de 7.69 relevé sur mon ph metre.
J'ai code qui marche bien avec cette sonde:
Si c'est possible de le transcrire pour PoolMaster, je suis nul dans ce domaine.
Un autre soucis le module ne ce met pas a l'heure et je n'ai pas vu de doc.
Pour rappel je suis sur mega2560.
Merci

Loulou74

#66
Aug 29, 2019, 08:44 pm Last Edit: Aug 29, 2019, 09:21 pm by Loulou74
Bonsoir Maccaire,

Je ne connais pas le module PH4502C mais partons du principe qu'il fonctionne correctement. Une valeur de pH de 8,86 au lieu de 7,69 n'est pas si mal du tout, il faut probablement juste la calibrer. Pour ce faire il faut au moins une solution de référence, deux ou trois c'est encore mieux. Il faut également avoir la communication MQTT en place.

Donc tu mesures ta première solution, tu notes la valeur (par ex. 4.02) ainsi que la valeur nominale de la solution (par ex. 3.80). Si tu as une seconde solution tu fais pareil (imaginons que cette seconde mesure donne 9.0 pour une valeur nominale de 9.11) et tu envoies la commande suivante via MQTT:

{"PhCalib":[4.02,3.8,9.0,9.11]}

Ou

{"PhCalib":[4.02,3.8]}

si tu n'as qu'une solution de référence.

Explication en anglais: multi-point linear regression calibration (minimum 1 point-couple, 6 max.) in the form [ProbeReading_0, BufferRating_0, xx, xx, ProbeReading_n, BufferRating_n]



Pour l'heure c'est pareil: API MQTT! Tu utilises la fonction suivante:

{"Date":[1,1,1,18,13,32,0]}      -> set date/time of RTC module in the following format: (Day of the month, Day of the week, Month, Year, Hour, Minute, Seconds), in this example: Monday 1st January 2018 - 13h32mn00secs

Bon bricolage

maccaire

Merci Loulou74 de m'assister dans mon install, je n'arrive pas a utiliser mqtt correctement, j'ai bien creer le brocker  mosquitto sur un raspberry qui me sert pour domoticz mais je ne comprend pas ce que je dois mettre sur le fichier  pour :MqttServerLogin et MqttServerPwd car  dans l'install de mosquitto je n'ai rien rentrer.
 

Loulou74

Merci Loulou74 de m'assister dans mon install, je n'arrive pas a utiliser mqtt correctement, j'ai bien creer le brocker  mosquitto sur un raspberry qui me sert pour domoticz mais je ne comprend pas ce que je dois mettre sur le fichier  pour :MqttServerLogin et MqttServerPwd car  dans l'install de mosquitto je n'ai rien rentrer.
 
Pas de souci, tant que je peux...
Ton install de broker Mosquitto ne requiert donc probablement pas de login et mdp.

Dans ce cas essaie avec:

const char* MqttServerLogin = nullptr;
const char* MqttServerPwd = nullptr;

ou

const char* MqttServerLogin = "";
const char* MqttServerPwd = "";



maccaire

Ok c'est en bonne voie, mais je ne recoit que les topics : Home /Pool Status et Home /Pool  mais pas Api alors comment je peu envoyer des commandes pour étalonnage et la pendule.
Un defauts affichage {"Tmp":-12700,"pH":823,"PSI":978,"Orp":216,"FilUpT":0,"PhUpT":0,"ChlUpT":0,"IO":24,"IO2":32} pas le point pour le ph 8.23?

Loulou74

Good, ça progresse ;)

C'est normal que tu ne reçoives rien sur le topic Home/API, PoolMaster n'y publie rien... Par contre il y a souscrit, donc si toi tu publies une commande sur le broker sur le topic Home/API, PoolMaster le recevra :)

Pour l'affichage c'est pas un défaut, c'est normal, relis la description du projet. Si tu ne parles pas anglais, Google est ton ami:

PoolMaster en Francais


maccaire

Ok j'ai trouver pour API, il fallait ajouter pour publish, heure ok il me reste étalonnage ph.

Loulou74

Ok j'ai trouver pour API, il fallait ajouter pour publish.
Que veux-tu dire?

Sinon j'ai remarqué dans tes valeurs que tu n'as pas encore de sonde de température d'eau ou alors que son adresse unique n'est pas correctement renseignée dans le code.

maccaire

Grosse catastrophe , j'ai deplacer mon installation fils volants de la cuisine au sous-sol pour faire l'étallonage de la sonde et plus rien ne marche, la carte éhernet clignote normalement l'afficheur alligne 2 rangées de carrés blancs et le terminale m'envoie cela:
10:49:09.459 -> Stored config version: 110. Loading settings from eeprom
10:49:09.495 -> 110, 0, 0
10:49:09.530 -> 8, 12, 20, 20, 59
10:49:09.530 -> 1800, 1800
10:49:09.564 -> 3000000, 3600000, 0, 0
10:49:09.564 -> 7.40, 730.00, 0.50, 0.00, 12.10, 27.00, 3.00, 4.16, -2.10, -1189.00, 2564.00, 1.00, 0.00
10:49:09.668 -> 2000000.00, 0.00, 0.00, 20000.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.40
J'ai re téléverser mais pareil .

Loulou74

Grosse catastrophe , j'ai deplacer mon installation fils volants de la cuisine au sous-sol pour faire l'étallonage de la sonde et plus rien ne marche, la carte éhernet clignote normalement l'afficheur alligne 2 rangées de carrés blancs et le terminale m'envoie cela:
10:49:09.459 -> Stored config version: 110. Loading settings from eeprom
10:49:09.495 -> 110, 0, 0
10:49:09.530 -> 8, 12, 20, 20, 59
10:49:09.530 -> 1800, 1800
10:49:09.564 -> 3000000, 3600000, 0, 0
10:49:09.564 -> 7.40, 730.00, 0.50, 0.00, 12.10, 27.00, 3.00, 4.16, -2.10, -1189.00, 2564.00, 1.00, 0.00
10:49:09.668 -> 2000000.00, 0.00, 0.00, 20000.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.40
J'ai re téléverser mais pareil .
Ces lignes sont normales, il affiche les valeurs de la config stockée en EEPROM au démarrage du programme.
S'il n'affiche rien de plus, c'est sans doute qu'il est bloqué au démarrage, par exemple en essayant de se connecter au broker MQTT. As-tu rebranché le réseau?

Go Up