Most suitable IOT app

Hi all,

I've been looking for options to complement arduino code and triggers with 'on demand' controls and status displays. I came across a plethora of options including
Blynk
Cayenne
Ubidots
Azure iot central
AWS iot
MIT app inventor
Thingsboard
Kaa iot
Etc

I started looking in to Blynk but I didn't like how intrusive it is with how it changes the code.

Obviously, any option would require embedding some code to enable communication through wifi (trying to use Uno with esp8266) but I dont know to what extent. So, what I'm hoping for are some recommendation for tools that:

  • Have the least impact on the code
  • Are simplest to use and incorporate
  • Push notifications and send SMS
  • Offer User and access management: Allow different family members to view/control a specific set of devices but allows me to manage all in one place.
  • Are established: Not a tool that might disappear in a year and would force me to update my boards.

I'm starting to look in to Azure just to learn more about that platfrom out of interest, but I'm ot sure if it is the best option.

Any recommendations to help me narrow down my options? I would like to pick one and stick with it since I'm allergic to updating things if I dont have to.

Thanks!

notacreativeusername:
but I dont know to what extent. So, what I'm hoping for are some recommendation for tools that:

  • Have the least impact on the code

I would like to pick one and stick with it since I'm allergic to updating things if I dont have to.

No matter what system you use, most of the code in the programme will be to do with acquiring the data, not dealing with the IOT stuff, so you will never have to overcome too much laziness in order to stay up to date on the IoT front. The relevant section of your code may be just a few lines to format your data in the required manner suitable for transmission. I have never heard of most of the providers on your list but you seem to have missed Adafruit io. I have not yet used it, but it seems pretty good, well-supported, and free. It is also likely to stay around for a long time, so that will be a bit of a relief.

You may have good reason to use a Uno with ESP8266 but, if you look further, you may find the Uno is redundant.

notacreativeusername:
...trying to use Uno with esp8266)

Trying to use the ESP to work as a WiFi shield on the Uno is really, really trying to do it the hard way. If you need WiFi, use a board with WiFi. My go-to board is the Wemos D1 Mini.

I haven't heard of most of the IOT apps you mentioned. I have sensors and IOT devices all over my house and I use Home Assistant and Node-Red. All communications are using MQTT over WiFi.

Nick_Pyner:
You may have good reason to use a Uno with ESP8266 but, if you look further, you may find the Uno is redundant.

SteveMann:
Trying to use the ESP to work as a WiFi shield on the Uno is really, really trying to do it the hard way. If you need WiFi, use a board with WiFi. My go-to board is the Wemos D1 Mini.

I agree with both of you, it would be easier to use 1 board with wifi, but I have a couple of UNOs already and I'm using quite a few pins for testing several things simultaneously. the ESP8266 I referred to is the ESP-01 module, so I can't use it on its own for all the things I'm doing. I will eventually reserve the unos for non-wifi purposes and get other wifi boards.
Thanks for adding the Adafruit io to the list Nick and for the other info.
Steve, I haven't heard of Node-Red before. I just googled it quickly and it looks interesting! so it's an alternative to using Arduino IDE?

notacreativeusername:
The ESP8266 I referred to is the ESP-01 module, so I can’t use it on its own for all the things I’m doing.

Of course you can!

The two “plain” I/O pins of the ESP-01 (you can re-purpose the “Tx” and Rx pins easily also) can be used with I2C to interface with multiple port expanders and other interfaces; it is a “bus” designed to connect many things simultaneously.

Using a UNO (a particularly inconvenient form of Arduino) to interface involves not only level conversion and voltage protection, but implementing communication protocols, handshaking and adaptation of the hardware serial interface. Just makes it unnecessarily difficult. :astonished:

Paul__B:
Of course you can!

I think it would be more accurate to say "of course it is possible".

Whether it is practical within the current knowledge and experience of the OP is a separate question. I reckon using an Uno would be simpler than leaning about port expanders - especially if the OP has no other use for the knowledge.

I wouldn't bother to acquire port expanders if I had an Uno handy.

Different people approach things in different ways.

...R

I have been using Blynk to send data to and control switches from my iphone. I really like it. Dont understnd what you mean by it being intrusive. As mentioned above the main part is accumulating the data or whatever. Interfacing with Blynk is rather simple. Many options to design a nice interface, share a clone with family members.

Paul__B:
Of course you can!

The two “plain” I/O pins of the ESP-01 (you can re-purpose the “Tx” and Rx pins easily also) can be used with I2C to interface with multiple port expanders and other interfaces; …

Robin2:
I think it would be more accurate to say “of course it is possible”.

Whether it is practical within the current knowledge and experience of the OP is a separate question. I reckon using an Uno would be simpler than leaning about port expanders - especially if the OP has no other use for the knowledge.

I wouldn’t bother to acquire port expanders if I had an Uno handy.

Different people approach things in different ways.

…R

I have heard of expanders and the concept in general, but never used them. This idea didn’t actually occur to me to be honest. Either way, I’m new to this and really looking for the easiest way to do things for now. I’m certain that using one board with integrated wifi with enough pins is the simplest option, but UNOs and an ESP1 is what I currently have at my disposal, so I’m trying to make use of what I have. By the way, I’m assuming “migrating” to a different board like a nodemcu should be straight forward? I would just need to adjust the pin numbers?

