Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
T

thedutch

@thedutch
About
Posts
5
Topics
3
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • [SOLVED] Node receives relais activation even without active controler
    T thedutch

    Solved the re-connection problem by giving the MQTT broker a different and seperate IP-address, it was running on unraid´s main IP-address.

    Now testing for repeating relay activation, keeping fingers crossed.

    @Yveaux thx for your help.

    Troubleshooting

  • [SOLVED] Node receives relais activation even without active controler
    T thedutch

    Hi All,

    This is bugging me for days now and i cant find a source.

    This node measures temp and has a relais to reboot the connected device if it hangs or goes off-line.

    But the relais gets activated about every minute because the node receives a command to activate the relais.
    I can not figure out where that command is coming from.

    I even tried running without a active controler (Home-assistant) but still the relais gets activated.

    I use a MQTT gateway on a Arduino Uno with NRF24 radio and ethernet to the network.

    I use Mosquitto, in a docker on unraid, as the broker.

    below is the sketch i have build, tried several other sketches, same result. And the serial output from my gateway and node.

    I hope there is someone who can help me getting this node working right.

    /*
     * MySensors Custom Door/Window Sensor, with temperature sensor
     * and battery level reporting Version 2.2
     * 
     * D.B******* 7/13/2018
     * 
     * Version 1 - Initial concept code
     * Version 2 - adds Temp/humidity/ and battery monintoring
     * 
     * The Mysensors libraries will handle all the radio protocols 
     * and create the network.
     * 
     * DO NOT USE REPEATER MODE if this is battery powered
     * 
     * Connect one button or door/window reed switch between
     * digital I/O pin 3 (BUTTON_PIN below) and GND and the other
     * one in similar fashion on digital I/O pin 2.
     * This example is designed to fit Arduino Nano/Pro Mini
     */
    
    //Enble serial monitoring
    #define MY_DEBUG
    #define MY_MSG
    
     //Enable radio (Im using NRLF24A)
    #define MY_RADIO_NRF24
    
    // Set manual node ID
    #define MY_NODE_ID 23
    
     // 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_TX_LED_PIN 6  // tramsmit led pin
    
    #include <MyConfig.h>
    #include <MySensors.h>
    #include <OneWire.h>
    #include <DallasTemperature.h>
    
    #define SKETCH_NAME "Anova"
    #define SKETCH_VERSION "2.0"
    
    // Add child IDs
    #define CHILD_ID_TEMP 1
    #define CHILD_ID_RELAY 2
    
    
    //==================================================
    // RELAY - SETUP
    //==================================================
    #define RELAY_PIN 2                   // Digital I/O pin number for the relay
    #define RELAY_ON 1                    // GPIO value to write to turn on attached relay
    #define RELAY_OFF 0                   // GPIO value to write to turn off attached relay
    #define RELAY_DELAY 3000              // Time relay stays ON
    
    //==================================================
    // TEMPERATURE SENSOR - SETUP
    //==================================================
    #define ONE_WIRE_BUS 5                // Pin where dallase sensor is connected 
    #define MAX_ATTACHED_DS18B20 16       // Maximun number of atachable temperature sensors
    #define NUM_TEMP_SENS 1               // Number of attached temperature sensors
    #define COMPARE_TEMP 1                // Send temperature only if changed? 1 = Yes 0 = No
    // Sensor 1
    float curTemp = 0;
    float lastTemp = 0;
    float OffsetTemp = 0;                 // allows for small corrections to sensor innacuracies
    
    OneWire oneWire(ONE_WIRE_BUS);        // Setup a oneWire instance to communicate with any OneWire devices
    DallasTemperature sensors(&oneWire);  // Pass the oneWire reference to Dallas Temperature.
    
    
    //==================================================
    // GENERAL PROCESSING SETTING
    //==================================================
    bool curState = false;
    bool newState = false;
    bool initialValueSent = false;
    
    unsigned long SLEEP_TIME = 15 * 1000;                      // Sleep time in sec
    
    const int audioOut = 3;        // (Digital 2) for using the peizo as an output device. (Thing that goes beep.)
    
    MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
    MyMessage msgRelay(CHILD_ID_RELAY, V_STATUS);
    
    void before()
    {
      // Startup up the OneWire library
      sensors.begin();
    }
    
    
    void setup() 
    {
      // requestTemperatures() will not block current thread
      sensors.setWaitForConversion(false);
      // Set relay pins in output mode, and turn relay OFF 
      pinMode(RELAY_PIN, OUTPUT);
      // Set relay to OFF)
      digitalWrite(RELAY_PIN, RELAY_OFF);
      curState = RELAY_OFF;
      initialValueSent = false;
    }
    
    
    void presentation()
    {
      sendSketchInfo(SKETCH_NAME, SKETCH_VERSION);
      present(CHILD_ID_TEMP, S_TEMP, "Temperature");
      present(CHILD_ID_RELAY, S_BINARY, "Relay");
    }
    
    
    void loop() 
    {
    /*
    *================================================== 
    * This is the MAIN program loop 
    *================================================== 
    */
      debugMsg("Loop - Start");
    
      if (!initialValueSent) {
        debugMsg("Sending initial value");
        send(msgRelay.set(curState?RELAY_ON:RELAY_OFF));
        debugMsg("Requesting initial value from controller");
        request(CHILD_ID_RELAY, V_STATUS);
        //wait(2000, C_SET, V_STATUS);
      }
    
      debugMsg("curState / newState - " + String(curState) + " / " + String(newState));
    
      if (newState != curState) {
        curState = RELAY_ON;
        digitalWrite(RELAY_PIN, curState);
        send(msgRelay.set(curState));
        wait(RELAY_DELAY);
        curState = RELAY_OFF;
        digitalWrite(RELAY_PIN, RELAY_OFF);
        send(msgRelay.set(curState));
        newState=curState;
      }
      
      //==================================================
      // Read temp sensor and send them to controller
      //==================================================
      sensors.requestTemperatures();
      // query conversion time and sleep until conversion completed
      int16_t conversionTime = sensors.millisToWaitForConversion(sensors.getResolution());
      //debugMsg("conversionTime: " + String(conversionTime) + " mSec");
      wait(conversionTime);
      // Fetch and round temperature to one decimal
      curTemp = static_cast<float>(static_cast<int>((sensors.getTempCByIndex(0)) * 10.)) / 10.;  
      // Only send data if temperature sensor has changed and no error
      if (curTemp!= lastTemp) {  
        debugMsg("Sending: Temerature: "+ String(curTemp));
        send(msgTemp.set(curTemp,1));
        lastTemp = curTemp;
      }
    
      //==================================================
      // Sleep until something happens with the sensor
      //==================================================
      debugMsg("Sleep - Start");
      wait(SLEEP_TIME);
    }
    
    
    void receive(const MyMessage &message) {
      debugMsg("Received: type / payload / ack : " + String(message.type) + " / " + String(message.getInt()) + " / " + String(message.isAck()));
      if (message.isAck()) {
         debugMsg("This is an ack from gateway");
      }
    
      if (message.type == V_STATUS) {
        if (!initialValueSent) {
          debugMsg("Receiving initial value from controller");
          initialValueSent = true;
          curState = (bool)message.getInt();
        }
        // Change relay state
        chirp(500, 1000);
        chirp(500, 1500);
        newState = (bool)message.getInt();
        if (newState == RELAY_ON) {
          debugMsg("Changing relay state to: ON");
        }
      }
    }
    
    
    
    
    /* 
    *==================================================
    *
    *  Room for various FUNCTIONS  
    *  
    *==================================================
    */
    
    //=========================
    // Send Debug message - FUNCTION
    //=========================
    void debugMsg(String message)
    {
      #ifdef MY_MSG
        Serial.println(message);
      #endif
    }
    
    //=========================
    // Plays a non-musical tone on the piezo.
    // playTime = milliseconds to play the tone
    // delayTime = time in microseconds between ticks. (smaller=higher pitch tone.)
    //=========================
    void chirp(int playTime, int delayTime)
    {
      long loopTime = (playTime * 1000L) / delayTime;
      pinMode(audioOut, OUTPUT);
      for(int i=0; i < loopTime; i++) {
        digitalWrite(audioOut, HIGH);
        delayMicroseconds(delayTime);
        digitalWrite(audioOut, LOW);
      }
      pinMode(audioOut, INPUT);
    }
    

    This is the serial output of my MQTT Gateway

    11:49:45.192 -> 0 MCO:BGN:INIT GW,CP=RNNGA---,FQ=16,REL=255,VER=2.3.2
    11:49:45.192 -> 4 MCO:BGN:BFR
    11:49:45.192 -> 6 TSM:INIT
    11:49:45.192 -> 7 TSF:WUR:MS=0
    11:49:45.192 -> 13 TSM:INIT:TSP OK
    11:49:45.192 -> 15 TSM:INIT:GW MODE
    11:49:45.192 -> 16 TSM:READY:ID=0,PAR=0,DIS=0
    11:49:45.230 -> 19 MCO:REG:NOT NEEDED
    11:49:49.894 -> 4698 GWT:TPC:IP=192.168.28.111
    11:49:50.921 -> 5701 MCO:BGN:STP
    11:49:50.921 -> 5702 MCO:BGN:INIT OK,TSP=1
    11:49:51.029 -> 5814 GWT:TPC:IP=192.168.28.111
    11:49:52.021 -> 6816 GWT:RMQ:CONNECTING...
    11:49:52.021 -> 6821 GWT:RMQ:OK
    11:49:52.021 -> 6823 GWT:TPS:TOPIC=mysgw-out/0/255/0/0/18,MSG SENT
    11:49:52.021 -> 6829 TSM:READY:NWD REQ
    11:49:52.021 -> 6834 ?TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=20,pt=0,l=0,sg=0,ft=0,st=OK:
    11:49:52.054 -> 6841 TSF:MSG:READ,23-23-0,s=2,c=1,t=2,pt=1,l=1,sg=0:0
    11:49:52.054 -> 6846 GWT:TPS:TOPIC=mysgw-out/23/2/1/0/2,MSG SENT
    11:49:52.054 -> 6852 GWT:IMQ:TOPIC=mysgw-in/23/255/3/0/6, MSG RECEIVED
    11:49:52.054 -> 6859 TSF:MSG:SEND,0-0-23-23,s=255,c=3,t=6,pt=0,l=1,sg=0,ft=0,st=OK:M
    11:49:52.054 -> 6866 GWT:IMQ:TOPIC=mysgw-in/23/2/1/0/2, MSG RECEIVED
    11:49:52.089 -> 6874 TSF:MSG:SEND,0-0-23-23,s=2,c=1,t=2,pt=0,l=1,sg=0,ft=0,st=OK:0
    11:49:52.089 -> 6881 GWT:IMQ:TOPIC=mysgw-in/23/2/1/1/2, MSG RECEIVED
    11:49:52.089 -> 6887 TSF:MSG:SEND,0-0-23-23,s=2,c=1,t=2,pt=0,l=1,sg=0,ft=0,st=OK:1
    11:49:52.089 -> 6895 GWT:IMQ:TOPIC=mysgw-in/31/255/3/0/6, MSG RECEIVED
    11:49:52.122 -> 6935 !TSF:MSG:SEND,0-0-31-31,s=255,c=3,t=6,pt=0,l=1,sg=0,ft=0,st=NACK:M
    11:49:52.158 -> 6943 GWT:IMQ:TOPIC=mysgw-in/31/2/1/1/2, MSG RECEIVED
    11:49:52.192 -> 6983 !TSF:MSG:SEND,0-0-31-31,s=2,c=1,t=2,pt=0,l=1,sg=0,ft=0,st=NACK:1
    11:49:53.123 -> 7914 TSF:MSG:READ,23-23-0,s=2,c=1,t=2,pt=0,l=1,sg=0:1
    11:49:53.123 -> 7919 TSF:MSG:ECHO
    11:49:53.123 -> 7921 GWT:TPS:TOPIC=mysgw-out/23/2/1/1/2,MSG SENT
    11:50:02.263 -> 17032 TSF:MSG:READ,23-23-0,s=2,c=1,t=2,pt=1,l=1,sg=0:1
    11:50:02.263 -> 17037 GWT:TPS:TOPIC=mysgw-out/23/2/1/0/2,MSG SENT
    11:50:05.254 -> 20047 TSF:MSG:READ,23-23-0,s=2,c=1,t=2,pt=1,l=1,sg=0:0
    11:50:05.287 -> 20052 GWT:TPS:TOPIC=mysgw-out/23/2/1/0/2,MSG SENT
    11:50:11.877 -> 26659 TSF:MSG:READ,23-23-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    11:50:11.915 -> 26665 TSF:MSG:BC
    11:50:11.915 -> 26667 TSF:MSG:FPAR REQ,ID=23
    11:50:11.915 -> 26670 TSF:PNG:SEND,TO=0
    11:50:11.915 -> 26672 TSF:CKU:OK
    11:50:11.915 -> 26674 TSF:MSG:GWL OK
    11:50:11.953 -> 26729 TSF:MSG:SEND,0-0-23-23,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
    11:50:13.906 -> 28682 TSF:MSG:READ,23-23-0,s=255,c=3,t=24,pt=1,l=1,sg=0:1
    <<< I DID RESTART NODE 23 HERE >>>
    11:50:13.906 -> 28687 TSF:MSG:PINGED,ID=23,HP=1
    11:50:13.939 -> 28692 TSF:MSG:SEND,0-0-23-23,s=255,c=3,t=25,pt=1,l=1,sg=0,ft=0,st=OK:1
    11:50:13.939 -> 28707 TSF:MSG:READ,23-23-0,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    11:50:13.939 -> 28715 TSF:MSG:SEND,0-0-23-23,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
    11:50:13.972 -> 28724 TSF:MSG:READ,23-23-0,s=255,c=0,t=17,pt=0,l=5,sg=0:2.3.2
    11:50:13.972 -> 28730 GWT:TPS:TOPIC=mysgw-out/23/255/0/0/17,MSG SENT
    11:50:13.972 -> 28735 TSF:MSG:READ,23-23-0,s=255,c=3,t=6,pt=1,l=1,sg=0:0
    11:50:13.972 -> 28741 GWT:TPS:TOPIC=mysgw-out/23/255/3/0/6,MSG SENT
    11:50:15.969 -> 30748 TSF:MSG:READ,23-23-0,s=255,c=3,t=11,pt=0,l=5,sg=0:Anova
    11:50:16.005 -> 30754 GWT:TPS:TOPIC=mysgw-out/23/255/3/0/11,MSG SENT
    11:50:16.005 -> 30759 TSF:MSG:READ,23-23-0,s=255,c=3,t=12,pt=0,l=3,sg=0:2.0
    11:50:16.005 -> 30766 GWT:TPS:TOPIC=mysgw-out/23/255/3/0/12,MSG SENT
    11:50:16.005 -> 30771 TSF:MSG:READ,23-23-0,s=1,c=0,t=6,pt=0,l=11,sg=0:Temperature
    11:50:16.005 -> 30777 GWT:TPS:TOPIC=mysgw-out/23/1/0/0/6,MSG SENT
    11:50:16.005 -> 30782 TSF:MSG:READ,23-23-0,s=2,c=0,t=3,pt=0,l=5,sg=0:Relay
    11:50:16.043 -> 30788 GWT:TPS:TOPIC=mysgw-out/23/2/0/0/3,MSG SENT
    11:50:16.043 -> 30793 TSF:MSG:READ,23-23-0,s=255,c=3,t=26,pt=1,l=1,sg=0:2
    11:50:16.043 -> 30800 TSF:MSG:SEND,0-0-23-23,s=255,c=3,t=27,pt=1,l=1,sg=0,ft=0,st=OK:1
    11:50:16.043 -> 30816 TSF:MSG:READ,23-23-0,s=2,c=1,t=2,pt=2,l=2,sg=0:0
    11:50:16.043 -> 30821 GWT:TPS:TOPIC=mysgw-out/23/2/1/0/2,MSG SENT
    11:50:16.081 -> 30826 TSF:MSG:READ,23-23-0,s=2,c=2,t=2,pt=0,l=0,sg=0:
    11:50:16.081 -> 30831 GWT:TPS:TOPIC=mysgw-out/23/2/2/0/2,MSG SENT
    11:50:16.188 -> 30936 TSF:MSG:READ,23-23-0,s=1,c=1,t=0,pt=7,l=5,sg=0:-127.0
    11:50:16.188 -> 30941 GWT:TPS:TOPIC=mysgw-out/23/1/1/0/0,MSG SENT
    11:50:31.227 -> 45982 TSF:MSG:READ,23-23-0,s=2,c=1,t=2,pt=2,l=2,sg=0:0
    11:50:31.264 -> 45988 GWT:TPS:TOPIC=mysgw-out/23/2/1/0/2,MSG SENT
    11:50:31.264 -> 45992 TSF:MSG:READ,23-23-0,s=2,c=2,t=2,pt=0,l=0,sg=0:
    11:50:31.264 -> 45998 GWT:TPS:TOPIC=mysgw-out/23/2/2/0/2,MSG SENT
    11:51:10.160 -> 84851 GWT:TPC:IP=192.168.28.111
    11:51:11.161 -> 85855 GWT:RMQ:CONNECTING...
    11:51:11.199 -> 85860 GWT:RMQ:OK
    11:51:11.199 -> 85862 GWT:TPS:TOPIC=mysgw-out/0/255/0/0/18,MSG SENT
    11:51:11.199 -> 85867 TSF:MSG:READ,23-23-0,s=2,c=1,t=2,pt=2,l=2,sg=0:0
    11:51:11.199 -> 85872 GWT:TPS:TOPIC=mysgw-out/23/2/1/0/2,MSG SENT
    11:51:11.199 -> 85877 TSF:MSG:READ,23-23-0,s=2,c=2,t=2,pt=0,l=0,sg=0:
    11:51:11.199 -> 85882 GWT:TPS:TOPIC=mysgw-out/23/2/2/0/2,MSG SENT
    11:51:11.199 -> 85888 TSF:MSG:READ,23-23-0,s=2,c=1,t=2,pt=2,l=2,sg=0:0
    11:51:11.199 -> 85893 GWT:TPS:TOPIC=mysgw-out/23/2/1/0/2,MSG SENT
    11:51:11.235 -> 85900 GWT:IMQ:TOPIC=mysgw-in/23/255/3/0/6, MSG RECEIVED
    11:51:11.235 -> 85906 TSF:MSG:SEND,0-0-23-23,s=255,c=3,t=6,pt=0,l=1,sg=0,ft=0,st=OK:M
    11:51:11.235 -> 85914 GWT:IMQ:TOPIC=mysgw-in/23/2/1/0/2, MSG RECEIVED
    11:51:11.235 -> 85920 TSF:MSG:SEND,0-0-23-23,s=2,c=1,t=2,pt=0,l=1,sg=0,ft=0,st=OK:0
    11:51:11.235 -> 85928 GWT:IMQ:TOPIC=mysgw-in/23/2/1/1/2, MSG RECEIVED
    11:51:11.272 -> 85935 TSF:MSG:SEND,0-0-23-23,s=2,c=1,t=2,pt=0,l=1,sg=0,ft=0,st=OK:1
    11:51:11.272 -> 85942 GWT:IMQ:TOPIC=mysgw-in/31/255/3/0/6, MSG RECEIVED
    11:51:11.307 -> 85983 !TSF:MSG:SEND,0-0-31-31,s=255,c=3,t=6,pt=0,l=1,sg=0,ft=0,st=NACK:M
    11:51:11.307 -> 85991 GWT:IMQ:TOPIC=mysgw-in/31/2/1/1/2, MSG RECEIVED
    11:51:11.342 -> 86032 !TSF:MSG:SEND,0-0-31-31,s=2,c=1,t=2,pt=0,l=1,sg=0,ft=0,st=NACK:1
    11:51:12.294 -> 86963 TSF:MSG:READ,23-23-0,s=2,c=1,t=2,pt=0,l=1,sg=0:1
    11:51:12.294 -> 86968 TSF:MSG:ECHO
    11:51:12.294 -> 86970 GWT:TPS:TOPIC=mysgw-out/23/2/1/1/2,MSG SENT
    11:51:16.807 -> 91473 TSF:MSG:READ,23-23-0,s=2,c=1,t=2,pt=1,l=1,sg=0:1
    11:51:16.807 -> 91479 GWT:TPS:TOPIC=mysgw-out/23/2/1/0/2,MSG SENT
    11:51:19.821 -> 94490 TSF:MSG:READ,23-23-0,s=2,c=1,t=2,pt=1,l=1,sg=0:0
    11:51:19.821 -> 94495 GWT:TPS:TOPIC=mysgw-out/23/2/1/0/2,MSG SENT
    11:52:38.781 -> 163580 GWT:TPC:IP=192.168.28.111
    11:52:38.781 -> 164583 GWT:RMQ:CONNECTING...
    11:52:38.781 -> 164588 GWT:RMQ:OK
    11:52:38.781 -> 164590 GWT:TPS:TOPIC=mysgw-out/0/255/0/0/18,MSG SENT
    11:52:38.781 -> 164598 GWT:IMQ:TOPIC=mysgw-in/23/255/3/0/6, MSG RECEIVED
    11:52:38.781 -> 164605 TSF:MSG:SEND,0-0-23-23,s=255,c=3,t=6,pt=0,l=1,sg=0,ft=0,st=OK:M
    11:52:38.781 -> 164614 GWT:IMQ:TOPIC=mysgw-in/23/2/1/0/2, MSG RECEIVED
    11:52:38.781 -> 164620 TSF:MSG:SEND,0-0-23-23,s=2,c=1,t=2,pt=0,l=1,sg=0,ft=0,st=OK:0
    11:52:38.781 -> 164628 GWT:IMQ:TOPIC=mysgw-in/23/2/1/1/2, MSG RECEIVED
    11:52:38.781 -> 164634 TSF:MSG:SEND,0-0-23-23,s=2,c=1,t=2,pt=0,l=1,sg=0,ft=0,st=OK:1
    11:52:38.781 -> 164642 GWT:IMQ:TOPIC=mysgw-in/31/255/3/0/6, MSG RECEIVED
    11:52:38.781 -> 164683 !TSF:MSG:SEND,0-0-31-31,s=255,c=3,t=6,pt=0,l=1,sg=0,ft=0,st=NACK:M
    11:52:38.781 -> 164691 GWT:IMQ:TOPIC=mysgw-in/31/2/1/1/2, MSG RECEIVED
    11:52:38.781 -> 164731 !TSF:MSG:SEND,0-0-31-31,s=2,c=1,t=2,pt=0,l=1,sg=0,ft=0,st=NACK:1
    11:52:38.781 -> 165661 TSF:MSG:READ,23-23-0,s=2,c=1,t=2,pt=0,l=1,sg=0:1
    11:52:38.781 -> 165666 TSF:MSG:ECHO
    11:52:38.781 -> 165668 GWT:TPS:TOPIC=mysgw-out/23/2/1/1/2,MSG SENT
    11:52:38.781 -> 170158 TSF:MSG:READ,23-23-0,s=2,c=1,t=2,pt=1,l=1,sg=0:1
    11:52:38.781 -> 170163 GWT:TPS:TOPIC=mysgw-out/23/2/1/0/2,MSG SENT
    11:52:38.781 -> 173173 TSF:MSG:READ,23-23-0,s=2,c=1,t=2,pt=1,l=1,sg=0:0
    11:52:38.814 -> 173178 GWT:TPS:TOPIC=mysgw-out/23/2/1/0/2,MSG SENT
    11:53:48.684 -> 242311 GWT:TPC:IP=192.168.28.111
    11:53:48.861 -> 243313 GWT:RMQ:CONNECTING...
    11:53:48.861 -> 243318 GWT:RMQ:OK
    11:53:48.897 -> 243320 GWT:TPS:TOPIC=mysgw-out/0/255/0/0/18,MSG SENT
    11:53:48.897 -> 243329 GWT:IMQ:TOPIC=mysgw-in/23/255/3/0/6, MSG RECEIVED
    11:53:48.897 -> 243338 TSF:MSG:SEND,0-0-23-23,s=255,c=3,t=6,pt=0,l=1,sg=0,ft=0,st=OK:M
    11:53:48.897 -> 243345 GWT:IMQ:TOPIC=mysgw-in/23/2/1/0/2, MSG RECEIVED
    11:53:48.897 -> 243352 TSF:MSG:SEND,0-0-23-23,s=2,c=1,t=2,pt=0,l=1,sg=0,ft=0,st=OK:0
    11:53:48.932 -> 243359 GWT:IMQ:TOPIC=mysgw-in/23/2/1/1/2, MSG RECEIVED
    11:53:48.932 -> 243373 TSF:MSG:SEND,0-0-23-23,s=2,c=1,t=2,pt=0,l=1,sg=0,ft=0,st=OK:1
    11:53:48.932 -> 243381 GWT:IMQ:TOPIC=mysgw-in/31/255/3/0/6, MSG RECEIVED
    11:53:48.968 -> 243422 !TSF:MSG:SEND,0-0-31-31,s=255,c=3,t=6,pt=0,l=1,sg=0,ft=0,st=NACK:M
    11:53:49.003 -> 243430 GWT:IMQ:TOPIC=mysgw-in/31/2/1/1/2, MSG RECEIVED
    11:53:49.040 -> 243470 !TSF:MSG:SEND,0-0-31-31,s=2,c=1,t=2,pt=0,l=1,sg=0,ft=0,st=NACK:1
    11:53:49.966 -> 244392 TSF:MSG:READ,23-23-0,s=2,c=1,t=2,pt=0,l=1,sg=0:1
    11:53:49.966 -> 244398 TSF:MSG:ECHO
    11:53:49.966 -> 244400 GWT:TPS:TOPIC=mysgw-out/23/2/1/1/2,MSG SENT
    11:53:54.413 -> 248843 TSF:MSG:READ,23-23-0,s=2,c=1,t=2,pt=1,l=1,sg=0:1
    11:53:54.413 -> 248848 GWT:TPS:TOPIC=mysgw-out/23/2/1/0/2,MSG SENT
    11:53:57.431 -> 251873 TSF:MSG:READ,23-23-0,s=2,c=1,t=2,pt=1,l=1,sg=0:0
    11:53:57.465 -> 251878 GWT:TPS:TOPIC=mysgw-out/23/2/1/0/2,MSG SENT
    

    This is the serial output of my node

    11:56:52.249 ->  
    11:56:52.249 ->  __  __       ____
    11:56:52.249 -> |  \/  |_   _/ ___|  ___ _ __  ___  ___  _ __ ___
    11:56:52.249 -> | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __|
    11:56:52.249 -> | |  | | |_| |___| |  __/ | | \__ \  _  | |  \__ \
    11:56:52.249 -> |_|  |_|\__, |____/ \___|_| |_|___/\___/|_|  |___/
    11:56:52.249 ->         |___/                      2.3.2
    11:56:52.249 -> 
    11:56:52.249 -> 16 MCO:BGN:INIT NODE,CP=RNNNA---,FQ=8,REL=255,VER=2.3.2
    11:56:52.285 -> 28 MCO:BGN:BFR
    11:56:52.285 -> 30 TSM:INIT
    11:56:52.285 -> 32 TSF:WUR:MS=0
    11:56:52.285 -> 38 TSM:INIT:TSP OK
    11:56:52.285 -> 40 TSM:INIT:STATID=23
    11:56:52.285 -> 43 TSF:SID:OK,ID=23
    11:56:52.285 -> 45 TSM:FPAR
    11:56:52.285 -> 49 ?TSF:MSG:SEND,23-23-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    11:56:54.288 -> 2058 !TSM:FPAR:NO REPLY
    11:56:54.288 -> 2060 TSM:FPAR
    11:56:54.324 -> 2064 ?TSF:MSG:SEND,23-23-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    11:56:54.776 -> 2533 TSF:MSG:READ,0-0-23,s=255,c=3,t=8,pt=1,l=1,sg=0:0
    11:56:54.776 -> 2539 TSF:MSG:FPAR OK,ID=0,D=1
    11:56:56.331 -> 4073 TSM:FPAR:OK
    11:56:56.331 -> 4073 TSM:ID
    11:56:56.331 -> 4075 TSM:ID:OK
    11:56:56.331 -> 4077 TSM:UPL
    11:56:56.331 -> 4081 TSF:MSG:SEND,23-23-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=OK:1
    11:56:56.331 -> 4089 TSF:MSG:READ,0-0-23,s=255,c=3,t=25,pt=1,l=1,sg=0:1
    11:56:56.331 -> 4096 TSF:MSG:PONG RECV,HP=1
    11:56:56.364 -> 4100 TSM:UPL:OK
    11:56:56.364 -> 4102 TSM:READY:ID=23,PAR=0,DIS=1
    11:56:56.364 -> 4106 TSF:MSG:SEND,23-23-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
    11:56:56.364 -> 4114 TSF:MSG:READ,0-0-23,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    11:56:56.364 -> 4122 TSF:MSG:SEND,23-23-0-0,s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=OK:2.3.2
    11:56:56.399 -> 4132 TSF:MSG:SEND,23-23-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=OK:0
    11:56:58.414 -> 6141 TSF:MSG:SEND,23-23-0-0,s=255,c=3,t=11,pt=0,l=5,sg=0,ft=0,st=OK:Anova
    11:56:58.414 -> 6152 TSF:MSG:SEND,23-23-0-0,s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=OK:2.0
    11:56:58.414 -> 6162 TSF:MSG:SEND,23-23-0-0,s=1,c=0,t=6,pt=0,l=11,sg=0,ft=0,st=OK:Temperature
    11:56:58.451 -> 6174 TSF:MSG:SEND,23-23-0-0,s=2,c=0,t=3,pt=0,l=5,sg=0,ft=0,st=OK:Relay
    11:56:58.451 -> 6180 MCO:REG:REQ
    11:56:58.451 -> 6184 TSF:MSG:SEND,23-23-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=OK:2
    11:56:58.451 -> 6195 TSF:MSG:READ,0-0-23,s=255,c=3,t=27,pt=1,l=1,sg=0:1
    11:56:58.451 -> 6201 MCO:PIM:NODE REG=1
    11:56:58.451 -> 6203 MCO:BGN:STP
    11:56:58.451 -> 6205 MCO:BGN:INIT OK,TSP=1
    11:56:58.489 -> Loop - Start
    11:56:58.489 -> Sending initial value
    11:56:58.489 -> 6211 TSF:MSG:SEND,23-23-0-0,s=2,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=OK:0
    11:56:58.489 -> Requesting initial value from controller
    11:56:58.489 -> 6221 TSF:MSG:SEND,23-23-0-0,s=2,c=2,t=2,pt=0,l=0,sg=0,ft=0,st=OK:
    11:56:58.489 -> curState / newState - 0 / 0
    11:56:58.589 -> Sending: Temerature: -127.00
    11:56:58.589 -> 6330 TSF:MSG:SEND,23-23-0-0,s=1,c=1,t=0,pt=7,l=5,sg=0,ft=0,st=OK:-127.0
    11:56:58.589 -> Sleep - Start
    11:57:13.672 -> Loop - Start
    11:57:13.672 -> Sending initial value
    11:57:13.672 -> 21340 TSF:MSG:SEND,23-23-0-0,s=2,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=OK:0
    11:57:13.672 -> Requesting initial value from controller
    11:57:13.672 -> 21350 TSF:MSG:SEND,23-23-0-0,s=2,c=2,t=2,pt=0,l=0,sg=0,ft=0,st=OK:
    11:57:13.672 -> curState / newState - 0 / 0
    11:57:13.781 -> Sleep - Start
    11:57:28.841 -> Loop - Start
    11:57:28.841 -> Sending initial value
    11:57:28.841 -> 36456 TSF:MSG:SEND,23-23-0-0,s=2,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=OK:0
    11:57:28.841 -> Requesting initial value from controller
    11:57:28.841 -> 36466 TSF:MSG:SEND,23-23-0-0,s=2,c=2,t=2,pt=0,l=0,sg=0,ft=0,st=OK:
    11:57:28.877 -> curState / newState - 0 / 0
    11:57:28.948 -> Sleep - Start
    11:57:44.011 -> Loop - Start
    11:57:44.011 -> Sending initial value
    11:57:44.011 -> 51574 TSF:MSG:SEND,23-23-0-0,s=2,c=1,t=2,pt=2,l=2,sg=0,ft=0,st=OK:0
    11:57:44.011 -> Requesting initial value from controller
    11:57:44.049 -> 51617 !TSF:MSG:SEND,23-23-0-0,s=2,c=2,t=2,pt=0,l=0,sg=0,ft=0,st=NACK:
    11:57:44.086 -> curState / newState - 0 / 0
    11:57:44.155 -> Sleep - Start
    11:57:48.013 -> 55564 TSF:MSG:READ,0-0-23,s=255,c=3,t=6,pt=0,l=1,sg=0:M
    11:57:48.013 -> 55580 TSF:MSG:READ,0-0-23,s=2,c=1,t=2,pt=0,l=1,sg=0:0
    11:57:48.046 -> Received: type / payload / ack : 2 / 0 / 0
    11:57:48.046 -> Receiving initial value from controller
    11:57:49.049 -> 56608 TSF:MSG:READ,0-0-23,s=2,c=1,t=2,pt=0,l=1,sg=0:1
    11:57:49.049 -> 56614 TSF:MSG:ECHO REQ
    11:57:49.086 -> 56619 TSF:MSG:SEND,23-23-0-0,s=2,c=1,t=2,pt=0,l=1,sg=0,ft=1,st=OK:1
    11:57:49.086 -> Received: type / payload / ack : 2 / 1 / 0
    11:57:50.107 -> Changing relay state to: ON
    11:57:59.204 -> Loop - Start
    11:57:59.204 -> curState / newState - 0 / 1
    11:57:59.204 -> 66727 TSF:MSG:SEND,23-23-0-0,s=2,c=1,t=2,pt=1,l=1,sg=0,ft=0,st=OK:1
    11:58:02.235 -> 69736 TSF:MSG:SEND,23-23-0-0,s=2,c=1,t=2,pt=1,l=1,sg=0,ft=0,st=OK:0
    11:58:02.344 -> Sleep - Start
    11:58:17.408 -> Loop - Start
    11:58:17.408 -> curState / newState - 0 / 0
    11:58:17.511 -> Sleep - Start
    11:58:32.565 -> Loop - Start
    11:58:32.565 -> curState / newState - 0 / 0
    11:58:32.672 -> Sleep - Start
    11:58:47.726 -> Loop - Start
    11:58:47.726 -> curState / newState - 0 / 0
    11:58:47.831 -> Sleep - Start
    11:59:02.870 -> Loop - Start
    11:59:02.870 -> curState / newState - 0 / 0
    11:59:02.975 -> Sleep - Start
    11:59:06.834 -> 134098 TSF:MSG:READ,0-0-23,s=255,c=3,t=6,pt=0,l=1,sg=0:M
    11:59:06.872 -> 134113 TSF:MSG:READ,0-0-23,s=2,c=1,t=2,pt=0,l=1,sg=0:0
    11:59:06.872 -> Received: type / payload / ack : 2 / 0 / 0
    11:59:07.891 -> 135141 TSF:MSG:READ,0-0-23,s=2,c=1,t=2,pt=0,l=1,sg=0:1
    11:59:07.891 -> 135147 TSF:MSG:ECHO REQ
    11:59:07.891 -> 135151 TSF:MSG:SEND,23-23-0-0,s=2,c=1,t=2,pt=0,l=1,sg=0,ft=0,st=OK:1
    11:59:07.926 -> Received: type / payload / ack : 2 / 1 / 0
    11:59:08.946 -> Changing relay state to: ON
    11:59:18.033 -> Loop - Start
    11:59:18.033 -> curState / newState - 0 / 1
    11:59:18.033 -> 145229 TSF:MSG:SEND,23-23-0-0,s=2,c=1,t=2,pt=1,l=1,sg=0,ft=0,st=OK:1
    11:59:21.052 -> 148238 TSF:MSG:SEND,23-23-0-0,s=2,c=1,t=2,pt=1,l=1,sg=0,ft=0,st=OK:0
    11:59:21.160 -> Sleep - Start
    
    Troubleshooting

  • MKRZERO with W5100 Ethernet modul as gateway, Not working
    T thedutch

    Hi all,
    I am trying to get a MRKZero and a W5100 Ethernet module working as a gateway, but its not working.
    Tried as a first step to get a web-server running on this combo, but the sketch reports "Ethernet shield not found".
    If i get the web-server running i should be able to get the Ethernet gateway running too.

    I seen lots of samples and instructions for the Arduino UNO, but am not able to translate these to the MKRZero.

    I hope there is someone who can help me with this.

    Connections between the Arduino and the Ethernet modul:

    W5100                  MKRZero   
    1    GND                 GND
    2    5V                  5V
    3    Reset
    4    SS                  ???
    5    SCK                 SCK
    6    MOSI                MOSI
    7    MISO                MISO
    8    GND
    9    POE+
    10   POE-
    

    Code:

    /*
      Web Server
    
     A simple web server that shows the value of the analog input pins.
     using an Arduino Wiznet Ethernet shield.
    
     Circuit:
     * Ethernet shield attached to pins 10, 11, 12, 13
     * Analog inputs attached to pins A0 through A5 (optional)
    
     created 18 Dec 2009
     by David A. Mellis
     modified 9 Apr 2012
     by Tom Igoe
     modified 02 Sept 2015
     by Arturo Guadalupi
     
     */
    
    #include <SPI.h>
    #include <Ethernet.h>
    
    // Enter a MAC address and IP address for your controller below.
    // The IP address will be dependent on your local network:
    byte mac[] = {
      0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
    };
    IPAddress ip(192, 168, 28, 177);
    
    // Initialize the Ethernet server library
    // with the IP address and port you want to use
    // (port 80 is default for HTTP):
    EthernetServer server(80);
    
    void setup() {
      // You can use Ethernet.init(pin) to configure the CS pin
      //Ethernet.init(7);  // Most Arduino shields
      //Ethernet.init(5);   // MKR ETH shield
      //Ethernet.init(0);   // Teensy 2.0
      //Ethernet.init(20);  // Teensy++ 2.0
      //Ethernet.init(15);  // ESP8266 with Adafruit Featherwing Ethernet
      //Ethernet.init(33);  // ESP32 with Adafruit Featherwing Ethernet
    
      // Open serial communications and wait for port to open:
      Serial.begin(115200);
      while (!Serial) {
        ; // wait for serial port to connect. Needed for native USB port only
      }
      Serial.println("Ethernet WebServer Example");
    
      // start the Ethernet connection and the server:
      Ethernet.begin(mac, ip);
    
      // Check for Ethernet hardware present
      if (Ethernet.hardwareStatus() == EthernetNoHardware) {
        Serial.println("Ethernet shield was not found.  Sorry, can't run without hardware. :(");
        while (true) {
          delay(1); // do nothing, no point running without Ethernet hardware
        }
      }
      if (Ethernet.linkStatus() == LinkOFF) {
        Serial.println("Ethernet cable is not connected.");
      }
    
      // start the server
      server.begin();
      Serial.print("server is at ");
      Serial.println(Ethernet.localIP());
    }
    
    
    void loop() {
      // listen for incoming clients
      EthernetClient client = server.available();
      if (client) {
        Serial.println("new client");
        // an http request ends with a blank line
        boolean currentLineIsBlank = true;
        while (client.connected()) {
          if (client.available()) {
            char c = client.read();
            Serial.write(c);
            // if you've gotten to the end of the line (received a newline
            // character) and the line is blank, the http request has ended,
            // so you can send a reply
            if (c == '\n' && currentLineIsBlank) {
              // send a standard http response header
              client.println("HTTP/1.1 200 OK");
              client.println("Content-Type: text/html");
              client.println("Connection: close");  // the connection will be closed after completion of the response
              client.println("Refresh: 5");  // refresh the page automatically every 5 sec
              client.println();
              client.println("<!DOCTYPE HTML>");
              client.println("<html>");
              // output the value of each analog input pin
              for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
                int sensorReading = analogRead(analogChannel);
                client.print("analog input ");
                client.print(analogChannel);
                client.print(" is ");
                client.print(sensorReading);
                client.println("<br />");
              }
              client.println("</html>");
              break;
            }
            if (c == '\n') {
              // you're starting a new line
              currentLineIsBlank = true;
            } else if (c != '\r') {
              // you've gotten a character on the current line
              currentLineIsBlank = false;
            }
          }
        }
        // give the web browser time to receive the data
        delay(1);
        // close the connection:
        client.stop();
        Serial.println("client disconnected");
      }
    }
    
    Troubleshooting mkrzero ethernet gateway

  • Using NRF24L01 with Arduino MKRZero
    T thedutch

    For future reference,

    I was checking the myconfig.h file and found some variable definition regarding the NRF24 radio.

    There were two variables referencing the CE and CS pin.

    /**
     * @def MY_RF24_CE_PIN
     * @brief Define this to change the chip enable pin from the default.
     */
    #ifndef MY_RF24_CE_PIN
    #define MY_RF24_CE_PIN (DEFAULT_RF24_CE_PIN)
    #endif
    
    /**
     * @def MY_RF24_CS_PIN
     * @brief Define this to change the chip select pin from the default.
     */
    #ifndef MY_RF24_CS_PIN
    #define MY_RF24_CS_PIN (DEFAULT_RF24_CS_PIN)
    #endif
    
    

    I have set these two variables in my sketch for my MRKZERO and got the radio working.

    Problem Solved :+1:

    Hardware nrf24 arduino mrkzero

  • Using NRF24L01 with Arduino MKRZero
    T thedutch

    Hi All,

    I can not figure out how to connect the nrf24 radio to my Arduino mrknano.

    nrf24		mrkNano
    GND 		gnd
    VCC 		vcc
    CE 		?
    CSN/CS 		?
    SCK 		7
    COPI/MOSI 	8
    CIPO/MISO 	10
    IRQ 		2
    

    Where do i connect the CE and CSN pins to ??

    Thx.
    Rob.

    Hardware nrf24 arduino mrkzero
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular