MySensors DS18B20

Forum dédie aux capteurs et gateway mysensors.org
FullMetalKnet
Messages : 52
Inscription : 02 août 2016, 21:41

MySensors DS18B20

Message par FullMetalKnet »

Bonsoir à tous,

Je me suis enfin lancé dans le MySensors, j'ai tous d'abord voulu me faire un sonde de température via le Mysensors

la passerelle est bien déclarer et vu dans domoticz, mais lorsque je regarde dans le monitor série une erreur apparait:

Code : Tout sélectionner

Starting sensor (RNNNA-, 2.0.0)
TSM:INIT
TSM:RADIO:OK
TSM:FPAR
TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
TSM:FPAR
TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
TSM:FPAR
TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
TSM:FPAR
TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
!TSM:FPAR:FAIL
!TSM:FAILURE
TSM:PDT
après quelques recherche sur le net le defaut serait:

Le noeud ne reçoit aucune réponse de la mère de la passerelle. Vous devez regarder dans le journal de la passerelle et vérifier pourquoi la communication échoue (puissance / cap?)

*traduction de G..gle translate

Si je comprends bien la passerelle ne renvoie rien à mon MySensors?

Pouvez vous me confirmer?
merci
laster13
Messages : 23
Inscription : 01 nov. 2016, 19:01

Re: MySensors DS18B20

Message par laster13 »

J'avais le même problème que toi et la même erreur de log. Il s'agissait tout simplement d'un problème de condo placé au bornes du nrf. As tu pensé à en mettre un?
FullMetalKnet
Messages : 52
Inscription : 02 août 2016, 21:41

Re: MySensors DS18B20

Message par FullMetalKnet »

Merci pour ta réponse,

j'ai bien un condo de 100nF, en fait j'ai réalisé mon MySensors à partir du site myrfx.

J'ai suivi le tuto mais en regardant les schémas on peut apercevoir un condo de 6.8µF en plus de celui de 100nF alors qu'il n'est pas présent dans le tuto.

Le problème peut-il venir de là?

Edit: Je viens de souder le condo de 6.8µF = Essai non concluant
dokho
Messages : 685
Inscription : 28 déc. 2014, 19:32

Re: MySensors DS18B20

Message par dokho »

Salut.
Ton node et ta GW ne sont pas trop prêts l'un de l'autre ?

Envoyé de mon SM-N9005 en utilisant Tapatalk
laster13
Messages : 23
Inscription : 01 nov. 2016, 19:01

Re: MySensors DS18B20

Message par laster13 »

Si tu montes une autre node avec arduino pro + nrf (condo 4.7µf) hors carte MyRFX, ca donne quoi?
Stef3376
Messages : 9
Inscription : 06 nov. 2016, 19:25

Re: MySensors DS18B20

Message par Stef3376 »

tu peux brancher ta GW sur un PC et voir les traces de ce coté la...
Coté code arduino 18B20 tu as quoi?
FullMetalKnet
Messages : 52
Inscription : 02 août 2016, 21:41

Re: MySensors DS18B20

Message par FullMetalKnet »

dokho a écrit :Salut.
Ton node et ta GW ne sont pas trop prêts l'un de l'autre ?
Alors j'ai testé, a 4m et a quelques cm, pour voir les logs de la GW et de node.
laster13 a écrit :Si tu montes une autre node avec arduino pro + nrf (condo 4.7µf) hors carte MyRFX, ca donne quoi?
faut que je teste ca!
Stef3376 a écrit :tu peux brancher ta GW sur un PC et voir les traces de ce coté la...
Coté code arduino 18B20 tu as quoi?
voici le code dans l'arduino DS18B20

Code : Tout sélectionner

/**
 * The MySensors Arduino library handles the wireless radio link and protocol
 * between your home built sensors/actuators and HA controller of choice.
 * The sensors forms a self healing radio network with optional repeaters. Each
 * repeater and gateway builds a routing tables in EEPROM which keeps track of the
 * network topology allowing messages to be routed to nodes.
 *
 * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
 * Copyright (C) 2013-2015 Sensnology AB
 * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
 *
 * Documentation: http://www.mysensors.org
 * Support Forum: http://forum.mysensors.org
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * version 2 as published by the Free Software Foundation.
 *
 *******************************
 *
 * DESCRIPTION
 *
 * Example sketch showing how to send in DS1820B OneWire temperature readings back to the controller
 * http://www.mysensors.org/build/temp
 */


// Enable debug prints to serial monitor
#define MY_DEBUG 

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

#include <SPI.h>
#include <MySensors.h>  
#include <DallasTemperature.h>
#include <OneWire.h>

#define COMPARE_TEMP 1 // Send temperature only if changed? 1 = Yes 0 = No

#define ONE_WIRE_BUS 8 // Pin where dallase sensor is connected 
#define MAX_ATTACHED_DS18B20 16
unsigned long SLEEP_TIME = 30000; // Sleep time between reads (in milliseconds)
OneWire oneWire(ONE_WIRE_BUS); // Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
DallasTemperature sensors(&oneWire); // Pass the oneWire reference to Dallas Temperature. 
float lastTemperature[MAX_ATTACHED_DS18B20];
int numSensors=0;
bool receivedConfig = false;
bool metric = true;
// Initialize temperature message
MyMessage msg(0,V_TEMP);

void before()
{
  // Startup up the OneWire library
  sensors.begin();
}

