Reputation: 11
I am fairly new to Arduino, and for a project I want to use an UNO to push/publish notifications to an MQTT broker, then have the broker push a notification to a subscribing Android app I am developing.
I have an ESP8266 for my Arduino incoming. I've done a fair bit of research but am having some trouble piecing things together. I've read articles with the Arduino as the subscriber, or as the server, or the Android as the publisher, but none for this specific implementation. What I (think) I know so far is:
1: Since this is just a fun DIY, test.mosquitto.org would suffice as a decent free broker. So for a #define mqtt_server field, it'd be test.mosquitto.org.
2: Programmatically, I can push notifications from my Arduino to this broker via an mqtt library such as PubSubClient.
3. In Android Studio, I can use an mqtt client (Paho?) to subscribe to the topics being pushed to the broker.
My questions at this point are:
Is there anything else I would need to install on the Arduino besides PubSubClient and the library for my ESP?
I saw that on some code examples, there were 'mqtt_password' and 'mqtt_user' fields. Do all brokers generate these fields, and if so, where can I access them from test.mosquitto.org.
I just need a jump start in understanding the overall architecture. As usual, any help is appreciated.
Upvotes: 1
Views: 820
Reputation: 48258
Is there anything else I would need to install on the Arduino besides PubSubClient and the library for my ESP?
You are on the right way... if your Arduino libs are working then you can pub topics and see if the broker can deal with it (I suggest to use mqttFx as a client and subs to those topics too)
I saw that on some code examples, there were 'mqtt_password' and 'mqtt_user' fields. Do all brokers generate these fields, and if so, where can I access them from test.mosquitto.org.
every broker can deal with anonymous clients, M2m.eclipse.org is one of those...
Are there better brokers for a job like this (that are also free) or would mosquitto be enough? I'll only be sending short messages of < 100 characters, but do some brokers limit the amount of data they receive/send?
yes, you can search in the web for those, I have been playing with:
HiveQM: broker.mqttdashboard.com
and
Eclipse: iot.eclipse.org
and they allow you more or lesss the same features you need for the test...
For the andoir part, Paho is a pretty good way to go...
but fisrt step fisrt, pub things with arduino and check that the broker is understanding you + that another client(mqttfx) can get the info and send you something too :)
Upvotes: 1