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
  1. Home
  2. Troubleshooting
  3. Node cant see gateway less than 10m Away.

Node cant see gateway less than 10m Away.

Scheduled Pinned Locked Moved Troubleshooting
19 Posts 7 Posters 6.0k Views 6 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    Adam McCartney
    wrote on last edited by Adam McCartney
    #10

    That thought had crossed my mind. Its a Dual band Router, but unfortunately a lot of the devices don't support 5Ghz.

    I have a Main server in my office that i could i could connect the gateway to and make make it a network gateway that way.

    I think my best option is to create an ethernet gateway anyway.

    Thanks for all your help.

    I'll try moving the gateway away from the router and see how that effects everything.

    1 Reply Last reply
    0
    • siklosiS Offline
      siklosiS Offline
      siklosi
      wrote on last edited by
      #11

      You could scan frequencies and see what channels are free of noise and than set MySensors libraray to that channel. There is arduino code poor man's scanner that scans wifi range

      and here is my modified sketch that scans all 127 channels...

      #include <SPI.h>
      
      // Poor Man's Wireless 2.4GHz Scanner
      //
      // uses an nRF24L01p connected to an Arduino
      // 
      // Cables are:
      //     SS       -> 10
      //     MOSI     -> 11
      //     MISO     -> 12
      //     SCK      -> 13
      // 
      // and CE       ->  9
      //
      // created March 2011 by Rolf Henkel
      //
      
      #define CE  9
      
      // Array to hold Channel data
      #define CHANNELS  128
      int channel[CHANNELS];
      
      // greyscale mapping 
      int  line;
      char grey[] = " 123456789";
      
      // nRF24L01P registers we need
      #define _NRF24_CONFIG      0x00
      #define _NRF24_EN_AA       0x01
      #define _NRF24_RF_CH       0x05
      #define _NRF24_RF_SETUP    0x06
      #define _NRF24_RPD         0x09
      
      // get the value of a nRF24L01p register
      byte getRegister(byte r)
      {
        byte c;
        
        PORTB &=~_BV(2);
        c = SPI.transfer(r&0x1F);
        c = SPI.transfer(0);  
        PORTB |= _BV(2);
      
        return(c);
      }
      
      // set the value of a nRF24L01p register
      void setRegister(byte r, byte v)
      {
        PORTB &=~_BV(2);
        SPI.transfer((r&0x1F)|0x20);
        SPI.transfer(v);
        PORTB |= _BV(2);
      }
        
      // power up the nRF24L01p chip
      void powerUp(void)
      {
        setRegister(_NRF24_CONFIG,getRegister(_NRF24_CONFIG)|0x02);
        delayMicroseconds(130);
      }
      
      // switch nRF24L01p off
      void powerDown(void)
      {
        setRegister(_NRF24_CONFIG,getRegister(_NRF24_CONFIG)&~0x02);
      }
      
      // enable RX 
      void enable(void)
      {
          PORTB |= _BV(1);
      }
      
      // disable RX
      void disable(void)
      {
          PORTB &=~_BV(1);
      }
      
      // setup RX-Mode of nRF24L01p
      void setRX(void)
      {
        setRegister(_NRF24_CONFIG,getRegister(_NRF24_CONFIG)|0x01);
        enable();
        // this is slightly shorter than
        // the recommended delay of 130 usec
        // - but it works for me and speeds things up a little...
        delayMicroseconds(130);
      }
      
      // scanning all channels in the 2.4GHz band
      void scanChannels(void)
      {
        disable();
        for( int j=0 ; j<200  ; j++)
        {
          for( int i=0 ; i<CHANNELS ; i++)
          {
            // select a new channel
            setRegister(_NRF24_RF_CH,(128*i)/CHANNELS);
            
            // switch on RX
            setRX();
            
            // wait enough for RX-things to settle
            delayMicroseconds(40);
            
            // this is actually the point where the RPD-flag
            // is set, when CE goes low
            disable();
            
            // read out RPD flag; set to 1 if 
            // received power > -64dBm
            if( getRegister(_NRF24_RPD)>0 )   channel[i]++;
          }
        }
      }
      
      // outputs channel data as a simple grey map
      void outputChannels(void)
      {
        int norm = 0;
        
        // find the maximal count in channel array
        for( int i=0 ; i<CHANNELS ; i++)
          if( channel[i]>norm ) norm = channel[i];
          
        // now output the data
        //Serial.print('|');
        for( int i=0 ; i<CHANNELS ; i++)
        {
          int pos;
          
          // calculate grey value position
          if( norm!=0 ) pos = (channel[i]*10)/norm;
          else          pos = 0;
          
          // boost low values
          if( pos==0 && channel[i]>0 ) pos++;
          
          // clamp large values
          if( pos>9 ) pos = 9;
         
          // print it out
          Serial.print(grey[pos]);
          channel[i] = 0;
        }
        
        // indicate overall power
         Serial.println("");
       // Serial.println(norm);
      }
      
      // give a visual reference between WLAN-channels and displayed data
      void printChannels(void)
      {
        // output approximate positions of WLAN-channels
       Serial.println("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111");
       Serial.println("0000000001111111111222222222233333333334444444444555555555566666666667777777777888888888899999999990000000000111111111122222222"); 
       Serial.println("1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567");
      }
      
      void setup()
      {
        Serial.begin(57600);
        
        Serial.println("Starting Poor Man's Wireless 2.4GHz Scanner ...");
        Serial.println();
      
        // Channel Layout
        // 0         1         2         3         4         5         6
        // 0123456789012345678901234567890123456789012345678901234567890123
        //       1 2  3 4  5  6 7 8  9 10 11 12 13  14                     | 
        //
       // Serial.println("Channel Layout");
        printChannels();
        
        // Setup SPI
        SPI.begin();
        SPI.setDataMode(SPI_MODE0);
        SPI.setClockDivider(SPI_CLOCK_DIV2);
        SPI.setBitOrder(MSBFIRST);
        
        // Activate Chip Enable
        pinMode(CE,OUTPUT);
        disable();
        
        // now start receiver
        powerUp();
        
        // switch off Shockburst
        setRegister(_NRF24_EN_AA,0x0);
        
        // make sure RF-section is set properly 
        // - just write default value... 
        setRegister(_NRF24_RF_SETUP,0x0F); 
        
        // reset line counter
        line = 0;
      }
      
      void loop() 
      { 
        // do the scan
        scanChannels();
        
        // output the result
        outputChannels();
        
        // output WLAN-channel reference every 12th line
        if( line++>12 )
        {
          printChannels();
          line = 0;
        }
      }
      
      1 Reply Last reply
      4
      • A Offline
        A Offline
        Adam McCartney
        wrote on last edited by
        #12

        Thats awesome, i'd been wondering how i can check the network interference.

        Cheers mate, i'll give this a go soon as i can!

        1 Reply Last reply
        0
        • mfalkviddM Offline
          mfalkviddM Offline
          mfalkvidd
          Mod
          wrote on last edited by
          #13

          The scan is a very nice idea. Would be cool to report the channels as MySensors-children so their noise levels could be graphed by a controller. I've added that to my list of project ideas :)

          1 Reply Last reply
          1
          • A Offline
            A Offline
            Adam McCartney
            wrote on last edited by
            #14

            So, i setup one of my Sensebender nodes with this Sketch to see what the interference was like. i think i understand why i've such bad signal now.

            My default channel is 76 (comes pre-set in MySensors). you can see the noise below.

            Starting Poor Man's Wireless 2.4GHz Scanner ...
            
            0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111
            0000000001111111111222222222233333333334444444444555555555566666666667777777777888888888899999999990000000000111111111122222222
            1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567
                     11121  21          1   11                   1         1  994 141 1     1                                             11
                                                              55      5 5   5  9 9            5                                             
            21 1131 1311111   31  132  1221                   1   242  233 16489461  22   121 2 1                                          1
            11    11 1111 12  121 1123112311        1112111111 11 113111111122991531 121    1  1                                           1
               9                       9                             9 9    9  9         9   99                                             
            252 75          2  97 25                            22 299 55     22  25  97  2 2                                               
            1     11   33   1 31        3                         31 1    1 13963331   1     1 1                                          1 
              1                       1   1                     1 1   1    122961 1        12  1                                            
                2422222         22222244444 22222244444422222 2224248666844 844646896464464 2                                               
               21     21          11     1 11                         11     189         1  11                                              
            3    33                  33                            333369393  963 63333     3  3                                            
            36663 3 3336663 36 6693 639636  36               33  363696  3 36 6699366 6693 333 3                                          33
             63 663   663 3 33 36 66633  33 33                   33 36 696  39966  33 36333393                                            3 
            3669333 36993 36966663 33  3336333                3333336669 33 669633996699333                                               33
            0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111
            0000000001111111111222222222233333333334444444444555555555566666666667777777777888888888899999999990000000000111111111122222222
            1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567
            2 22  5225 22 22        2525225                   22      2  52 9522 252255     25 22                                           
                                          9                     9                            99                                             
             9                                                 9 99  99           9  99 9   9 9                                             
              5                                                       5  5    99      55    555                                             
                                        5 5                     5 5555    9  5 9559  5 5 5  5  5                                            
            11 1                                        1    11 6131 673775 97667656333231  1                                               
              2                          2                    2248266 44842244896246498822  2222                                            
              2                           5                      2  7 7 52    792 2 222       2                                             
                                         2                     5  227972 5522599 22 72 5 52 2 25                                            
                                         5                     2222  72 7  25799522 2227    55                                              
                   1                    1            1      1111 21238475937618424562963 311 1 1                                            
                                                           1121414232554644747964475464542111 1                                             
            11                                               3243567345463548688667547996 211                                               
                                           1                  1   1  5211 111199 1   152      1                                             
            0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111
            0000000001111111111222222222233333333334444444444555555555566666666667777777777888888888899999999990000000000111111111122222222
            1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567
                                                                  3  311 1   195  13    11 11111                                            
                                         1                       1213213121 86987653 5511                                                   
              1                                                     1       96999            1                                              
                                         1                           1   2  98775             1                                             
            1                                                               1197              11                                            
                                                                           1119831           3                                              
                                                               11122582713453198452454521     11                                            
             1             11111     111                       11 111125324299975 4121321    1 1                                            
            1                                               111112475554556397984134564331 11  1                                            
                                        1                    1  11312215 2 3968881532513 1 1                                                
               1                                                 11 11     192985   2 11 1  2  2                                            
            1 1                                             1 2123312 4224329599324411211    2                                              
                                                              111 1231112215668912212  2211 1  1                                            
                                        1                          2233 475335991131 243     2                                              
            0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111
            0000000001111111111222222222233333333334444444444555555555566666666667777777777888888888899999999990000000000111111111122222222
            1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567
             2                             4                           9468 2622 44          4                                              
             11                         1                             2576255911525   1     1111                                            
            1 1                                                1  221 2733127898621352421   11                                              
                                        1                           1 469846648866646253    11                                              
               1              1                                   1 1149976962458674431                                                     
              1            1111                                       356388999535958633    1111                                            
               1                        1                       1  11144655976915847564       1                                             
            1                                                      1  546458592642545511                                                    
              55                                                     5   5                  995                                             
            11285           25223772     1                       1322395           33122751  111                                          22
            7 5792522 255272552  597555 55 2                  2  2   255772  75752277  2772 22 2                                          22
             22 25 97  55 25  52  5725552                      22 2772277595  97  2  522252222 2                                            
            

            i'm off to reload all my nodes onto a different channel!

            1 Reply Last reply
            0
            • M Offline
              M Offline
              moskovskiy82
              wrote on last edited by
              #15

              Any success after moving sensors to a different range. Facing the same problem

              1 Reply Last reply
              0
              • A Offline
                A Offline
                Adam McCartney
                wrote on last edited by
                #16

                No, I still need to get round to making a repeater that will sit between the Bedroom Node and the Gateway. Unfortunately i haven't found the time recently to do it.

                1 Reply Last reply
                0
                • GertSandersG Offline
                  GertSandersG Offline
                  GertSanders
                  Hardware Contributor
                  wrote on last edited by
                  #17

                  Did you try lowering the power level of the NRF24? It seems counter-intuitive to lower the power level to get better transmissions, but for short distances the NRF24 in the nodes does not need to be set to the MAX value (the default in the MeSensors library).
                  I use the HIGH setting mostly, and for 1 node very close to my gateway/controller I use LOW.

                  1 Reply Last reply
                  0
                  • A Offline
                    A Offline
                    Adam McCartney
                    wrote on last edited by
                    #18

                    RF24_PA_LEVEL is currently set to RF24_PA_MAX
                    and
                    RF24_PA_LEVEL_GW is currently set to RF24_PA_LOW

                    I've also noticed that i must have written over my config at some point cause the channel is back at 76 instead of 110 where my spectrum is clearer.

                    i'll rebuild all the nodes tonight and see what i can get after switching channels and setting the RF24)PA_LEVEL to LOW.

                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      moskovskiy82
                      wrote on last edited by
                      #19

                      Why the RF24_PA_LEVEL_GW by default is set to low?

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      7

                      Online

                      11.7k

                      Users

                      11.2k

                      Topics

                      113.0k

                      Posts


                      Copyright 2019 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                      • Login

                      • Don't have an account? Register

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