void setup()  
{ 
  // requestTemperatures() will not block current thread
  sensors.setWaitForConversion(false);

}

void presentation() {
  // Send the sketch version information to the gateway and Controller
  sendSketchInfo("Temperature Sensor", "1.1");

  // Fetch the number of attached temperature sensors  
  numSensors = sensors.getDeviceCount();

  // Present all sensors to controller
  for (int i=0; i<numSensors && i<MAX_ATTACHED_DS18B20; i++) {   
     present(i, S_TEMP);
  }
}

void loop()     
{     
  // Fetch temperatures from Dallas sensors
  sensors.requestTemperatures();

  // query conversion time and sleep until conversion completed
  int16_t conversionTime = sensors.millisToWaitForConversion(sensors.getResolution());
  // sleep() call can be replaced by wait() call if node need to process incoming messages (or if node is repeater)
  sleep(conversionTime);

  // Read temperatures and send them to controller 
  for (int i=0; i<numSensors && i<MAX_ATTACHED_DS18B20; i++) {
 
    // Fetch and round temperature to one decimal
    float temperature = static_cast<float>(static_cast<int>((getConfig().isMetric?sensors.getTempCByIndex(i):sensors.getTempFByIndex(i)) * 10.)) / 10.;
 
    // Only send data if temperature has changed and no error
    #if COMPARE_TEMP == 1
    if (lastTemperature[i] != temperature && temperature != -127.00 && temperature != 85.00) {
    #else
    if (temperature != -127.00 && temperature != 85.00) {
    #endif
 
      // Send in the new temperature
      send(msg.setSensor(i).set(temperature,1));
      // Save new temperatures for next compare
      lastTemperature[i]=temperature;
    }
    
      
  }
 sleep(SLEEP_TIME);
}

et voici les logs:

de la GW:

Code : Tout sélectionner

0;255;3;0;9;Starting gateway (RNNGA-, 2.0.0)
0;255;3;0;9;TSM:INIT
0;255;3;0;9;TSM:RADIO:OK
0;255;3;0;9;TSM:GW MODE
0;255;3;0;9;TSM:READY
0;255;3;0;14;Gateway startup complete.
0;255;0;0;18;2.0.0
0;255;3;0;9;No registration required
0;255;3;0;9;Init complete, id=0, parent=0, distance=0, registration=1
0;255;3;0;9;TSP:MSG:READ 255-255-0 s=255,c=3,t=3,pt=0,l=0,sg=0:
255;255;3;0;3;
0;255;3;0;9;TSP:MSG:READ 255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
0;255;3;0;9;TSP:MSG:BC
0;255;3;0;9;TSP:MSG:FPAR REQ (sender=255)
0;255;3;0;9;TSP:CHKUPL:OK
0;255;3;0;9;TSP:MSG:GWL OK
0;255;3;0;9;TSP:MSG:SEND 0-0-255-255 s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=bc:0
0;255;3;0;9;TSP:MSG:READ 255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
0;255;3;0;9;TSP:MSG:BC
0;255;3;0;9;TSP:MSG:FPAR REQ (sender=255)
0;255;3;0;9;TSP:CHKUPL:OK
0;255;3;0;9;TSP:MSG:GWL OK
0;255;3;0;9;TSP:MSG:SEND 0-0-255-255 s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=bc:0
0;255;3;0;9;TSP:MSG:READ 255-255-0 s=255,c=3,t=3,pt=0,l=0,sg=0:
255;255;3;0;3;
et du sensors:

Code : Tout sélectionner

TSM:INIT
TSM:RADIO:OK
TSM:FPAR
TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
TSP:MSG:READ 0-0-255 s=255,c=3,t=8,pt=1,l=1,sg=0:0
TSP:MSG:FPAR RES (ID=0, dist=0)
TSP:MSG:PAR OK (ID=0, dist=1)
TSM:FPAR:OK
TSM:ID
TSP:MSG:SEND 255-255-0-0 s=255,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=ok:
TSM:ID
TSP:MSG:SEND 255-255-0-0 s=255,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=ok:
TSM:ID
TSP:MSG:SEND 255-255-0-0 s=255,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=ok:
TSM:ID
TSP:MSG:SEND 255-255-0-0 s=255,c=3,t=3,pt=0,l=0,sg=0,ft=0,st=ok:
!TSM:CHKID:FAIL (ID=255)
!TSM:FAILURE
TSM:PDT
TSM:INIT
TSM:RADIO:OK
TSM:FPAR
TSP:MSG:SEND 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
TSP:MSG:READ 0-0-255 s=255,c=3,t=8,pt=1,l=1,sg=0:0
TSP:MSG:FPAR RES (ID=0, dist=0)
TSP:MSG:PAR OK (ID=0, dist=1)
TSM:FPAR:OK
TSM:ID
FullMetalKnet
Messages : 52
Inscription : 02 août 2016, 21:41

Re: MySensors DS18B20

Message par FullMetalKnet »

Ce qui me turlupine, m'a affirmer que la GW envoyait et recevait bien!

J'avais remarque que mon raspberry n'était pas assez alimenté, (led rouge éteinte mais fonctionnait quand même) je l'avais alimenté par le port usb de la freebox. j'ai donc pris un chargeur 2A et ca fonctionne. comme quoi faut regardé a la base..

merci à tous d'avoir pris le temps de m'aider.
Répondre