For an IoT (Internet of Things) project to be truly remote it needs to have Over-The-Air (OTA) firmware upgrade capability and all data communication needs to be secure.
From that basis, you can then start to think about the other requirements such as having a means to know that if remote unit is still working or has stopped working. Then, an often overlooked criterion, which I find is rather useful during the field testing phase, and possibly beyond, is a means for remote diagnostics and a means for running specific “scripts” to test and evaluate different logic or different parameters remotely. Then the rest is fairly standard. You need to have a means to store data, a means to query and a means to analyse.
So, taking all this into account and as I’m all about keeping it simple, the Do-It-From-Scratch (DIFS) option is out the window. This leaves you with very few options.
There are two obvious ones that spring to mind, which, in no particular order, would be Electric Imp and Particle.io. These are often referred to a managed cloud services and both providers use specific devices that “plug into” their cloud ecosystem.
Well there is now a third. It is this new option, which I’ve decided to graft into (or splice into) my project. It’s a cloud platform service called mDash.
Taking the first definition that came up on Google (source: North Dakota State University)
Grafting (top working), is a way to change a large tree from old to a new variety. It is also a method of using a root system better adapted to soil or climate than that produced naturally by an ungrafted plant. By using special understocks or interstems,grafting is a way to produce dwarf plants.
And for those gardening enthusiasts, more information about “grafting” can be found here: https://www.ag.ndsu.edu/hort/info/fruit/graft.htm
This splicing technique is nothing new, as highlighted by this informative graphic (on the right), which was apparently published in 1884 in the book “Cassell's popular gardening”.
So what has this got to do my with fuzzy plant project.
Well, it describes a method from changing the old project into a new variety. This of course takes time and plenty of “graft” behind the scenes. When you have spliced in something new, the end result does not look like much, initially, but then grows into something quite special.
mDash – an IoT platform for ESP32 devices.
mDash is an IoT cloud platform that is designed specifically for ESP32.
The reason I liked this, is that the ESP32 is commonly available and I just happened to have one and it suited my Fuzzy Plant project.
Another reason I liked this option, was that it offered a good free tier for developers. The free tier allows for a maximum of 3 devices and it will store up to 500 database records operating on a FIFO (first in, first out) basis.
Then the features offered were exactly what I was after. Rather than rewriting what is already on their website, I created an introduction video that walks you through the system (apologies for the poor sound quality):
ESP32 Smart Light Example
They have also an End-to-End Reference Project where they supply all the code etc. on their GitHub page.
As this is a new cloud offering it was really important for me to understand how this new system worked and this took a good bit of time. Fortunately, their reference project architecture was very similar to what I wanted for my Fuzzy Plant project, and thus it would benefit my project if I first worked through their project carefully to determine suitability and then what needed adapting.
Here are two more videos that explain how it all works.
For the next blog post I will then show the all the new components for my Fuzzy Plant project and how I am now grafting in this new branch of IoT Remote Monitoring functionality. This includes the use of two capacitive moisture sensors.