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
D

DanieleF

@DanieleF
Unfollow Follow
About
Posts
22
Topics
6
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • Ethernet gateway and receive function
    D DanieleF
    Troubleshooting

    This is the full code, in my previous message I tried simplifing it and I missed a variable declaration:

    #define MY_DEBUG
    //#define MY_DEBUG_DETAIL
    
    #define MY_GATEWAY_W5100
    
    #define MY_RF24_CS_PIN 3
    #define MY_RF24_IRQ_PIN 2
    #define MY_RX_MESSAGE_BUFFER_FEATURE 6
    
    #define MY_IP_ADDRESS 192,168,1,20
    #define MY_IP_GATEWAY_ADDRESS 192,168,1,1
    #define MY_IP_SUBNET_ADDRESS 255,255,255,0
    #define MY_PORT 5003
    #define MY_MAC_ADDRESS 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
    
    #if defined(MY_USE_UDP)
    #include <EthernetUdp.h>
    #endif
    #include <Ethernet.h>
    
    #define CHILD_ID_LIGHT 1
    
    #include <MyRF24_P2_GW.h>
    #include <MySensors.h>
    
    MyMessage msgLIGHT(CHILD_ID_LIGHT, V_STATUS);
    
    
    #define BUTTON_UP A4
    #define BUTTON_DW A5
    
    #include <Bounce2.h>
    Bounce debounceUp = Bounce(); 
    Bounce debounceDw = Bounce();
    
    bool statoLuci = 1;
    const byte numReed = 4;
    const byte pinReed[numReed] = {A0,A1,A2,A3};
    const byte pinRelay[numReed] = {5,6,7,8};
    bool statoReed[numReed];
    
    
    
    void setup()
    {
    
    //  request(CHILD_ID_LIGHT, V_STATUS);
    
      debounceUp.attach(BUTTON_UP, INPUT_PULLUP);
      debounceUp.interval(5);
      debounceDw.attach(BUTTON_DW, INPUT_PULLUP);
      debounceDw.interval(5);
    
      for (int i=0; i<numReed; i++){
        pinMode(pinReed[i], INPUT_PULLUP);
        statoReed[i] = 0;
        pinMode(pinRelay[i], OUTPUT);
      }
    
    }
    
    void presentation()
    {
    
      present(CHILD_ID_LIGHT, S_BINARY, "P2 Luci Armadio");
    
    }
    
    void loop() {
    
      debounceUp.update();
      debounceDw.update();
      
      if ( debounceUp.fell() ) {
        Serial.println("UP");
      }
      if ( debounceDw.fell() ) {
        Serial.println("DOWN");
      }
      
    
      for (int i=0; i<numReed; i++){
        if (statoLuci){
          statoReed[i] = digitalRead(pinReed[i]);
          digitalWrite(pinRelay[i], statoReed[i]);
        }
        else
          digitalWrite(pinRelay[i], 0);
    
        #ifdef MY_DEBUG_DETAIL
        Serial.print("Reed ");
        Serial.print(i);
        Serial.print(" : ");
        Serial.println(statoReed[i]);
        #endif
      }
    
      #ifdef MY_DEBUG_DETAIL
      Serial.println("****************");
      wait(1000);
      #endif
      
    }
    
    /*
    void receive(const MyMessage &message)
    {
    
      if (message.destination == 0 && message.type == V_STATUS && message.sensor == CHILD_ID_LIGHT && !message.isAck()) {
        #ifdef MY_DEBUG
        Serial.println("*** Receiving ***");
        #endif
        statoLuci = message.getBool();
      }
    
    }
    */
    

    MyRF24_2_GW.h contains simply some common defines I use for all the nodes connected to this GW:

    #define MY_RADIO_NRF24
    #define MY_RF24_DATARATE   RF24_250KBPS
    #define MY_RF24_CHANNEL 115
    
    #ifndef MY_RF24_PA_LEVEL
    #define MY_RF24_PA_LEVEL   RF24_PA_HIGH
    #endif
    
    #ifndef MY_PARENT_NODE_ID
    #define MY_PARENT_NODE_ID 0
    #define MY_PARENT_NODE_IS_STATIC
    #endif
    

  • Ethernet gateway and receive function
    D DanieleF
    Troubleshooting

    Sorry for the late response, I've been away for a few days.
    The debug output looks very odd to me:

    4850944 MCO:BGN-Q-,REL=255,VER=2.3.1
    4850945 5,VER=2.3.1
    4850945 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 5,VER=2.3.1
    4850945 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 4850944 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MDO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MDO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850944 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MDO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MDO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850944 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MDO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MDO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850944 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MDO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MDO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850944 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MDO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MDO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850944 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MDO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MDO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850944 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MDO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MDO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850944 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MDO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 MCO:BGN:INIT GW,CP=RNNGA-Q-,REL=255,VER=2.3.1
    4850945 ```

  • Ethernet gateway and receive function
    D DanieleF
    Troubleshooting

    The code is really basic, taken from the ethernet gw template simply adding the receive function:

    
    #define MY_DEBUG
    
    #define MY_GATEWAY_W5100
    
    #define MY_RF24_CS_PIN 3
    #define MY_RF24_IRQ_PIN 2
    #define MY_RX_MESSAGE_BUFFER_FEATURE 6
    
    #define MY_IP_ADDRESS 192,168,1,20
    #define MY_IP_GATEWAY_ADDRESS 192,168,1,1
    #define MY_IP_SUBNET_ADDRESS 255,255,255,0
    #define MY_PORT 5003
    #define MY_MAC_ADDRESS 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
    
    #if defined(MY_USE_UDP)
    #include <EthernetUdp.h>
    #endif
    #include <Ethernet.h>
    
    #define CHILD_ID_LIGHT 1
    
    #include <MyRF24_P2_GW.h>
    #include <MySensors.h>
    
    
    
    
    void setup()
    {
    
    }
    
    void presentation()
    {
    
      present(CHILD_ID_LIGHT, S_BINARY, "P2 Luci Armadio");
    
    }
    
    void loop() {
    
      
    }
    
    void receive(const MyMessage &message)
    {
    
      if (message.type == V_STATUS && message.sensor == CHILD_ID_LIGHT && !message.isAck()) {
        #ifdef MY_DEBUG
        Serial.println("*** Receiving ***");
        #endif
        statoLuci = message.getBool();
      }
    
    }
    

  • Ethernet gateway and receive function
    D DanieleF
    Troubleshooting

    I have an ethernet gw based on Arduino Uno + W5100, working as expected.
    I tried to add an actuator (a simple relay), thus I added the usual "receive" function to the script, but at this point the ethernet stopped sending messages to others nodes.

    I tried filtering the destination, sensors type etc. but it still doesn't work.
    I suppose I should "forward" the messages manually in my receive function, correct?
    Does someone have a working example?

    Thanks
    Daniele


  • NRF24 transport status not initialized
    D DanieleF
    Troubleshooting

    @tekka my setup is quite simple:

    
    void setup() {
    
      wdt_disable();
    
      pinMode(RAIN_D_PIN, INPUT_PULLUP);
    //  pinMode(REED_PIN, INPUT_PULLUP);
    
      pinMode(VELUX_UP_PIN, OUTPUT);
      pinMode(VELUX_DOWN_PIN, OUTPUT);
    
      digitalWrite(VELUX_UP_PIN, RELAY_OFF);
      digitalWrite(VELUX_DOWN_PIN, RELAY_OFF);
    
      sensors.begin();
      if (!sensors.getAddress(ds18Addr, 0)) 
        Serial.println("************** Unable to find address for Device 0"); 
    
      sensors.setResolution(ds18Addr, 11);
    
      wdt_enable(WDTO_8S);
    
    }
    

    the only driver I use is the one from DallasTemperature library, which I used also in other nodes without any issue.
    This evening I'll try removong it to see if it has any effect.

    Regarding radio issues, this node goes completely offline from that message on: it neither sends nor receive any message.


  • NRF24 transport status not initialized
    D DanieleF
    Troubleshooting

    Hi, I prepared a new node with Arduino Nano (clone) and NRF24.
    Everything seems to work, the node connects to the network and sends the presentation info, but then I receive this in the serial log:

    MCO:BGN:INIT OK,TSP=0
    

    which using the parser translates into:

    Core initialized, transport status 0, (1=initialized, 0=not initialized, NA=not available)
    

    I never had this kind of error with my other node, could someone point me to the meaning of this message (how can it be "not initialized" if it successfully sent the all the presentation messages?) or to the possible cause?
    This is the complete log:

    2093 TSF:MSG:SEND,21-21-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=1,st=OK:1
    2103 TSF:MSG:READ,0-0-21,s=255,c=3,t=25,pt=1,l=1,sg=0:1
    2108 TSF:MSG:PONG RECV,HP=1
    2111 TSM:UPL:OK
    2112 TSM:READY:ID=21,PAR=0,DIS=1
    2117 TSF:MSG:SEND,21-21-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
    2124 TSF:MSG:READ,0-0-21,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    2131 TSF:MSG:SEND,21-21-0-0,s=255,c=0,t=18,pt=0,l=5,sg=0,ft=0,st=OK:2.3.1
    2140 TSF:MSG:SEND,21-21-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=OK:0
    2338 TSF:MSG:READ,0-0-21,s=255,c=3,t=6,pt=0,l=1,sg=0:M
    2343 TSF:MSG:ACK REQ
    2347 TSF:MSG:SEND,21-21-0-0,s=255,c=3,t=6,pt=0,l=1,sg=0,ft=0,st=OK:M
    2356 TSF:MSG:SEND,21-21-0-0,s=255,c=3,t=11,pt=0,l=20,sg=0,ft=0,st=OK:P2 - Velux Cameretta
    2366 TSF:MSG:SEND,21-21-0-0,s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=OK:1.0
    2374 TSF:MSG:SEND,21-21-0-0,s=1,c=0,t=10,pt=0,l=10,sg=0,ft=0,st=OK:P2 Pioggia
    2384 TSF:MSG:SEND,21-21-0-0,s=2,c=0,t=6,pt=0,l=21,sg=0,ft=0,st=OK:OUT Temperatura tetto
    2395 TSF:MSG:SEND,21-21-0-0,s=3,c=0,t=5,pt=0,l=18,sg=0,ft=0,st=OK:P2 Velux Cameretta
    2405 TSF:MSG:SEND,21-21-0-0,s=4,c=0,t=3,pt=0,l=15,sg=0,ft=0,st=OK:P2 Velux Status
    2412 MCO:REG:REQ
    2415 TSF:MSG:SEND,21-21-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=OK:2
    2422 TSF:MSG:READ,0-0-21,s=255,c=3,t=27,pt=1,l=1,sg=0:1
    2427 MCO:PIM:NODE REG=1
    2429 MCO:BGN:STP
    2436 MCO:BGN:INIT OK,TSP=0
    2441 TSF:MSG:SEND,21-21-0-0,s=1,c=1,t=6,pt=1,l=1,sg=0,ft=0,st=OK:0
    

    I tried changing the NRF24 with another one which works on another node, I tried changing the IRQ pin, or disabling the IRQ, but still the same errors.

    Thanks
    Daniele


  • Receive queued mensajes after sleep
    D DanieleF
    Development

    I never used openhab, but your description makes me think about the way your sensor sleeps.
    Are you using sleep or smart sleep?
    If you want to achieve what you described you should use the second one, which informs the controller that the node is awake.


  • Node stops receiving after some time when using MY_RX_MESSAGE_BUFFER_FEATURE
    D DanieleF
    Troubleshooting

    It works like a charm!
    Thank you for the suggestion, maybe it could be useful to add to the guide on building the ethernet gateway.


  • Node stops receiving after some time when using MY_RX_MESSAGE_BUFFER_FEATURE
    D DanieleF
    Troubleshooting

    An example would be great!
    Thank you very much


  • Node stops receiving after some time when using MY_RX_MESSAGE_BUFFER_FEATURE
    D DanieleF
    Troubleshooting

    @yveaux said in Node stops receiving after some time when using MY_RX_MESSAGE_BUFFER_FEATURE:

    @mathea90 I've used it for over 2 years now on my ethernet gateway and it never failed me.

    Sorry for bringing back an old post, but I tried to enable the messagge buffer on my ethernet gw and I failed due to this error:

    #error RF24 IRQ usage cannot be used with Soft SPI

    My setup is Arduino Uno + W5100 Ethernet Shield + NRF24.
    I'm using soft SPI as explained in the ethernet gw page.

    How did you overcome this problem?
    Thanks
    Daniele


  • Log parser error
    D DanieleF
    Troubleshooting

    It works perfectly now!
    Thanks
    Daniele


  • Log parser error
    D DanieleF
    Troubleshooting

    It's some day that I cannot use the log parser.
    When I open the page, I receive this error message:
    0_1554033560399_44ff6afe-89a0-4bd6-a0fe-4cf411a61d53-image.png
    Is anybody else having the same issue?


  • Recompiling for different channels
    D DanieleF
    Development mysbootloader

    Sorry, my mystake!!!
    Pro mini!


  • Recompiling for different channels
    D DanieleF
    Development mysbootloader

    I'm using the definitions from board.txt available in the repo, simply changing the hex file in the folder where the IDE searches the bootloaders.


  • Recompiling for different channels
    D DanieleF
    Development mysbootloader

    The option I found is here.
    When I run make, only one hex file is generated, so I assumed I have to change it in order to configure che frequency of my arduino.

    BTW, I don't understand your reference to MySensors version: I'm compiling a C program, not ann Arduino sketch (and I haven't seen a place to give the path to MySensors library).


  • Recompiling for different channels
    D DanieleF
    Development mysbootloader

    @rejoe2 I tried this, and I also changed the frequency in the makefile (CLK = ... at line 8), but when I flash this bootloader, the arduino hangs and I'm not able to upload any sketch.

    I'm using a micro 3.3V 8MHz and MYSBootloader DEV branch.


  • Recompiling for different channels
    D DanieleF
    Development mysbootloader

    Could someone help me understading how to recmpile MYSBootloader for a different channel?
    I searched around but I haven't found a guide or anything similar.
    I'm not very familiar with gcc and it's configurations...
    I could work both on a Windows or Linux box, I guess the second could be easier to set up.
    Daniele


  • ENC28J60 Gateway - no ping
    D DanieleF
    Hardware

    I connected a brand new nano, the ethernet leds are powered when I connect a cable, but the log result is always the same.
    Should I deduct that my shield is defective?


  • ENC28J60 Gateway - no ping
    D DanieleF
    Hardware

    I really think you're right at this point.
    I don't have another arduino to do a test, I'll try in the next few days.
    Thanks


  • ENC28J60 Gateway - no ping
    D DanieleF
    Hardware

    @hard-shovel said in ENC28J60 Gateway - no ping:

    ENC28J60

    I tried conneting +5V, GND, then 10-10, 11-11, 12-12, 13-13, RST-RST, but with the same result.
    The odd thing is that I cannot see any led turning on on the shield (neither using it as a shield, neither with external connections).

  • Login

  • Don't have an account? Register

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