après 4jours à ratissé les bas fond du web, je post mon problème.
la base : Domoticz <--- Usb --- Arduino uno <---filaire--- 2x capteurs DHT22 (temp/humidité)
affichage sur le terminal Série de L'IDE :
Code : Tout sélectionner
15:06:04.334 -> 0;255;3;0;14;Gateway startup complete.
15:06:04.334 -> 0;255;0;0;17;2.3.2
15:06:04.334 -> 0;255;3;0;11;TempHumidDHT22
15:06:04.334 -> 0;255;3;0;12;1.1
15:06:04.334 -> 0;1;0;0;7;
15:06:04.334 -> 0;2;0;0;6;
15:06:04.334 -> 0;3;0;0;7;
15:06:04.334 -> 0;4;0;0;6;
15:06:07.351 -> 0;2;1;0;0;20.4
15:06:07.351 -> 0;1;1;0;1;51.2
15:06:07.351 -> 0;4;1;0;0;20.2
15:06:07.351 -> 0;3;1;0;1;52.3le Human readable output:
https://www.mysensors.org/build/parser? ... 3B1%3B52.3
sur la 2éme sonde les valeurs ne varie pas
(j'ai testé sans la partie MySensors, c'est bon, le câblage est bon)
le croquis :
Code : Tout sélectionner
/*
* MYSENSORS V2 - 2020
* HISTORY: (une base de Henrik EKblad et Torben Woltjen)
* INFO:
* https://www.mysensors.org/download/sensor_api_20
* https://www.mysensors.org/download/serial_api_20
*
* Description:
* MySensors Gateway USB avec capteurs direct non Hertzien.
*
* Libraries:
* - ACAN2515 ver.2.0.4 de pierre Molinaro
* - DHTNEW Ver:0.1.5 de Rob Tillaart's
*
* Modification:
* -X- 2 capteurs DHT22 (température-humidité)
* -o-
* -o-
* -o-
*
*
*/
/* Selection du type de connection */
//#define MY_RS485 //RS485
#define MY_GATEWAY_SERIAL // serial gateway
#include <SPI.h>
#include <MySensors.h>
#include <dhtnew.h>
DHTNEW Capteur1 (6);
DHTNEW Capteur2 (7);
#define CHILD_ID_HUM_1 1
#define CHILD_ID_TEMP_1 2
#define CHILD_ID_HUM_2 3
#define CHILD_ID_TEMP_2 4
//uint8_t nNoUpdatesTemp2;
//uint8_t nNoUpdatesHum2;
//bool metric = true;
/* déclaration du conteneur pour l'envoi de message*/
/* identifiant du capteur et type de variable */
MyMessage msgHum1(CHILD_ID_HUM_1, V_HUM);
MyMessage msgTemp1(CHILD_ID_TEMP_1, V_TEMP);
MyMessage msgHum2(CHILD_ID_HUM_2, V_HUM);
MyMessage msgTemp2(CHILD_ID_TEMP_2, V_TEMP);
/* liste des types de variables*/
/*https://www.mysensors.org/download/serial_api_20#variable-types */
/*reset du compteur des millisecondes*/
unsigned long previousMillis = 0;
/*Fréquence d'utilisation du capteur (60000millisecondes=1mn) */
const long interval = 3000;
void setup() /*------ Setup --------*/
{
// Serial.begin(115200);
Capteur1.read();
Capteur2.read();
}
void presentation() /* -----void MySensors----*/
{
/* Envoi inf de version d'esquisse à la passerelle */
sendSketchInfo("TempHumidDHT22", "1.1");
/* Enregistrez tous les capteurs sur gw */
/*(ils seront créés en tant qu'appareils enfants)*/
present(CHILD_ID_HUM_1, S_HUM);
present(CHILD_ID_TEMP_1, S_TEMP);
present(CHILD_ID_HUM_2, S_HUM);
present(CHILD_ID_TEMP_2, S_TEMP);
// metric = getControllerConfig().isMetric;
}
void loop() /*----------- Loop ---------*/
{
unsigned long currentMillis = millis();
/*calcul temps ecouler du capteur*/
if (currentMillis - previousMillis >= interval)
{
previousMillis = currentMillis;
float temperature1 = Capteur1.temperature;
float humidity1 = Capteur1.humidity;
float temperature2 = Capteur2.temperature;
float humidity2 = Capteur2.humidity;
/* ------ control des capteurs ---------*/
const int error = Capteur1.read();
if (error != DHTLIB_OK)
{
Serial.println(" Panne sur DHT22 ");
}
/* envoi des valeurs sur le serveur */
send(msgTemp1.set(temperature1, 1));
send(msgHum1.set(humidity1, 1));
send(msgTemp2.set(temperature2, 1));
send(msgHum2.set(humidity2, 1));
/* --------- Visu sur terminal Debug -------------*/
/* Serial.print("humidite 1 : ");
Serial.print(humidity1);
Serial.print(" %\t");
Serial.print("Temperature 1 : ");
Serial.print(temperature1);
Serial.println(" C");
Serial.print("humidite 2 : ");
Serial.print(humidity2);
Serial.print(" %\t");
Serial.print("Temperature 2 : ");
Serial.print(temperature2);
Serial.println(" C");
*/
}
}
pour MySensors c'est version 2.3.2
tester avec un capteur DHT22 et Domoticz c'est bon
Merci
pour info:
https://github.com/domoticz/domoticz/issues/276
https://easydomoticz.com/forum/viewtopi ... sor#p43770