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 MQTT Gateway
  • Getting Started
  • Controller
  • Build
  • Hardware
  • Download/API
  • Forum
  • Store

💬 Building a MQTT Gateway

Scheduled Pinned Locked Moved Announcements
81 Posts 30 Posters 13.9k Views 28 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.
  • hekH Offline
    hekH Offline
    hek
    Admin
    wrote on last edited by hek
    #1

    This thread contains comments for the article "Building a MQTT Gateway" posted on MySensors.org.

    1 Reply Last reply
    0
    • N Offline
      N Offline
      Nicklas Starkel
      wrote on last edited by
      #2

      Quick question.
      I have built GatewayW5100MQTTClient according to mysensors.
      It works and relays my nodes.
      However, my old gateway with MqTT delivered the messages with my selected prefix and then node/child number + variable/sensor.
      Ex MyMQTT/1/1/S_TEMP
      Now the new gateway with MqTT delivers node and child and more like this:
      MyMQTT/1/1/x/x/x where X is some number.
      It does not display S_TEMP.
      And what are the extra "numbers"?

      And it also displays when the node starts up some MqTT messages that are empty ex:
      MyMQTT/1/255/3/0/1 with no information.
      I do not know what publishes these..

      For relevance, the sketches I upload are the ones in the new mysensors library, ex Atmospheric Pressure Sensor.

      1 Reply Last reply
      0
      • FotoFieberF Offline
        FotoFieberF Offline
        FotoFieber
        Hardware Contributor
        wrote on last edited by
        #3

        The new MQTT gateway exposes the serial api to MQTT. It has less functionality.

        The old client gateway was a controller and translated the protocol to more readable messages and had a node-id handling.

        I had the same problem and switched to node-red with a serial gateway.

        N 1 Reply Last reply
        0
        • hekH Offline
          hekH Offline
          hek
          Admin
          wrote on last edited by
          #4

          https://forum.mysensors.org/topic/2352/guide-setting-up-and-testing-mqtt-client-gateway

          1 Reply Last reply
          0
          • FotoFieberF FotoFieber

            The new MQTT gateway exposes the serial api to MQTT. It has less functionality.

            The old client gateway was a controller and translated the protocol to more readable messages and had a node-id handling.

            I had the same problem and switched to node-red with a serial gateway.

            N Offline
            N Offline
            Nicklas Starkel
            wrote on last edited by
            #5

            @FotoFieber

            How do you mean it is a problem? Everything works, just needed to know what the extra was :)
            I too use NODE RED, but just listening on MQTT and then putting the info into mysql databases.

            @hek
            Thank you! I have used search, but it is difficult when you do not know what you are searching for :) And all information about 2.0 is overwhelming at the time being for me.

            1 Reply Last reply
            0
            • hekH Offline
              hekH Offline
              hek
              Admin
              wrote on last edited by
              #6

              Thanks, good feedback @Nicklas-Starkel .

              I just updated the main MQTT page, moving some of the instructions from the forum.

              1 Reply Last reply
              0
              • Ernst79E Offline
                Ernst79E Offline
                Ernst79
                wrote on last edited by
                #7

                Seems that the W5100 sketch of the MQTT gateway is missing #include <SPI.h>.
                I had to add it before #include <Ethernet.h>.

                1 Reply Last reply
                0
                • siodS Offline
                  siodS Offline
                  siod
                  wrote on last edited by
                  #8

                  As Ernst79 already mentioned: please add #include <SPI.h> as a switch to your code, thank you!

                  still learning...

                  1 Reply Last reply
                  0
                  • hekH Offline
                    hekH Offline
                    hek
                    Admin
                    wrote on last edited by
                    #9

                    https://github.com/mysensors/MySensors/issues/601

                    1 Reply Last reply
                    0
                    • Martin TellblomM Offline
                      Martin TellblomM Offline
                      Martin Tellblom
                      wrote on last edited by
                      #10

                      Is it possible to have the MQTT client also act as a network gateway?

                      MySensors MQTT Client Gateway, Openhab, Dashing, Razberry, 1-wire

                      1 Reply Last reply
                      0
                      • hekH Offline
                        hekH Offline
                        hek
                        Admin
                        wrote on last edited by
                        #11

                        Nope, sorry. You have to have to introduce a broker or controller acting as MQTT server.

                        1 Reply Last reply
                        0
                        • Martin TellblomM Offline
                          Martin TellblomM Offline
                          Martin Tellblom
                          wrote on last edited by
                          #12

                          The old network gateway with mqtt seems to be removed and the client version is the one that id preferred. Is it possible to have both mqtt server and network gateway in that version?

                          MySensors MQTT Client Gateway, Openhab, Dashing, Razberry, 1-wire

                          1 Reply Last reply
                          0
                          • ? Offline
                            ? Offline
                            A Former User
                            wrote on last edited by
                            #13

                            Sorry for my ignorance but I would like to know how to connect the gateway to the sensor.
                            As I understand it, the radio communication is responsible for it, so can I put arduino + NRF24L01 + sensor at the other end?
                            Thank you!

                            1 Reply Last reply
                            0
                            • Martin TellblomM Offline
                              Martin TellblomM Offline
                              Martin Tellblom
                              wrote on last edited by Martin Tellblom
                              #14

                              @DIM said:

                              my ignorance but I would like to k

                              The gateway is a arduino with NRF24L01+ (or RFM69) and serial/network/RS485 component. The sensor is another arduino with NRF24L01+ (or RFM69) and the sensor that are attached. The gateway is then acting as a translator from the NRF24L01+ (or RFM69) radiosignal to the medium that can talk to your controller

                              MySensors MQTT Client Gateway, Openhab, Dashing, Razberry, 1-wire

                              1 Reply Last reply
                              1
                              • ? Offline
                                ? Offline
                                A Former User
                                wrote on last edited by
                                #15

                                I thought that the gateway could be done only with the ESP8266 module.
                                Thanks!

                                1 Reply Last reply
                                0
                                • CurlyWurlyC Offline
                                  CurlyWurlyC Offline
                                  CurlyWurly
                                  wrote on last edited by
                                  #16

                                  If you're using an ESP8266 and you find it "SOFT WDT resetting" whenever a node tries to send a message, try moving the wire from GPIO4 to GPIO5 - There are a few esp12E boards which have been incorrectly screen printed - worked for me with this board!
                                  https://twitter.com/bdcatalin/status/663434209265078272

                                  1 Reply Last reply
                                  0
                                  • N Offline
                                    N Offline
                                    Nicklas Starkel
                                    wrote on last edited by
                                    #17

                                    Regarding ACK flag in MQTT.
                                    If a sensor sends data to the gateway, and it requests an ACK.
                                    It is the gateway that responds with an ACK, not the controller.

                                    How do one utilize the ACK flag in MQTT?
                                    Or rather, how do one get the ACK to display in a MQTT message?

                                    void receive(const MyMessage &message) {
                                    int value = debouncer.read();
                                    //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");
                                     }
                                    }
                                    

                                    Should I write a codesnippet like the above but one that sends a message back to the gateway, that the ACK was received?
                                    And also, if an ACK was not received that the sensor should try to send the message again.

                                    1 Reply Last reply
                                    0
                                    • GrahamG Offline
                                      GrahamG Offline
                                      Graham
                                      wrote on last edited by Graham
                                      #18

                                      I have set up an MQTT gateway running on a Wemos D1, and a motion sensor running on an arduino nano.

                                      It seems to work successfully, but I had to define MY_NODE_ID in the sensor sketch because the negotiation for this is done by the controller. Presumably, I'm going to have to program my controller to respond to the mqtt message being sent to negiotiate the id, but I cannot find any documentation on the correct reply. Does someone have a link?

                                      The mqtt message being sent to negotiate the node id was

                                      mygateway1-out/255/255/3/0/3 (null)
                                      
                                      1 Reply Last reply
                                      0
                                      • proddyP Offline
                                        proddyP Offline
                                        proddy
                                        wrote on last edited by
                                        #19

                                        I believe the node id will always be 0 for gateways so the examples are a little misleading. For example the output shows connections with a node id of 2 (e.g. mygateway1-out/2/1/1/0/49 55.722519;13.018121;13)

                                        1 Reply Last reply
                                        0
                                        • mppM Offline
                                          mppM Offline
                                          mpp
                                          wrote on last edited by
                                          #20

                                          Can this be used with RabbitMQ as broker?

                                          MyController with USB powered WeMos D1/mini ESP8266 MQTT Gateways and battery powered Arduino Pro Mini using the RFM69 radio

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


                                          14

                                          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