Aggertroll:
I have been using Blynk to send data to and control switches from my iphone. I really like it. Dont understnd what you mean by it being intrusive. As mentioned above the main part is accumulating the data or whatever. Interfacing with Blynk is rather simple. Many options to design a nice interface, share a clone with family members.

I mean I would need to use Blynk Library and blynk.this and blynk.that. Some others use MQTT pub/sub and Arduino JSON which is more generic; of course I would still need to specify different servers and make changes to the code, but I’m trying to limit this as much as possible by using the most generic connectivity possible.

I used AWS for a while to do the IoT thing but 'they' wanted 1USD a day. When I cost out a RPi4 and some Python programming, I bought the RPI4. I added on, free, Eclipse MQTT Broker and rolled my own. I use, on the RPI4, a Python program to serve as communications director.

notacreativeusername:
I have heard of expanders and the concept in general, but never used them. This idea didn’t actually occur to me to be honest.

Very practical idea. Commonly used for example by the I2C “backpacks” on LCD text displays and I dispute Robin2 that it is difficult to use them once you understand their nature and use appropriate libraries - just as with any other part. :grinning:

So here is such a module:

Aliexpress item

You can connect up to eight of these to your two I2C pins, as well as other devices as they have different 2C addresses.

notacreativeusername:
Either way, I’m new to this and really looking for the easiest way to do things for now. I’m certain that using one board with integrated WiFi with enough pins is the simplest option, but UNOs and an ESP1 is what I currently have at my disposal

I would reserve the UNOs for use with “shields”. The sockets make them quite inconvenient to use in practice and interfacing them with an ESP-01 really is going to be a pain and severely limit what you can do with WiFi.

notacreativeusername:
By the way, I’m assuming “migrating” to a different board like a NodeMCU should be straight forward? I would just need to adjust the pin numbers?

Pretty much. But as I say, if you are going to get more parts - and this will be the way forward - start by getting and learning about the port expanders which you can already use with the ESP-01.

Do you have an ESP-01 programmer? To program the ESP-01, the best way by far is to use the purpose-built USB programming adapter:

Aliexpress item

Similarly, to actually use the ESP-01 in a project, a very convenient way is with the cheaper adapter board, plugged into a USB “phone charger” so you have both the 5 V and 3.3 V conveniently supplied.

Aliexpress item

You have three GPIO conveniently available by soldering to the adapter, and the fourth - serial Rx - can be separated from the USB chip if necessary by cutting a track.

notacreativeusername:
Steve, I haven't heard of Node-Red before. I just googled it quickly and it looks interesting! so it's an alternative to using Arduino IDE?

No. Arduino code and Node-Red are complementary to each other. Many of my devices (switches, lights, sensors, etc) are running Arduino code on a Wemos D1 Mini and exchanging data or commands with an Intel NUC running Node-Red and the MQTT server. (Overkill. Because a Raspberry Pi can run Node-Red and Mosquitto server- and most people using MQTT and Node-Red use the Pi for this). I use Home Assistant as the interface and control UI. Any computer on my local network can open the user interface. You can expose your Home Assistant to the WWW if you need access away from home. For example one user I know of has a rental cabin and he can control the lights and heat remotely when the cabin is vacant.

The common feature is MQTT over WiFi. (Which is why I like the Wemos D1 Mini). If you need more I/O that the Wemos provides, then use the NodeMCU. If you need even more then use a port expander chip. (The ESP32 fits in there somewhere, but I haven't used it).

Using the ESP-01 as a WiFi shield for the Uno makes Rube Goldberg proud.

Paul__B:
Do you have an ESP-01 programmer? To program the ESP-01, the best way by far is to use the purpose-built USB programming adapter:

No, I just have the module. Thanks a lot for the tips and info. I will have to digest what you have given me - Robin is right though that there will be a learning curve... I think the simplest way to go in general is just get an appropriately sized wifi board so I don't have to get any additional components. However, I will still have to put my existing esp 01 to good use through a port expander!

SteveMann:
No. Arduino code and Node-Red are complementary to each other.
...

You can expose your Home Assistant to the WWW if you need access away from home.

Ok thank you for the info! I will have to look in to it when I get the chance!

SteveMann:
Using the ESP-01 as a WiFi shield for the Uno makes Rube Goldberg proud.

LOL, yes I have realized that but was still trying to work with what I have on hand. I will abandon this setup...

Idahowalker:
I used AWS for a while to do the IoT thing but 'they' wanted 1USD a day. When I cost out a RPi4 and some Python programming, I bought the RPI4. I added on, free, Eclipse MQTT Broker and rolled my own. I use, on the RPI4, a Python program to serve as communications director.

So AWS was charging 1 USD a day per what? device? or for all devices you were using?

I found another IOT platform btw, "thinger.io"

The search for the most appropriate platform is still underway, so if anyone has any recommendations, please let me know.

Thanks

notacreativeusername:
So AWS was charging 1 USD a day per what? device? or for all devices you were using?

I found another IOT platform btw, "thinger.io"

The search for the most appropriate platform is still underway, so if anyone has any recommendations, please let me know.

Thanks

AWS was charging me a dollar a day based upon my data use. The cost would have been 365 a year. A RPi4 can be had for 100ish USD, MQTT is free, writing a Python interface was fun.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.