Skip to content
  • 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. Announcements
  3. 💬 Building a Raspberry Pi Gateway
  • Getting Started
  • Controller
  • Build
  • Hardware
  • Download/API
  • Forum
  • Store

💬 Building a Raspberry Pi Gateway

Scheduled Pinned Locked Moved Announcements
1.1k Posts 173 Posters 422.5k Views 131 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.
  • OliverDogO Offline
    OliverDogO Offline
    OliverDog
    wrote on last edited by
    #340

    thaks @marceloaqno but I was wondering there was a new type of gateway named Raspberry Gateway, were we could connect the radio directly on the GPIO and config it locally, without internet, because of that I also would like to know if MQTT uses internet connection.
    I actually use a serial gateway connected to Pi USG and it works without internet...
    I just want to have only one device...
    Thanks

    M 1 Reply Last reply
    0
    • OliverDogO OliverDog

      thaks @marceloaqno but I was wondering there was a new type of gateway named Raspberry Gateway, were we could connect the radio directly on the GPIO and config it locally, without internet, because of that I also would like to know if MQTT uses internet connection.
      I actually use a serial gateway connected to Pi USG and it works without internet...
      I just want to have only one device...
      Thanks

      M Offline
      M Offline
      marceloaqno
      Code Contributor
      wrote on last edited by
      #341

      @OliverDog You can configure the RPi to be any of the 3 types: ethernet, serial or mqtt, with the nrf24 attached to it.

      OliverDogO 1 Reply Last reply
      0
      • M marceloaqno

        @OliverDog You can configure the RPi to be any of the 3 types: ethernet, serial or mqtt, with the nrf24 attached to it.

        OliverDogO Offline
        OliverDogO Offline
        OliverDog
        wrote on last edited by
        #342

        @marceloaqno WOWWW
        now I understood... but I think this is not clear on the build steps...
        I choose a Serial Gateway, but on that lines, they say:
        "If for some reason you can't use the GPIO pins of the Raspberry Pi, you could connect the radio to a arduino with the GatewaySerial sketch and feed the pi through a serial port:"

        So I assumed the serial gateway is the same I already use...
        So, where do I get directions to config a serial gateway with the radio attached to the GPIO?

        Thanks

        M 1 Reply Last reply
        0
        • OliverDogO OliverDog

          @marceloaqno WOWWW
          now I understood... but I think this is not clear on the build steps...
          I choose a Serial Gateway, but on that lines, they say:
          "If for some reason you can't use the GPIO pins of the Raspberry Pi, you could connect the radio to a arduino with the GatewaySerial sketch and feed the pi through a serial port:"

          So I assumed the serial gateway is the same I already use...
          So, where do I get directions to config a serial gateway with the radio attached to the GPIO?

          Thanks

          M Offline
          M Offline
          marceloaqno
          Code Contributor
          wrote on last edited by
          #343

          @OliverDog Which controller are you using(or are planning to use)?

          OliverDogO 1 Reply Last reply
          0
          • Erik TammingaE Erik Tamminga

            Hi,
            Can I use pin 18 (GPIO 24) on my RPi3 for IRQ usage? Should I?
            If I compile with --my-rf24-irq-pin=18, no date is received when the gateway starts.
            I Cannot use pin 15 because that pin is covered by my Z-wave.me board.
            Regards,
            Erik

            M Offline
            M Offline
            marceloaqno
            Code Contributor
            wrote on last edited by
            #344

            @Erik-Tamminga Some pins may have some restrictions, I couldn't find any good info about that. Try using another pin (GPIO 25).

            1 Reply Last reply
            0
            • M marceloaqno

              @OliverDog Which controller are you using(or are planning to use)?

              OliverDogO Offline
              OliverDogO Offline
              OliverDog
              wrote on last edited by
              #345

              @marceloaqno I already use Home Assistant with a Serial Gateway connected on pi USB.

              M 1 Reply Last reply
              0
              • OliverDogO OliverDog

                @marceloaqno I already use Home Assistant with a Serial Gateway connected on pi USB.

                M Offline
                M Offline
                marceloaqno
                Code Contributor
                wrote on last edited by
                #346

                @OliverDog Home Assistant supports ethernet gateways, I recommend you go with that.

                ./configure --my-gateway=ethernet --my-transport=nrf24
                

                (The default settings is to use ethernet and nrf24, so you could omit them)

                and add to it any of your custom options.

                1 Reply Last reply
                0
                • MadhiasM Offline
                  MadhiasM Offline
                  Madhias
                  wrote on last edited by Madhias
                  #347

                  I have a question regarding the --my-serial-groupname option: since I start the gateway under an user account with sudo, the gateway device ([EDIT] symlink) will be created with ownership root:root. Shouldn't it be created with root:dialout (as I chose dialout as group in my case)?

                  [DELETED]

                  M 1 Reply Last reply
                  1
                  • MadhiasM Madhias

                    I have a question regarding the --my-serial-groupname option: since I start the gateway under an user account with sudo, the gateway device ([EDIT] symlink) will be created with ownership root:root. Shouldn't it be created with root:dialout (as I chose dialout as group in my case)?

                    [DELETED]

                    M Offline
                    M Offline
                    marceloaqno
                    Code Contributor
                    wrote on last edited by
                    #348

                    @Madhias /dev/pts/2 it's the one who holds the specified group ownership

                    MadhiasM 1 Reply Last reply
                    1
                    • M marceloaqno

                      @Madhias /dev/pts/2 it's the one who holds the specified group ownership

                      MadhiasM Offline
                      MadhiasM Offline
                      Madhias
                      wrote on last edited by
                      #349

                      @marceloaqno OK, many thanks for that hint!

                      I was wrong from the beginning on, since I thought my configuration for the gateway was correct because of --my-serial-groupname=dialout - but that was not compiled. I edited now the mysgw.cpp manually (there was tty instead of dialout; and of course there was all the time the warning when compiling...). Now it works! Without chmod, or chowning anything later!

                      1 Reply Last reply
                      0
                      • M Offline
                        M Offline
                        macvictor
                        wrote on last edited by
                        #350

                        @marceloaqno Thank's for you help. I have other question.. general I try configure my gateway to work with security & signing, but they doesn't work. Where is problem? On the bottom i send point what it do it:

                        Gateway:

                        1. ./configure --my-gateway=mqtt --my-controller-ip-address=127.0.0.1 --my-mqtt-publish-topic-prefix=mysensors-out --my-mqtt-subscribe-topic-prefix=mysensors-in --my-mqtt-client-id=mygateway1 --my-mqtt-password=PASS --my-mqtt-user=USER --my-rf24-encryption-enabled --my-signing=software --my-signing-request-signatures --my-signing-request-gw-signatures-from-all
                        2. make
                        3. sudo make install
                        4. sudo systemctl enable mysgw.service
                        5. sudo systemctl start mysgw.service
                        6. sudo mysgw --gen-soft-hmac-key
                        7. sudo mysgw --set-soft-hmac-key=02417628BC1573CC380...
                        8. sudo mysgw --gen-soft-serial-key
                        9. sudo mysgw --set-soft-serial-key=00762CD152B868F7EB
                        10. sudo mysgw --gen-aes-key
                        11. sudo mysgw --set-aes-key= A790AD78B2D8B4DBBB5B2C4B9DD6DAF3

                        Node:

                        1. Load script SecurityPersonalizer.ino
                        2. Uncomment and send sketch to arduino
                        #define USE_SOFT_SIGNING
                        #define STORE_SOFT_KEY
                        #define USER_SOFT_KEY
                        #define STORE_SOFT_SERIAL
                        #define STORE_AES_KEY
                        #define USER_AES_KEY
                        
                        #define MY_SOFT_HMAC_KEY 0X2,0X41,0X76,0X28,0XBC,0X15,0X73,0XCC,0X38...
                        #define MY_AES_KEY 0XA7,0X90,0XAD,0X78,0XB2,0XD8...
                        
                        1. Read all value from EPROM (test save):
                        Personalization sketch for MySensors usage.
                        -------------------------------------------
                        EEPROM configuration:
                        SOFT_HMAC_KEY | 02417628BC1573CC380DE0FADF7C87D7D3C77272A783E6E438786A07C3A8C6CF
                        SOFT_SERIAL   | 39BB1370C289643251
                        AES_KEY       | A790AD78B2D8B4DBBB5B2C4B9DD6DAF3
                        --------------------------------
                        Personalization is now complete.
                        
                        1. Send sample sketch to arduino:
                        //!< Enable debug prints to serial monitor
                        #define MY_DEBUG
                        //!< Enable signing related debug prints to serial monitor
                        #define MY_DEBUG_VERBOSE_SIGNING
                        // Enable NRF24L01 radio type
                        #define MY_RADIO_NRF24
                        
                        // Select soft signing
                        #define MY_SIGNING_SOFT
                        
                        // Enable lockdown of node if suspicious activity is detected
                        //-->> #define MY_NODE_LOCK_FEATURE
                        
                        // Enable node whitelisting
                        //#define MY_SIGNING_NODE_WHITELISTING {{.nodeId = GATEWAY_ADDRESS,.serial = {0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01}}}
                        
                        // Enable this if you want destination node to sign all messages sent to this node.
                        #define MY_SIGNING_REQUEST_SIGNATURES
                        
                        // SETTINGS FOR MY_SIGNING_SOFT
                        #define MY_SIGNING_SOFT_RANDOMSEED_PIN 7 //!< Unconnected analog pin for random seed
                        
                        // Add repeater function to this sensor
                        #define MY_REPEATER_FEATURE
                        
                        
                        #include <SPI.h>
                        #include <MySensors.h>
                        #include <Bounce2.h>
                        
                        #define RELAY_PIN  4    // Arduino Digital I/O pin number for relay 
                        #define BUTTON_PIN  3   // Arduino Digital I/O pin number for button 
                        #define CHILD_ID 1      // Id of the sensor child
                        #define RELAY_ON 1
                        #define RELAY_OFF 0
                        
                        Bounce debouncer = Bounce();
                        int oldValue = 0;
                        bool state;
                        
                        MyMessage msg(CHILD_ID, V_LIGHT);
                        
                        void setup()
                        {
                          // Setup the button
                          pinMode(BUTTON_PIN, INPUT);
                          // Activate internal pull-up
                          digitalWrite(BUTTON_PIN, HIGH);
                        
                          // After setting up the button, setup debouncer
                          debouncer.attach(BUTTON_PIN);
                          debouncer.interval(5);
                        
                          // Make sure relays are off when starting up
                          digitalWrite(RELAY_PIN, RELAY_OFF);
                          // Then set relay pins in output mode
                          pinMode(RELAY_PIN, OUTPUT);
                        
                          // Set relay to last known state (using eeprom storage)
                          state = loadState(CHILD_ID);
                          digitalWrite(RELAY_PIN, state ? RELAY_ON : RELAY_OFF);
                        }
                        
                        void presentation()  {
                          // Send the sketch version information to the gateway and Controller
                          sendSketchInfo("Relay & Button", "1.0");
                          
                          // Register all sensors to gw (they will be created as child devices)
                          present(CHILD_ID, S_LIGHT, "Switch Secure Sensor", false);
                        }
                        
                        /*
                           Example on how to asynchronously check for new messages from gw
                        */
                        void loop()
                        {
                          debouncer.update();
                          // Get the update value
                          int value = debouncer.read();
                        //  if (value != oldValue && value == 0) {
                            send(msg.set(state ? false : true), true); // Send new state and request ack back
                        //  }
                        //  oldValue = value;
                          delay(5000);
                        }
                        
                        void receive(const MyMessage &message) {
                          // We only expect one type of message from controller. But we better check anyway.
                          if (message.isAck()) {
                            Serial.println("This is an ack from gateway");
                          }
                        
                          if (message.type == V_LIGHT) {
                            // Change relay state
                            state = message.getBool();
                            digitalWrite(RELAY_PIN, state ? RELAY_ON : RELAY_OFF);
                            // Store state in eeprom
                            // saveState(CHILD_ID, state);
                        
                            // Write some debug info
                            Serial.print("Incoming change for sensor:");
                            Serial.print(message.sensor);
                            Serial.print(", New status: ");
                            Serial.println(message.getBool());
                          }
                        }
                        

                        And finally in Arduino Serial Monitor I see:

                        0 MCO:BGN:INIT REPEATER,CP=RNNRAS-,VER=2.1.1
                        4 TSM:INIT
                        5 TSF:WUR:MS=0
                        11 TSM:INIT:TSP OK
                        13 TSF:SID:OK,ID=105
                        15 TSM:FPAR
                        16 Will not sign message for destination 255 as it does not require it
                        58 TSF:MSG:SEND,105-105-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
                        2065 !TSM:FPAR:NO REPLY
                        2067 TSM:FPAR
                        2068 Will not sign message for destination 255 as it does not require it
                        2110 TSF:MSG:SEND,105-105-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
                        4117 !TSM:FPAR:NO REPLY
                        4119 TSM:FPAR
                        4120 Will not sign message for destination 255 as it does not require it
                        4162 TSF:MSG:SEND,105-105-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
                        6169 !TSM:FPAR:NO REPLY
                        6171 TSM:FPAR
                        6172 Will not sign message for destination 255 as it does not require it
                        6214 TSF:MSG:SEND,105-105-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
                        8221 !TSM:FPAR:FAIL
                        8222 TSM:FAIL:CNT=1
                        8224 TSM:FAIL:PDT
                        

                        and in gateway i see:

                        sudo mysgw -d
                        mysgw: Starting gateway...
                        mysgw: Protocol version - 2.1.1
                        mysgw: MCO:BGN:INIT GW,CP=RNNG-S-,VER=2.1.1
                        mysgw: TSF:LRT:OK
                        mysgw: TSM:INIT
                        mysgw: TSF:WUR:MS=0
                        mysgw: TSM:INIT:TSP OK
                        mysgw: TSM:INIT:GW MODE
                        mysgw: TSM:READY:ID=0,PAR=0,DIS=0
                        mysgw: MCO:REG:NOT NEEDED
                        mysgw: MCO:BGN:STP
                        mysgw: MCO:BGN:INIT OK,TSP=1
                        mysgw: Attempting MQTT connection...
                        mysgw: connected to 127.0.0.1
                        mysgw: MQTT connected
                        mysgw: Sending message on topic: mysensors-out/0/255/0/0/18
                        mysgw: TSF:MSG:READ,171-107-54,s=221,c=2,t=131,pt=4,l=25,sg=0:-1418183441
                        mysgw: !TSF:MSG:PVER,3=2
                        mysgw: TSF:MSG:READ,135-23-172,s=20,c=3,t=200,pt=7,l=25,sg=0:-0.00000178
                        mysgw: !TSF:MSG:PVER,1=2
                        mysgw: TSF:MSG:READ,34-66-89,s=168,c=1,t=9,pt=1,l=25,sg=0:56
                        mysgw: !TSF:MSG:PVER,1=2
                        mysgw: TSF:MSG:READ,223-46-240,s=112,c=5,t=192,pt=5,l=11,sg=1:1407647670
                        mysgw: TSF:MSG:REL MSG
                        mysgw: !TSF:RTE:240 UNKNOWN
                        mysgw: !TSF:MSG:SEND,223-0-240-240,s=112,c=5,t=192,pt=5,l=11,sg=1,ft=0,st=NACK:1407647670
                        mysgw: TSF:MSG:READ,183-139-129,s=37,c=6,t=155,pt=1,l=21,sg=0:48
                        mysgw: !TSF:MSG:PVER,0=2
                        mysgw: TSF:MSG:READ,139-214-233,s=61,c=3,t=193,pt=7,l=0,sg=1:0.00000000
                        mysgw: TSF:MSG:REL MSG
                        mysgw: !TSF:RTE:233 UNKNOWN
                        mysgw: !TSF:MSG:SEND,139-0-233-233,s=61,c=3,t=193,pt=7,l=0,sg=1,ft=0,st=NACK:0.00000000
                        mysgw: TSF:MSG:READ,83-33-7,s=179,c=2,t=27,pt=4,l=25,sg=1:-2057270722
                        mysgw: !TSF:MSG:PVER,3=2
                        mysgw: TSF:MSG:READ,110-148-67,s=113,c=0,t=158,pt=1,l=9,sg=1:251
                        mysgw: !TSF:MSG:PVER,1=2
                        mysgw: TSF:MSG:READ,75-209-102,s=204,c=7,t=25,pt=1,l=11,sg=1:52
                        mysgw: !TSF:MSG:PVER,0=2
                        mysgw: TSF:MSG:READ,184-209-235,s=58,c=1,t=140,pt=6,l=23,sg=1:1DC404A5401119FACF0000000000000000000000000000
                        mysgw: !TSF:MSG:PVER,3=2
                        mysgw: TSF:MSG:READ,172-203-51,s=140,c=2,t=173,pt=0,l=1,sg=1:?
                        mysgw: TSF:MSG:REL MSG
                        mysgw: !TSF:RTE:51 UNKNOWN
                        mysgw: !TSF:MSG:SEND,172-0-51-51,s=140,c=2,t=173,pt=0,l=1,sg=1,ft=0,st=NACK:?
                        

                        Where is problem?

                        M pepsonP rajeev2301R 5 Replies Last reply
                        0
                        • M macvictor

                          @marceloaqno Thank's for you help. I have other question.. general I try configure my gateway to work with security & signing, but they doesn't work. Where is problem? On the bottom i send point what it do it:

                          Gateway:

                          1. ./configure --my-gateway=mqtt --my-controller-ip-address=127.0.0.1 --my-mqtt-publish-topic-prefix=mysensors-out --my-mqtt-subscribe-topic-prefix=mysensors-in --my-mqtt-client-id=mygateway1 --my-mqtt-password=PASS --my-mqtt-user=USER --my-rf24-encryption-enabled --my-signing=software --my-signing-request-signatures --my-signing-request-gw-signatures-from-all
                          2. make
                          3. sudo make install
                          4. sudo systemctl enable mysgw.service
                          5. sudo systemctl start mysgw.service
                          6. sudo mysgw --gen-soft-hmac-key
                          7. sudo mysgw --set-soft-hmac-key=02417628BC1573CC380...
                          8. sudo mysgw --gen-soft-serial-key
                          9. sudo mysgw --set-soft-serial-key=00762CD152B868F7EB
                          10. sudo mysgw --gen-aes-key
                          11. sudo mysgw --set-aes-key= A790AD78B2D8B4DBBB5B2C4B9DD6DAF3

                          Node:

                          1. Load script SecurityPersonalizer.ino
                          2. Uncomment and send sketch to arduino
                          #define USE_SOFT_SIGNING
                          #define STORE_SOFT_KEY
                          #define USER_SOFT_KEY
                          #define STORE_SOFT_SERIAL
                          #define STORE_AES_KEY
                          #define USER_AES_KEY
                          
                          #define MY_SOFT_HMAC_KEY 0X2,0X41,0X76,0X28,0XBC,0X15,0X73,0XCC,0X38...
                          #define MY_AES_KEY 0XA7,0X90,0XAD,0X78,0XB2,0XD8...
                          
                          1. Read all value from EPROM (test save):
                          Personalization sketch for MySensors usage.
                          -------------------------------------------
                          EEPROM configuration:
                          SOFT_HMAC_KEY | 02417628BC1573CC380DE0FADF7C87D7D3C77272A783E6E438786A07C3A8C6CF
                          SOFT_SERIAL   | 39BB1370C289643251
                          AES_KEY       | A790AD78B2D8B4DBBB5B2C4B9DD6DAF3
                          --------------------------------
                          Personalization is now complete.
                          
                          1. Send sample sketch to arduino:
                          //!< Enable debug prints to serial monitor
                          #define MY_DEBUG
                          //!< Enable signing related debug prints to serial monitor
                          #define MY_DEBUG_VERBOSE_SIGNING
                          // Enable NRF24L01 radio type
                          #define MY_RADIO_NRF24
                          
                          // Select soft signing
                          #define MY_SIGNING_SOFT
                          
                          // Enable lockdown of node if suspicious activity is detected
                          //-->> #define MY_NODE_LOCK_FEATURE
                          
                          // Enable node whitelisting
                          //#define MY_SIGNING_NODE_WHITELISTING {{.nodeId = GATEWAY_ADDRESS,.serial = {0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01}}}
                          
                          // Enable this if you want destination node to sign all messages sent to this node.
                          #define MY_SIGNING_REQUEST_SIGNATURES
                          
                          // SETTINGS FOR MY_SIGNING_SOFT
                          #define MY_SIGNING_SOFT_RANDOMSEED_PIN 7 //!< Unconnected analog pin for random seed
                          
                          // Add repeater function to this sensor
                          #define MY_REPEATER_FEATURE
                          
                          
                          #include <SPI.h>
                          #include <MySensors.h>
                          #include <Bounce2.h>
                          
                          #define RELAY_PIN  4    // Arduino Digital I/O pin number for relay 
                          #define BUTTON_PIN  3   // Arduino Digital I/O pin number for button 
                          #define CHILD_ID 1      // Id of the sensor child
                          #define RELAY_ON 1
                          #define RELAY_OFF 0
                          
                          Bounce debouncer = Bounce();
                          int oldValue = 0;
                          bool state;
                          
                          MyMessage msg(CHILD_ID, V_LIGHT);
                          
                          void setup()
                          {
                            // Setup the button
                            pinMode(BUTTON_PIN, INPUT);
                            // Activate internal pull-up
                            digitalWrite(BUTTON_PIN, HIGH);
                          
                            // After setting up the button, setup debouncer
                            debouncer.attach(BUTTON_PIN);
                            debouncer.interval(5);
                          
                            // Make sure relays are off when starting up
                            digitalWrite(RELAY_PIN, RELAY_OFF);
                            // Then set relay pins in output mode
                            pinMode(RELAY_PIN, OUTPUT);
                          
                            // Set relay to last known state (using eeprom storage)
                            state = loadState(CHILD_ID);
                            digitalWrite(RELAY_PIN, state ? RELAY_ON : RELAY_OFF);
                          }
                          
                          void presentation()  {
                            // Send the sketch version information to the gateway and Controller
                            sendSketchInfo("Relay & Button", "1.0");
                            
                            // Register all sensors to gw (they will be created as child devices)
                            present(CHILD_ID, S_LIGHT, "Switch Secure Sensor", false);
                          }
                          
                          /*
                             Example on how to asynchronously check for new messages from gw
                          */
                          void loop()
                          {
                            debouncer.update();
                            // Get the update value
                            int value = debouncer.read();
                          //  if (value != oldValue && value == 0) {
                              send(msg.set(state ? false : true), true); // Send new state and request ack back
                          //  }
                          //  oldValue = value;
                            delay(5000);
                          }
                          
                          void receive(const MyMessage &message) {
                            // We only expect one type of message from controller. But we better check anyway.
                            if (message.isAck()) {
                              Serial.println("This is an ack from gateway");
                            }
                          
                            if (message.type == V_LIGHT) {
                              // Change relay state
                              state = message.getBool();
                              digitalWrite(RELAY_PIN, state ? RELAY_ON : RELAY_OFF);
                              // Store state in eeprom
                              // saveState(CHILD_ID, state);
                          
                              // Write some debug info
                              Serial.print("Incoming change for sensor:");
                              Serial.print(message.sensor);
                              Serial.print(", New status: ");
                              Serial.println(message.getBool());
                            }
                          }
                          

                          And finally in Arduino Serial Monitor I see:

                          0 MCO:BGN:INIT REPEATER,CP=RNNRAS-,VER=2.1.1
                          4 TSM:INIT
                          5 TSF:WUR:MS=0
                          11 TSM:INIT:TSP OK
                          13 TSF:SID:OK,ID=105
                          15 TSM:FPAR
                          16 Will not sign message for destination 255 as it does not require it
                          58 TSF:MSG:SEND,105-105-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
                          2065 !TSM:FPAR:NO REPLY
                          2067 TSM:FPAR
                          2068 Will not sign message for destination 255 as it does not require it
                          2110 TSF:MSG:SEND,105-105-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
                          4117 !TSM:FPAR:NO REPLY
                          4119 TSM:FPAR
                          4120 Will not sign message for destination 255 as it does not require it
                          4162 TSF:MSG:SEND,105-105-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
                          6169 !TSM:FPAR:NO REPLY
                          6171 TSM:FPAR
                          6172 Will not sign message for destination 255 as it does not require it
                          6214 TSF:MSG:SEND,105-105-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
                          8221 !TSM:FPAR:FAIL
                          8222 TSM:FAIL:CNT=1
                          8224 TSM:FAIL:PDT
                          

                          and in gateway i see:

                          sudo mysgw -d
                          mysgw: Starting gateway...
                          mysgw: Protocol version - 2.1.1
                          mysgw: MCO:BGN:INIT GW,CP=RNNG-S-,VER=2.1.1
                          mysgw: TSF:LRT:OK
                          mysgw: TSM:INIT
                          mysgw: TSF:WUR:MS=0
                          mysgw: TSM:INIT:TSP OK
                          mysgw: TSM:INIT:GW MODE
                          mysgw: TSM:READY:ID=0,PAR=0,DIS=0
                          mysgw: MCO:REG:NOT NEEDED
                          mysgw: MCO:BGN:STP
                          mysgw: MCO:BGN:INIT OK,TSP=1
                          mysgw: Attempting MQTT connection...
                          mysgw: connected to 127.0.0.1
                          mysgw: MQTT connected
                          mysgw: Sending message on topic: mysensors-out/0/255/0/0/18
                          mysgw: TSF:MSG:READ,171-107-54,s=221,c=2,t=131,pt=4,l=25,sg=0:-1418183441
                          mysgw: !TSF:MSG:PVER,3=2
                          mysgw: TSF:MSG:READ,135-23-172,s=20,c=3,t=200,pt=7,l=25,sg=0:-0.00000178
                          mysgw: !TSF:MSG:PVER,1=2
                          mysgw: TSF:MSG:READ,34-66-89,s=168,c=1,t=9,pt=1,l=25,sg=0:56
                          mysgw: !TSF:MSG:PVER,1=2
                          mysgw: TSF:MSG:READ,223-46-240,s=112,c=5,t=192,pt=5,l=11,sg=1:1407647670
                          mysgw: TSF:MSG:REL MSG
                          mysgw: !TSF:RTE:240 UNKNOWN
                          mysgw: !TSF:MSG:SEND,223-0-240-240,s=112,c=5,t=192,pt=5,l=11,sg=1,ft=0,st=NACK:1407647670
                          mysgw: TSF:MSG:READ,183-139-129,s=37,c=6,t=155,pt=1,l=21,sg=0:48
                          mysgw: !TSF:MSG:PVER,0=2
                          mysgw: TSF:MSG:READ,139-214-233,s=61,c=3,t=193,pt=7,l=0,sg=1:0.00000000
                          mysgw: TSF:MSG:REL MSG
                          mysgw: !TSF:RTE:233 UNKNOWN
                          mysgw: !TSF:MSG:SEND,139-0-233-233,s=61,c=3,t=193,pt=7,l=0,sg=1,ft=0,st=NACK:0.00000000
                          mysgw: TSF:MSG:READ,83-33-7,s=179,c=2,t=27,pt=4,l=25,sg=1:-2057270722
                          mysgw: !TSF:MSG:PVER,3=2
                          mysgw: TSF:MSG:READ,110-148-67,s=113,c=0,t=158,pt=1,l=9,sg=1:251
                          mysgw: !TSF:MSG:PVER,1=2
                          mysgw: TSF:MSG:READ,75-209-102,s=204,c=7,t=25,pt=1,l=11,sg=1:52
                          mysgw: !TSF:MSG:PVER,0=2
                          mysgw: TSF:MSG:READ,184-209-235,s=58,c=1,t=140,pt=6,l=23,sg=1:1DC404A5401119FACF0000000000000000000000000000
                          mysgw: !TSF:MSG:PVER,3=2
                          mysgw: TSF:MSG:READ,172-203-51,s=140,c=2,t=173,pt=0,l=1,sg=1:?
                          mysgw: TSF:MSG:REL MSG
                          mysgw: !TSF:RTE:51 UNKNOWN
                          mysgw: !TSF:MSG:SEND,172-0-51-51,s=140,c=2,t=173,pt=0,l=1,sg=1,ft=0,st=NACK:?
                          

                          Where is problem?

                          M Offline
                          M Offline
                          marceloaqno
                          Code Contributor
                          wrote on last edited by
                          #351

                          @macvictor Did you also enable encryption on your node? (#define MY_RF24_ENABLE_ENCRYPTION)

                          1 Reply Last reply
                          1
                          • M Offline
                            M Offline
                            macvictor
                            wrote on last edited by
                            #352

                            @marceloaqno Thanks for help :+1: This was my problem 😀

                            1 Reply Last reply
                            1
                            • gohanG Offline
                              gohanG Offline
                              gohan
                              Mod
                              wrote on last edited by
                              #353

                              how do I set user and password to access the mqtt broker? I tried do add --my-mqtt-password=PASS --my-mqtt-user=USER other parameters but they get ignored

                              M 1 Reply Last reply
                              0
                              • gohanG gohan

                                how do I set user and password to access the mqtt broker? I tried do add --my-mqtt-password=PASS --my-mqtt-user=USER other parameters but they get ignored

                                M Offline
                                M Offline
                                macvictor
                                wrote on last edited by
                                #354

                                @gohan edit configure file and add this code:

                                --my-mqtt-user=*)
                                    CPPFLAGS="-DMY_MQTT_USER=\\\"${optarg}\\\" $CPPFLAGS"
                                    ;;
                                --my-mqtt-password=*)
                                    CPPFLAGS="-DMY_MQTT_PASSWORD=\\\"${optarg}\\\" $CPPFLAGS"
                                    ;;
                                

                                after this code:

                                --my-signing-request-gw-signatures-from-all*)
                                        signing_request_signatures=true
                                        CPPFLAGS="-DMY_SIGNING_GW_REQUEST_SIGNATURES_FROM_ALL $CPPFLAGS"
                                        ;;
                                

                                this is about 408 number line and use flag --my-mqtt-password and --my-mqtt-client-id when you run configure, thats all. =)

                                blaceyB gohanG 2 Replies Last reply
                                2
                                • M macvictor

                                  @gohan edit configure file and add this code:

                                  --my-mqtt-user=*)
                                      CPPFLAGS="-DMY_MQTT_USER=\\\"${optarg}\\\" $CPPFLAGS"
                                      ;;
                                  --my-mqtt-password=*)
                                      CPPFLAGS="-DMY_MQTT_PASSWORD=\\\"${optarg}\\\" $CPPFLAGS"
                                      ;;
                                  

                                  after this code:

                                  --my-signing-request-gw-signatures-from-all*)
                                          signing_request_signatures=true
                                          CPPFLAGS="-DMY_SIGNING_GW_REQUEST_SIGNATURES_FROM_ALL $CPPFLAGS"
                                          ;;
                                  

                                  this is about 408 number line and use flag --my-mqtt-password and --my-mqtt-client-id when you run configure, thats all. =)

                                  blaceyB Offline
                                  blaceyB Offline
                                  blacey
                                  Admin
                                  wrote on last edited by blacey
                                  #355

                                  @macvictor It would be great if you would submit this as a GitHub Pull Request. If you aren't comfortable with that, then I would encourage you to at least open a MySensors issue to add these RPI configuration options.

                                  1 Reply Last reply
                                  1
                                  • TeknorT Offline
                                    TeknorT Offline
                                    Teknor
                                    wrote on last edited by Teknor
                                    #356

                                    When using RPI as a GW for MySensors, the CPU load increases from 18% to around 80 %. I am using a RPI II model B. I'd love the have the GW running on the Raspberry, and avoid a USB connected Arduino.

                                    Does somebody else experience the same?

                                    M carlylerC 2 Replies Last reply
                                    0
                                    • TeknorT Teknor

                                      When using RPI as a GW for MySensors, the CPU load increases from 18% to around 80 %. I am using a RPI II model B. I'd love the have the GW running on the Raspberry, and avoid a USB connected Arduino.

                                      Does somebody else experience the same?

                                      M Offline
                                      M Offline
                                      macvictor
                                      wrote on last edited by
                                      #357

                                      @Teknor I use RPI III as GW and all node connect with gw used nRF24L01. My CPU now usage 5-10%, but I installed "Home Assistance" + homebridge + some plugins.

                                      TeknorT 1 Reply Last reply
                                      1
                                      • M macvictor

                                        @Teknor I use RPI III as GW and all node connect with gw used nRF24L01. My CPU now usage 5-10%, but I installed "Home Assistance" + homebridge + some plugins.

                                        TeknorT Offline
                                        TeknorT Offline
                                        Teknor
                                        wrote on last edited by Teknor
                                        #358

                                        @macvictor Thanks. My RPI 2 is running Domoticz, RFXcom GW and 2x 3MP cameras with motion detection using Motioneye. Might be something wrong with my MySensors GW setup...

                                        1 Reply Last reply
                                        0
                                        • TeknorT Teknor

                                          When using RPI as a GW for MySensors, the CPU load increases from 18% to around 80 %. I am using a RPI II model B. I'd love the have the GW running on the Raspberry, and avoid a USB connected Arduino.

                                          Does somebody else experience the same?

                                          carlylerC Offline
                                          carlylerC Offline
                                          carlyler
                                          wrote on last edited by
                                          #359

                                          @Teknor I tend to agree something is wrong, but I think it really on depends how many nodes and how often you're sending data.
                                          rpi3 + GPIO nrf24l01 + openhab2 + 8 nodes + packet received, on average 1 / 5s :

                                          top - 06:29:37 up 2 days, 22:33,  2 users,  load average: 0.26, 0.24, 0.19
                                          KiB Mem:    947732 total,   903420 used,    44312 free,   175364 buffers
                                          KiB Swap:   102396 total,     4496 used,    97900 free.   391360 cached Mem
                                          
                                            PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                               
                                            681 root      20   0  208840  56532  23684 S   8.9  6.0 214:23.60 Xorg                                                                  
                                            527 root      20   0   39448  21532  11264 S   4.3  2.3  69:34.28 vncserver-x11-c                                                       
                                           1154 pi        20   0   50548  17628  12196 S   3.0  1.9  64:05.96 lxterminal                                                            
                                          30426 openhab   20   0  441764 197592  14960 S   1.6 20.8 284:18.70 java                                                                  
                                           2467 root      20   0   20024   2456   2300 S   1.3  0.3  62:55.17 mysgw                                                                 
                                          25634 root      20   0       0      0      0 S   1.0  0.0   0:00.21 kworker/u8:0                                                          
                                            688 root      20   0   13720   9432   8828 S   0.7  1.0   2:04.96 vncagent                                                              
                                          25855 pi        20   0    5232   2584   2140 R   0.7  0.3   0:00.49 top                                                                   
                                              7 root      20   0       0      0      0 S   0.3  0.0   9:15.35 rcu_sched                                                             
                                             78 root     -51   0       0      0      0 S   0.3  0.0   5:16.50 irq/92-mmc1                                                           
                                            967 pi        20   0   95656  17716  12028 S   0.3  1.9   6:41.87 lxpanel                                                               
                                              1 root      20   0   24620   4688   2716 S   0.0  0.5   0:13.08 systemd                                                               
                                              2 root      20   0       0      0      0 S   0.0  0.0   0:00.27 kthreadd                                                              
                                          
                                          1 Reply Last reply
                                          1
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          11

                                          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
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular