This is the new version of my old website. You can find the old website here: old.dl2sba.com. If you miss any information or you find bugs, please let me know by E-Mail

In this post, I've showed, how to setup Mosquitto on an Windows 8 machine. Now let me describe, howto connect an Arduino via Ethernet to the running Mosquitto MQTT broker.

My hardware configuration is really simple. An Arduino-Mega with an Arduino-Ethernet-Shield.

  • Download this sketch
  • Adopt your IP-adress to your local mosquitto server.

#define MQTT_SERVER_NAME "192.168.2.100"

  • Adopt your MAC-adress to your local lan.

// MAC Address of Arduino Ethernet Sheild (on sticker on shield)
byte MAC_ADDRESS[] = { 0x90, 0xA2, 0x01, 0x02, 0x03, 0x04 };

  • Upload your sketch to your arduino and start the serial monitor (I used the Arduino IDE 1.5.5 - but it should work also with older and newer IDEs).
  • Now you should see in the Arduino IDEs serial window messages like this

Local IP=192.168.2.120
Reconnect to mqtt
Connect client [Arduino_MEGA] OK
Publishing alive message to [dl2sba.de/Arduino_MEGA/light] OK
Subscribe to [dl2sba.de/Arduino_MEGA/control] OK

  •  Now look in the first command window (the server). You should see there the messages received and forwarded

1400927225: Received PUBLISH from Arduino_MEGA (d0, q0, r0, m0, 'dl2sba.de/Arduino_MEGA/light', ... (22 bytes))
1400927225: Sending PUBLISH to mosqsub/5916-DL2SBA-5 (d0, q0, r0, m0, 'dl2sba.de/Arduino_MEGA/light', ... (22 bytes))

  • The first line shows the message published from your arduino to the MQTT broker. The second line shows this message forwarded to your mosquitto_sub client running in the second command window.
  • Switch to your second command window and you should see lines like this

Client mosqsub/5916-DL2SBA-5 received PUBLISH (d0, q0, r0, m0, 'dl2sba.de/Arduino_MEGA/light', ... (22 bytes))
dl2sba.de/Arduino_MEGA/light {"L": "37", "R": "41"}

Now let us test, whether message forwarding from a local mosquitto_pub.exe client via the Mosquitto server to the connected arduino works.

  • Open another command line window
  • Send a test message to your arduino

mosquitto_pub.exe -t dl2sba.de/Arduino_MEGA/control -h 192.168.2.100 -u XXXXXX -P YYYYYY -m "Hello world"

  • Now you should see in the Arduino IDEs serial window messages like this

Message arrived:  topic: dl2sba.de/Arduino_MEGA/control
Length: 11
Payload: Hello world

  • In the command window of the Mosquitto server you should see the message forwarding

1400928136: Received PUBLISH from mosqpub/3572-DL2SBA-5 (d0, q0, r0, m0, 'dl2sba.de/Arduino_MEGA/control', ... (11 bytes))
1400928136: Sending PUBLISH to Arduino_MEGA (d0, q0, r0, m0, 'dl2sba.de/Arduino_MEGA/control', ... (11 bytes))

So far so good - bidirectional communication from/to your Arduino works ... welcome to Mosquitto and Arduino ... :-)

 

(c) Dietmar Krause, DL2SBA 2026 Impressum Datenschutz
Cookies user preferences
We use cookies to ensure you to get the best experience on our website. If you decline the use of cookies, this website may not function as expected.
Accept all
Decline all
Marketing
Set of techniques which have for object the commercial strategy and in particular the market study.
Quantcast
Save