💬 Building a MQTT Gateway
-
I rebuilt my serial gateway to a MQTT gateway. FWIW I had to connect 5V to my WizNET (W5100) Ethernet module (3.3V did not work) I couldn't make DHCP work so I used a fixed IP. Finally I had to replace the capacitor over the radio power feed from 4.7 uF capacitor to a 100 uF capacitor (That made a big difference!). Works great now.
-
It should have:
void presentation() {
sendSketchInfo("Gateway node", "1.0");
}In order to show the right topology in some tools, i.e. mycontroller.org
Thanks
-
Hi, is there any case for this gateway ? I wouldn't want all those wires to lay around in plain view..
-
That's a good question. :) I didn't realize that the arduino board is not specified (neither in this tutorial nor in the ethernet one).
However, I see that the ethernet gateway project (https://www.mysensors.org/build/ethernet_gateway) mentions that any arduino board would be fine. Since I'm only a beginner, I don't know what board would suffice for this kind of project. Could you recommend me the cheapest Arduino board that can do the job ? -
That's a good question. :) I didn't realize that the arduino board is not specified (neither in this tutorial nor in the ethernet one).
However, I see that the ethernet gateway project (https://www.mysensors.org/build/ethernet_gateway) mentions that any arduino board would be fine. Since I'm only a beginner, I don't know what board would suffice for this kind of project. Could you recommend me the cheapest Arduino board that can do the job ?@sionut if you have wifi, I would suggest esp8266 (wemos d1 mini if you want a specific board recommendation). It has built-in wifi so you don’t need an expansion board. Guide: https://www.mysensors.org/build/esp8266_gateway It can be run in mqtt mode if you prefer mqtt over plain tcp.
If you prefer ethernet, the Arduino Uno seems to be the one that matches the W5100 shield.
-
Great. I have wifi, so I will use the esp8266. I think I will continue with this board here as it's something I can find in a local store nearby.
I just need one more clarification though: in the ESP8266 gateway page I see the following paragraph:
Just connect the radio, install gateway software and you're good to go.
Now, considering that the board already has WIFI, why do I need the radio ?
-
Great. I have wifi, so I will use the esp8266. I think I will continue with this board here as it's something I can find in a local store nearby.
I just need one more clarification though: in the ESP8266 gateway page I see the following paragraph:
Just connect the radio, install gateway software and you're good to go.
Now, considering that the board already has WIFI, why do I need the radio ?
@sionut the "normal" use of a MySensors network is to have multiple nodes using a cheap radio (nrf24) and a low-power microcontroller (Arduino Pro Mini is much more power efficient than the esp8266).
The gateway connects the nodes (using nrf24) to your controller. Without a radio, the gateway can't talk to the nodes. See this page in the gatting started guide for a more complete explanation.
However, if you don't need battery-powered nodes you could get a bunch of esp8266 and configure them all as gateways without adding radios to them.
-
Is it feasible to have MySensors talking to an MQTT Broker like Mosquito (running on a rpi) via radio so using say a USB gateway AND also have WiFi modules talking to Mosquito and then having Mosquito talking to HomeAssistant? I see where this is doable via MySensors and radio links OR it can be done using WiFi modules but what if you want both?
-
Yes that is possible. Mysensors connects through the gateway to MQTT and the WiFi modules to mosquitto directly. You can use the mysensors protocol also over the WiFi modules I believe.
I'm not sure if it is possible with an usb gateway though, but for sure with a WiFi based gateway like ESP 32.
Once you are on mqtt you can connect to and from all devices/controllers that support it. -
Is it feasible to have MySensors talking to an MQTT Broker like Mosquito (running on a rpi) via radio so using say a USB gateway AND also have WiFi modules talking to Mosquito and then having Mosquito talking to HomeAssistant? I see where this is doable via MySensors and radio links OR it can be done using WiFi modules but what if you want both?
-
@alaskadiy I'd make a raspberry gateway with radio directly on the raspberry, much cleaner solution
-
Yes that is possible. Mysensors connects through the gateway to MQTT and the WiFi modules to mosquitto directly. You can use the mysensors protocol also over the WiFi modules I believe.
I'm not sure if it is possible with an usb gateway though, but for sure with a WiFi based gateway like ESP 32.
Once you are on mqtt you can connect to and from all devices/controllers that support it. -
@gohan With a radio directly on the rPi would mosquito talk to both the radio and WiFi? I assume it would, I would think mosquito would just be a service that the radio or WiFi sends/receives data to but have not seen anyone talk about it.
Thanks
-
Hi guys. I'm using an Arduino Uno+5100 based MQTT gateway. It works fine for it's gateway function but I'm not beeing able to send local sensor data. Is that possible?
-
Hi guys. I'm using an Arduino Uno+5100 based MQTT gateway. It works fine for it's gateway function but I'm not beeing able to send local sensor data. Is that possible?
-
@guillermo-schimmel it should be possible to call present() and send() just like on a regular node. Could you share your sketch and the debug output?
@mfalkvidd thanks. I just did that on a dedicated post. It's driving me crazy.
https://forum.mysensors.org/topic/10109/ethernet-mqtt-gateway-slow-to-connect
-
@mfalkvidd thanks. I just did that on a dedicated post. It's driving me crazy.
https://forum.mysensors.org/topic/10109/ethernet-mqtt-gateway-slow-to-connect
-
Hi, receiving an upvote on a relatively old topic of mine, did remember me that this information could help others searching to build a MQTT gateway with a RFM69 radio, a W5100 Ethernet shield and a simple Arduino UNO R3.
People starting with MySensors, normally read as first step, the documentation available.
Every open source project is structurally a bit different and sometimes it is difficult to know how to contribute to the project.
For example, the open source project HomeAssistant (a possible controller for MySensors) uses a standard git repository for its documentation where anyone can make a pull request with their contribution. The moderators then review each contribution and either accept it or not. You have the official documentation and the 'user guides' documentation.
@mfalkvidd, maybe a workflow to consider? It can help to keep the documentation up to date faster and assess contributions better and faster.
Most open source projects run on volunteers who spend their free time on these projects, so I'm happy to return some knowledge.In the meantime, I've learned here and realized that under every documentation page, there is a forum topic.
Unfortunately, documentation is usually not really up to date and the topic can be very long. Very hard to read for beginners. :-(That's why I created some forum topics with my first steps in the Mysensors world to overcome some outdated documentation. But of course these are hard to find among all the other topics and if you don't know anything about their existence, it's even harder.
And like everything, my topic is also already outdated, because, if I am correct, today a W5200 Ethernet shield is existing...(for your information, my mqtt gateway is still alive and kicking ;-) )