Arduino MQTT Broker

Hi @Rocksetta,

I have little experience with MQTT. Of the sites you mentioned:

IFTTT - used to be good, but went to a subscription model and is super wonky to use now (IMO)
ThingSpeak - owned by MathWorks, used to be an open source project. It’s decent, but there are limits on datarates (to be expected for the free version)
Adafruit.io - Free version is pretty solid

Thanks Shawn, fully agree with all three of your views.

1 Like

If I go with adafruit.io for the MQTT, or make my own home mosquito server, anyone got any suggestions for easy to use https webhooks for IOT data. The big solution is for me to go through all of the ones I have found and try them out. Really hoping someone at edgeimpulse has found something they really like.

@jenny

Thinking out loud here, is edgeimpulse interested in providing an integrated Machine Learning IOT data movement site with both MQTT and HTTPS webhook abilities? Probably not, since the space is already flooded, but since edgeimpulse already has my raw data I might be more inclined to trust them with my Edge data as well.

Here are the sites I have found. Twitter sites not shown here only webpages. See my link above for the twitter sites

https://www.digi.com/products/iot-software-services/digi-remote-manager

http://dweet.io/

https://www.edgeiq.ai/platform

https://freeboard.io/

https://www.gaonic.com/

https://docs.golioth.io/

https://www.initialstate.com/

https://www.inteliments.com/en/products-and-services/iot-data-platform

https://iotguru.cloud/

https://liveobjects.orange-business.com/#/liveobjects

https://www.hitachi.com/products/it/lumada/global/en/about/

https://www.m2mi.com/index.php/m2m-iot-application

https://mydevices.com/platform/

https://podgroup.com/

https://reekoh.com/

https://saymon.tech/

https://signomix.com/#!en

https://smart-ix.ai/

https://www.smartthings.com/

https://www.thingsmobile.com/business

https://thingspeak.com/

https://unificationengine.com/

https://ursaleo.com/

https://internetofthings.ibmcloud.com/#/

https://wolkabout.com/platform/#first

https://yaler.net/

https://test.mosquitto.org/

https://www.emqx.com/

https://litmus.io/litmus-edge-manager/

https://www.losant.com/iot-platform

https://www.afero.io/

https://aggregate.digital/

https://www.arkessa.com/

https://www.avimesa.com/

https://beebotte.com/

https://www.boltiot.com/home

https://www.clovity.com/csensornet/

https://www.connio.com/industrial-iot-industrial-iot-platform.html

https://www.softwareag.cloud/site/product/cumulocity-iot.html#/

https://www.digi.com/products/iot-software-services/digi-remote-manager

1 Like

That is an impressive list of sites, many I’d not seen before. :+1:

I’m not sure if this answers your webhooks question but adafruit io does gave an API:
https://io.adafruit.com/api/docs/?cpp#webhooks

Good catch Allen. I didn’t know adafruit.io did Webhooks as well as MQTT, that might be the service I stick with, as the MQTT works so well with the Arduino IDE ready CayenneLPP library . By the way LadyAda is one of my hero’s, even this link is interesting.

Most of this tinyML work we do is not much help unless you can publish some kind of feedback from your data on the web (unless everything you are doing is private). I wish to be able to send Arduino Portenta information using Cellular, Wifi, Ethernet and LoRaWan and then present that information on a static (websocket) webpage.

I am still really confused with MQTT or Webhook websites. I made this 45 min video where I go through the above links (I can barely stay awake).

https://www.youtube.com/watch?v=MGS7GOdAExE&list=PL57Dnr1H_egu0PkIBAbbdfQ21O_NJqJg8&index=3

I did actually find a few sites to check. Presently also looking into making my own MQTT server on Heroku. Adafruit.io seems to be winning the battle for me. Yes @LadderLogic you can use webhooks with Adafruit.io so that is cool, but I think you cannot yet receive webhooks from adafruit.io. So here is my present issue.

I love using HTML, localStorage, websockets or async/await fetch and Javascript with static webpages on Github. I should be able to get my feed or last 30 days of data off the site in JSON format, then I can make my own public dashboard, without giving up my private key. Anyone got any suggestions of sites that allow making your own public dashboard. Seems that most sites like cloudmqtt.com that were free now have a basic $5/month fee.

My work is always for teaching. I am leery of free to try sites because they often want your credit card.

Anyone other suggestions. Arduino Cloud is so close, they just have a few changes and updates to make.

.

.

.

After an adafruit search I have found this

https://io.adafruit.com/api/groups/weather/receive.json?x-aio-key=a0a0a00a0a0a0a0a00a0a0a0a00a0a0a0a0a0a0a0a

which looks like it get all past (30 days) group information. not s websocket but better than nothing. would be easy to poll it every say 30 seconds on a static webpage. The could be entered from a text box to git a bit more security. I would prefer a live websocket for each feed but this looks better than nothing.

Hello @Rocksetta,

I have been using a lot Scaleway’s IoT Hub: https://www.scaleway.com/en/iot-hub/
It is free up to 10 devices per broker (but you can create as many brokers as you want). Here is one lab I used to teach to my students using ESP32 and MQTT with Scaleway’s IoT Hub broker: https://github.com/luisomoreau/ESP32-cam-MQTT

Regards,

Louis

1 Like

That is so awesome @louis. That might fully switch me to scaleway. I never thought of sending images controlled by MQTT, great tutorial. Nice use of github markdown as well.

