I have just completed the first phase of integrating all these devices and technologies:
MQTT, Node-RED, Linux, Apache2, MySQL, PHP, Telegram, ESP32, ESP8266, and the Arduino Uno
The glue that binds all this together is MQTT. In fact, MQTT makes this kind of integration nearly trivial to do.
The "control glue' which makes all this fun, easy and fast to integrate is Node-RED (on top of MQTT). On YT, many excited people call Node-RED a "life changing technology". Well, that sound quite dramatic to me (I have seen a lot of technology come and go over the years); but on the other hand, combined with programming knowledge and MQTT, Node-RED is a bit like standing at the helm of the Starship Enterprise. It's that good.
Here is my high level "working" diagram of my current working project, which I will provide the details in subsequent post and hopefully a few YT videos.
I am currently using this setup as follows (at a high level):
- Monitor the health and performance of three Linux Ubuntu servers remotely (on the other side of the planet).
- Monitor, display and act on sensor information from at least three Arduino / ESP devices (IoT devices, as some call them).
- Display selected subsets of all those devices, the server applications and network management information as required on various quick-to-build, custom dashboards.
- Change various LAMP application configurations (update the MySQL databases for example) using visual sliders on my iPhone (like you would when adjusting the brightness of a light).
- Get real-time alerts on my two iPhones and also on my desktop Macs using Telegram when any "situation of interest" arises on any of the servers or IoT devices.
It works very well, and so far, nearly flawlessly. I just finished testing the core system integration today.
Unfortunately, I have some very boring non-technical paperwork which I must do, before I spend more time on this fun project, including any tech write-ups and new YT videos.
Node-RED has changed my view toward "visual programming tools" because the way I use Node-RED permits me to program in PHP, Python and bash as required on the servers, and at the same time, I can program in Javascript in Node-RED; and at the same time yet again, I can also connect all the moving parts of the system together with Node-RED.
In addition, Node-RED allows me to add and test different APIs very quickly, much more quickly than programming in IDEs or "on bare metal".
More on this later....... stay tuned.