In this chapter, we'll speak about the solutions to consider to design our IoT platform. 1
But I'll be straight with you from the start. 2
I will never be able to present all the available solutions. 3
I will not even pretend to present a tiny part of them because there are so many. 4
Nevertheless, I want to propose here some solution that we could use to build our own IoT platform. 5
Most of these solutions are free and open source, and most of them can work in both directions. 6
So uplink and downlink. 7
But we know that in the IoT world we mostly gather data from sensors. 8
So the stream we are more interested in is the uplink stream. 9
And this is even more true with LoRaWAN than with any other protocols because as we have seen in the 10
previous chapter, LoRaWAN has very limited downlink capability. 11
So we need to find services capable to execute each action that our IoT platform needs to run. 12
Some services like Node-RED, for example, have the ability to do almost everything, not what can 13
easily be connected to any LoRaWAN server using MQTT. 14
It can provide a graphical user interface and it works in both direction, uplink and downlink. 15
We've started to work with Node-RED already and that's indeed a very good solution. 16
But in our case we'll use Node-RED only for one part of this stream, let's explain right away the solution 17
that we'll use. 18
First, we'll use Node-RED to connect our IoT platform to our LoRaWAN server: TTN, Actility, Chirpstack or whatever. 19
And Node-RED will also help us to select the data we want to store. 20
Then with a special node, we'll send these data to an influxdb database. 21
Once the data is stored, we're going to create a dashboard and customize the user interface. 22
For that we will use Grafana. 23
So at the end we'll use three services for our IoT platform Node-RED, Influxdb and Grafana. 24
And if we need a broker for the MQTT connection with the LoRaWAN server, then we'll use mosquitto. 25
Mosquitto, Influxdb, 26
Node-RED, and Grafana. 27
This service used is called the MING Stack and of course M stands for Mosquitto I for Influxdb, 28
N for Node-RED, 29
And G for Grafana. 30
Obviously this is not the only choice. 31
For example, we could have used the ELK Stack: Elasticsearch, Logstash and Kibana. 32
But I would like to stick with the first choice because it's a very good solution when dealing with 33
timestamps data. 34
On top of that, we have already started to work with Node-RED, so I guess it's more consistent. 35
Great. 36
So this is what we can use to create things by ourselves, but we might just want to use an IoT platform 37
without creating one. 38
Of course there are many available. 39
They are often proposed as a complete package to be installed on a server, but there's often a cloud 40
version available as well. 41
Of course this is a professional service, so it's not free. 42
But there is usually a free online edition with limited functionalities so you can try it out. 43
Usually we allow to register only a few devices and to create a few dashboards. 44
So indeed a professional IoT platform can be a good choice if you have a big project. 45
Of course this is not the purpose of this course. 46
So in our case we'll set up each service by ourselves.