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.
  • mfalkviddM Offline
    mfalkviddM Offline
    mfalkvidd
    Mod
    wrote on last edited by
    #7

    Yes it is. I interpreted "it" as the nrf chip, not the whole system. Sorry.

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

      ok, thanks for the advice. i was originally using it with power straight from the Raspberry PI USB, but now i'm wondering if i change from a Serial Gateway to a standalone ethernet gateway and attach the gateway to the Network in a more central postition in the house. Currently its beside my router which is the furthest you can get from the other side of the house.

      AWIA 1 Reply Last reply
      0
      • A Adam McCartney

        ok, thanks for the advice. i was originally using it with power straight from the Raspberry PI USB, but now i'm wondering if i change from a Serial Gateway to a standalone ethernet gateway and attach the gateway to the Network in a more central postition in the house. Currently its beside my router which is the furthest you can get from the other side of the house.

        AWIA Offline
        AWIA Offline
        AWI
        Hero Member
        wrote on last edited by
        #9

        @Adam-McCartney As the nrf24 operates on the same frequency as Wifi (2.4 gHz) your problem could also be related to interference with your (wifi?) router.

        1 Reply Last reply
        0
        • 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


                            15

                            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