I have been an an infrastructure guy more so than a developer my whole career. Last month, I discovered Node-Red and was instantly hooked. I work with developers and databases all day, but my programming skills have never been A+. Discovering Node-Red has rapidly allowed me build applications and connect them to various IOT devices.
Here is the project I used to really cut my teeth on Node-Red.
Problem: I have a leaky wall on the outside of my building. I had thought that putting a new roof on the building and patching the stucco on the outside of the building would have solved the issue, but it did not.
The only way to solve a problem is to know what is causing it. Here is the application I built to monitor the moisture coming into my house from the wall:
Created some IOT sensors that were able to detect variations in Humidity and Moisture in a physical substance. I built two of these devices, and coded them in Ardunio. These devices use the NodeMCU chip which is an awesome little ESP wifi chip. One I put between my drywall and the old brick and emended the Moisture sensor in the insulation. The other I put in my room under the baseboard and stuck the moisture sensor in the exposed insulation.
I spun up a Ubuntu VM and installed Mosquito as my MQTT broker, NGINX to reroute web requests, and MySQL as a database. I then created a simple DB to write the requests from the MQTT broker to a table, and a few report tables to build my charts off of.
To monitor humidity variations from the outside world, I connected to a weather API and also write that data to a table. I also wrote water events and their duration to a table so that can be compared to sensor readings
There is much more to do on this project. I need to make more sensors that focus on measuring moisture alone and deploying them in multiple locations. Making them battery powered is also preferred (so thats a bye bye to wifi, hello to LoRa or Zigbe). Once I have more data points I can start answering questions like: Are rain events triggering Moisture increases? And if so in what areas?
Let me know your thoughts, ill be sure to post updates as I make progress on this!