For the Internet of Things, this means everything. This means that your smart lights won’t leave you in the dark if Amazon has an outage in one of their cloud compute facilities. This means that your smart lock won’t keep you out of the house if your home WiFi goes down. This means that all logic your “smart” devices need to properly function can exist on the device themselves, as opposed to some centralized repository. Thus making them truly “smart.”
Distributed computing means that your devices no longer communicate all of their collected sensor data to the cloud for analysis but rather, they analyze the data themselves and communicate only what is important. The benefits to this are more security for your internet-connected things, less data consumption communicating with cloud instances, and the ability to introduce real-time automation. At niolabs, we have proven the power of distributed computing through several implementations of the nio Platform.
A nio system can be highly localized (as small as one machine) or widely distributed across devices, continents, clouds, and data centers. Each instance within a system is a node with the ability to collect, analyze, and send streaming data and logic. For example, in agriculture, we have automated some of the processes for grape vine care, like irrigation, by introducing several nio nodes across the vineyard. Devices running nio can collect a wide range of data and instantly determine the appropriate course of action to keep everything happy and healthy all without needing to send a single byte to the cloud. The same concept can be applied to any Internet of Things problem to make devices function more appropriately. Your “smart” lights can be toggled using peer-to-peer communication, without reliance on a cloud middleman. "Smart" locks can hold all of the logic for who and what is authorized to access your house, allowing you to enter your house even when your Internet goes down. For this concept to become a reality, you need to know where to start... We have created a series of workshops to help all of our new users learn and leverage nio in a variety of ways. The best way to learn distributed computing with nio is to get started with our Virtual Plant workshop. This example is a scaled-down version of the solution we have provided at Deep Sky Vineyard.
Three nodes come together to distribute logic and apply automation in order to keep your own virtual plant alive and happy. The communications broker Pubkeeper provides peer-to-peer publish/subscribe communication across all nodes in this system. nio runs in two instances, one on your own computer and one in the cloud providing weather data. The pre-built user interface allows you to visualize the status of your plant.
In this system, your plant sensors, weather station, and control hub all communicate with each other and apply appropriate logic at each node. The data communicated is optimized only to what needs to be sent. By leveraging the distributed platform, your connected plant is more secure from threats because there is not one single point of entry to access your data. Most importantly (in my opinion), you can introduce automation to care for your plant without having to manually monitor its health.
Distributed elements of the plant workshop
Local install instructions
Follow the video tutorials below to download the nio binary onto your own computer and get started with your own virtual plant. This is a great start to get familiar with the nio Platform, but take a look at some of our other applications of nio to get ideas for your own project!