Navigation

    • Register
    • Login
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. TheNewWorld
    3. Posts
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    Posts made by TheNewWorld

    • RE: Error with Gateway + Sensor sketch [Solved]

      It works from an Arduino UNO clone; It's a connection error

      Thanks @gohan @mfalkvidd for your kind help.

      posted in Troubleshooting
      TheNewWorld
      TheNewWorld
    • RE: Error with Gateway + Sensor sketch [Solved]

      OK, uploaded the vanilla sketch and it now DOESN'T WORK with no sensors attached. also shows the above message.

      posted in Troubleshooting
      TheNewWorld
      TheNewWorld
    • RE: Error with Gateway + Sensor sketch [Solved]

      Debug output for that sketch is

      0;255;3;0;9;MCO:BGN:INIT GW,CP=RNNGA--,VER=2.1.1
      0;255;3;0;9;TSM:INIT
      0;255;3;0;9;TSF:WUR:MS=0
      0;255;3;0;9;!TSM:INIT:TSP FAIL
      0;255;3;0;9;TSM:FAIL:CNT=1
      0;255;3;0;9;TSM:FAIL:PDT
      0;255;3;0;9;TSM:FAIL:RE-INIT
      0;255;3;0;9;TSM:INIT
      0;255;3;0;9;!TSM:INIT:TSP FAIL
      0;255;3;0;9;TSM:FAIL:CNT=2
      0;255;3;0;9;TSM:FAIL:PDT
      

      That is repeated over and over until CNT hits 7. When it hits 7, it says this forever

      0;255;3;0;9;TSM:INIT
      0;255;3;0;9;!TSM:INIT:TSP FAIL
      0;255;3;0;9;TSM:FAIL:CNT=7
      0;255;3;0;9;TSM:FAIL:PDT
      0;255;3;0;9;TSM:FAIL:RE-INIT
      
      posted in Troubleshooting
      TheNewWorld
      TheNewWorld
    • RE: Error with Gateway + Sensor sketch [Solved]

      @gohan OK, didn't know about not using sleep. Will change it.

      As for the wiring issue, I don't think that is a problem because it works well with the vanilla version of the gateway sketch with the same wiring.

      I will post the debug output ASAP.

      posted in Troubleshooting
      TheNewWorld
      TheNewWorld
    • Error with Gateway + Sensor sketch [Solved]

      Hi, I just set up a serial gateway, but I want to intergrate other things (ex : Temp + Humidity) on a single arduino. However, my sketch gives me the following error:

      0;255;3;0;9;TSM:INIT:TSP FAIL
      

      And here's my edited version of the gateway sketch (intergrated) :

      /**
      * 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
      * The ArduinoGateway prints data received from sensors on the serial link.
      * The gateway accepts input on seral which will be sent out on radio network.
      *
      * The GW code is designed for Arduino Nano 328p / 16MHz
      *
      * Wire connections (OPTIONAL):
      * - Inclusion button should be connected between digital pin 3 and GND
      * - RX/TX/ERR leds need to be connected between +5V (anode) and digital pin 6/5/4 with resistor 270-330R in a series
      *
      * LEDs (OPTIONAL):
      * - To use the feature, uncomment any of the MY_DEFAULT_xx_LED_PINs
      * - RX (green) - blink fast on radio message recieved. In inclusion mode will blink fast only on presentation recieved
      * - TX (yellow) - blink fast on radio message transmitted. In inclusion mode will blink slowly
      * - ERR (red) - fast blink on error during transmission error or recieve crc error
      *
      */
      
      // Enable debug prints to serial monitor
      #define MY_DEBUG
      
      
      // Enable and select radio type attached
      #define MY_RADIO_NRF24
      //#define MY_RADIO_RFM69
      
      // Set LOW transmit power level as default, if you have an amplified NRF-module and
      // power your radio separately with a good regulator you can turn up PA level.
      #define MY_RF24_PA_LEVEL RF24_PA_LOW
      
      // Enable serial gateway
      #define MY_GATEWAY_SERIAL
      
      // Define a lower baud rate for Arduino's running on 8 MHz (Arduino Pro Mini 3.3V & SenseBender)
      #if F_CPU == 8000000L
      #define MY_BAUD_RATE 38400
      #endif
      
      // Enable inclusion mode
      #define MY_INCLUSION_MODE_FEATURE
      // Enable Inclusion mode button on gateway
      //#define MY_INCLUSION_BUTTON_FEATURE
      
      // Inverses behavior of inclusion button (if using external pullup)
      //#define MY_INCLUSION_BUTTON_EXTERNAL_PULLUP
      
      // Set inclusion mode duration (in seconds)
      #define MY_INCLUSION_MODE_DURATION 60
      // Digital pin used for inclusion mode button
      //#define MY_INCLUSION_MODE_BUTTON_PIN  3
      
      // Set blinking period
      #define MY_DEFAULT_LED_BLINK_PERIOD 300
      
      // Inverses the behavior of leds
      //#define MY_WITH_LEDS_BLINKING_INVERSE
      
      // Flash leds on rx/tx/err
      // Uncomment to override default HW configurations
      //#define MY_DEFAULT_ERR_LED_PIN 4  // Error led pin
      //#define MY_DEFAULT_RX_LED_PIN  6  // Receive led pin
      //#define MY_DEFAULT_TX_LED_PIN  5  // the PCB, on board LED
      
      #include <MySensors.h>
      
      
      
      //DHT part of header here
      
      // Set this to the pin you connected the DHT's data pin to
      #define DHT_DATA_PIN 4
      
      // Set this offset if the sensor has a permanent small offset to the real temperatures
      #define SENSOR_TEMP_OFFSET 0
      
      // Sleep time between sensor updates (in milliseconds)
      // Must be >1000ms for DHT22 and >2000ms for DHT11
      static const uint64_t UPDATE_INTERVAL = 5000;
      
      // Force sending an update of the temperature after n sensor reads, so a controller showing the
      // timestamp of the last update doesn't show something like 3 hours in the unlikely case, that
      // the value didn't change since;
      // i.e. the sensor would force sending an update every UPDATE_INTERVAL*FORCE_UPDATE_N_READS [ms]
      static const uint8_t FORCE_UPDATE_N_READS = 10;
      
      #define CHILD_ID_HUM 1
      #define CHILD_ID_TEMP 2
      
      float lastTemp;
      float lastHum;
      uint8_t nNoUpdatesTemp;
      uint8_t nNoUpdatesHum;
      bool metric = true;
      
      #include <DHT.h>
      
      #define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
      
      #include <SPI.h>
      
      MyMessage msgHum(CHILD_ID_HUM, V_HUM);
      MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
      DHT dht(DHT_DATA_PIN,DHTTYPE);
      
      
      void setup()
      {
        // Send the sketch version information to the gateway
        sendSketchInfo("TemperatureAndHumidity", "1.1");
      
        // Register all sensors to gw (they will be created as child devices)
        present(CHILD_ID_HUM, S_HUM);
        present(CHILD_ID_TEMP, S_TEMP);
      
        metric = getControllerConfig().isMetric;
        dht.begin();
      }
      
      void presentation()
      {
        if (UPDATE_INTERVAL <= 1000) {
          Serial.println("Warning: UPDATE_INTERVAL is smaller than supported by the sensor!");
        }
        // Sleep for the time of the minimum sampling period to give the sensor time to power up
        // (otherwise, timeout errors might occure for the first reading)
        sleep(1000);
      
      }
      
      void loop()
      {
      
        // Get temperature from DHT library
        float temperature = dht.readTemperature();
        if (isnan(temperature)) {
          Serial.println("Failed reading temperature from DHT!");
        } else if (temperature != lastTemp || nNoUpdatesTemp == FORCE_UPDATE_N_READS) {
          // Only send temperature if it changed since the last measurement or if we didn't send an update for n times
          lastTemp = temperature;
          // Reset no updates counter
          nNoUpdatesTemp = 0;
          temperature += SENSOR_TEMP_OFFSET;
          send(msgTemp.set(temperature, 1));
      
          #ifdef MY_DEBUG
          Serial.print("T: ");
          Serial.println(temperature);
          #endif
        } else {
          // Increase no update counter if the temperature stayed the same
          nNoUpdatesTemp++;
        }
      
        // Get humidity from DHT library
        float humidity = dht.readHumidity();
        if (isnan(humidity)) {
          Serial.println("Failed reading humidity from DHT");
        } else if (humidity != lastHum || nNoUpdatesHum == FORCE_UPDATE_N_READS) {
          // Only send humidity if it changed since the last measurement or if we didn't send an update for n times
          lastHum = humidity;
          // Reset no updates counter
          nNoUpdatesHum = 0;
          send(msgHum.set(humidity, 1));
      
          #ifdef MY_DEBUG
          Serial.print("H: ");
          Serial.println(humidity);
          #endif
        } else {
          // Increase no update counter if the humidity stayed the same
          nNoUpdatesHum++;
        }
        // Sleep for a while to save energy
        sleep(UPDATE_INTERVAL); 
      }
      

      When I try the vanilla version of the gateway sketch, it works.
      Can anyone tell me what could be wrong w/ it?

      EDIT : uses the DHT lib. 1.2.3 from the arduino IDE 1.8.6 library manager.
      didn't use latest library because of some issues(unrelated)

      posted in Troubleshooting
      TheNewWorld
      TheNewWorld