@louis Did you have this screen for your students? I hope there is a way around it?

Yes, what I did was to create an organisation under my name and then invite the students in my organisation (so they don’t have to go through this screen). But if they create other ressources other than the free ones, you might have to pay for it :D.
I was also making sure that all the ressources were removed at the end of the lab + remove the students from the organisation :slight_smile:.

As most of the resources are hourly billable, even for one 3 or 4-hour lab with 30 students, it does not cost more than a couple of euros/dollars when using paid resources.

Regards,

Louis

Your project @louis has shown me what can be done, but I need to find a non-credit card IOT site, and EdgeImpulse of IOT!. I get their issues with people taking advantage of them, but as a teacher I can’t be using my credit card with any potential for overcharges. Here is my latest list of sites to try, hopefully some of the Ambassadors can get involved. I am looking for the ultimate student IOT site.

These are the interesting IOT sites so far: (I should delete them from the list as issues are found)

https://thingspeak.com/login

https://docs.akenza.io/api-reference/mqtt

https://beebotte.com/overview

https://developers.mydevices.com/cayenne/docs/getting-started/#getting-started-arduino-get-started-in-minutes

https://dweet.io/play/

https://freeboard.io/#pricing

https://iotguru.cloud/signup

https://liveobjects.orange-business.com/#/liveobjects

https://ubidots.com/

2 Likes

This is a big job! At least I now know exactly what I am looking for. To teach IOT connectivity for my EdgeImpulse capable devices I need an IOT site that has:

My Student/Developer IOT Platform Criteria

  1. >= 3 free devices without a needed credit card
  2. Easy to setup MQTT connectivity for multiple devices and platforms
  3. Easy to setup HTTPS connectivity for multiple devices and platforms
  4. Easy to setup Websocket-MQTT connectivity for multiple devices and platforms
  5. Sensible free limited datastorage, say >= 10Mb, >= 2 weeks

.

Problem is that every site takes a fairbit of time to setup and get your bearings.

So far I like but they don’t have all my criteria: Arduino Cloud, Adafruit, Ubidots, thingspeak, pipedream, tagio.

Websockets seem to be the problem, and yes I am being a little stubborn here. However if you have seen the power of the Edge Impulse WASM (Machine learning output for web pages using web-Assembly) and realize that webpages are the most powerful way to reach a massive audience, you will understand the reason to try to get websocket-mqtt working with Machine Learning data.

I am now going to test Databricks and Akenza, but if anyone else has suggestions for IOT devices with potential for the above criteria I would be interested to hear about it.

.

Well that was fast: Databricks you must signup your company, Akensa only give 3 months then needs a credit card. Who’s next?

hiveMQ actually has a working websocket here

2 Likes

So this is starting to get interesting. Presently HiveMQ is my favorite. It has SSL Websocket-MQTT and I already have a vanilla Javascript static webpage working here Not userfriendly as I haven’t taught it yet. For hive you need a special hostname, username and password. To setup multiple pages you need different ClientID’s

So websockets seem to be for me the defining feature of a good IOT integration.

HiveMQ has some issues with a @Helium integration, but that might be able to be solved. This is exciting as this is one of the last things I need for my course.

If anyone knows other sites that have websocket-MQTT please tell me. I am presently trying to find out if some of the above sites have it.

1 Like

Also been trying Qubitro and thingsboard. Both have positives and a few negatives. Still open to suggestions.

AND THE WINNER IS ADAFRUIT.IO!

See the updated website about it here.

I am very impressed with Adafruit. After I emailed them about MQTT-Websockets, they contacted me to describe the issue, assigned a developer and within 24 hours had it working!

I will have an example ready soon.

2 Likes

Awesome work! Good to know that Adafruit.io met most of your criteria and that you really like it :slight_smile:

1 Like

That’s great! Thanks for that benchmark!

1 Like

So this is embarrassing. After declaring Adafruit the winner and spending a ton of time getting static website Async/Await fetch working for mqtt-websockets, and HTTP connectivity. I am now having trouble getting the easy part working the Arduino MQTT and HTTP connectivity. :flushed:

Adafruit does not support or sell the Arduino Portenta Pro series of boards. I have found some complex possible solutions, but to use with Machine Learning I need really small code solutions.

Anyone ever connect the PortentaH7 to Adafruit? Using SSL I can do a bare data read, but that is it at the moment.

Eventually my solutions will be here .

.

.

So later today I hacked together a Portenta Form HTTP POST sketch here

Still looking for ways to do MQTT and/or websockets if anyone has any suggestions.

Well this blog/thread can be marked solved. I hacked together the last step connecting the Arduino PortentaH7 to the Adafruit MQTT broker.

Worth looking at the following page as it shows multiple website and Arduino ways to connect to adafruit.com. I got Ethernet connectivity working for both HTTP and MQTT but they are both insecure so I suggest using the WiFi code.

Everything listed on this page:

https://hpssjellis.github.io/my-examples-of-iot-platforms/public/index.html

If you want to read my full Arduino PortentaH7 with Vision Shield writeup on the Helium LoRaWan People’s Network click here.

It has both an easy MQTTS connection to Adafruit.io using the CayenneLPP Library and the much more flexible connection using Javascript function decoders (base64) and HTTPS adafruit.io time dependent webhook integration in excruciating detail.

1 Like