Sensor Station is a collection of software components built to provide a complete Earth to Cloud IoT framework.
TODO Insert Diagram Here.
It starts by collecting data, cleaning and distribtuing the data to a dashboard, databases, control logic and other interesting places.
Spread a number of Sensor Stations around a yard with the following sensors: soil moisture, light sensor, temprature and humidity. All this data is gathered by small inexpensive devices (micro-controllers) that run off solar or battery power collecting afore mentioned data.
The data is transmitted via wireless network to a Macro-controller that collects, cleanses and passes the data along to it's desired locations including but not limited to: a real-time dashboard, time-series database and control logic.
The data can then be used to turn on and off lights and sprinklers, amoung a variety of other cool things.
For our purposes we will build Sensor Stations from little, inexpensive micro-controllers are fitted with sensors including soil moisture, air temp, humidty and such. The devices will be able to transmit data wirelessly back to a Macro Controller that cares for the data and sends it to it's various destinations such as control logic, databases, dashboards and so on.
TODO esp32 link to esp32
The micro controllers are capable of forming self configuring mesh networks with slimmed down wireless network protocols (wifi & ble) ideal for low to moderate data rate sensor advertisements may include streaming video in certain conditions.
The mesh network allows devices to be scattered about in arbitrary patterns to form networks that are capable of covering large areas even with out any power or network infrastructure. The Mesh is self forming and healing, zero configuration, zero infrastructure capable network with an optional IP Gateway.
The mesh networks are advertised capable of 10Mps (or 1mps) per device stream up to 200m (NEED TO CHECK THESE NUMBERS) and of course in the real world YMMV.
Dashboard (Web App)
A nice modern dashboard application for monitoring, configuring and maintaining this system.
The Macro-Controller is basically what is known as a micro-server, this one happens to be built with IoT applications in mind. It includes a number of powerful features one would expect from a modern industrial strength micro server.
Serves up HTML for Webapp (SPA)
Serves up HTTP / JSON for REST API
Speaks MQTT with IoT devices
Speaks Websocket to with real-time modern web applications
Simple, very little (to no) configuration required
Zero Configuration (plug it in and let it go!)
Go: fast. REALLY fast!
Application is a single binary, Just like the good ole days!
– No big ass frameworks to lug around, build or conflict.
Separation of Data and Control
As will be seen as this architecture is drawn out, there is an quasi-abstract layer of communication between the providers of data and the consumers of that data, this provides us with all sorts of advantages to do great things, but it does indeed bring along it's own level of complexity that must be cared for out of the gate.
TODO Speak more about messaging?
Cloud Support and Automation
TODO Write Up cloud automation
A lot can, and will be said about cloud automation.