The IoT Revolution
Internet of Things (IoT) represents one of the most promising technological revolutions of our time.
Connected World
In today's world, it's impossible to imagine managing daily activities without internet-connected devices. From smartphones and tablets to smart TVs and surveillance cameras, our homes are filled with dozens of connected objects that rely on a stable internet connection to function.
Smart Security
Modern surveillance systems connected to the internet for remote monitoring.
Mobile Control
Smartphones and tablets as central hubs for IoT device control.
IoT is a concept much more complex than the simple use that can be made of a television or a mobile phone. IoT is a physical extension of the analog world to the digital world. With a lot of immagination it is something like if we were able to inject ourselves and our things
within the internet network and be simultaneously on multiple points.
Obviously, for the time being, it is better to "keep your feets on the ground". For the moment let's imagine, simply, to require to light a lamp at home while sitting comfortably at a friend's house 20 KM away from your home.
The extension of ourselves is a small object that, connected to the network, operates like a real switch controlled remotely from our mobile phone. This instrument has been our physical extension towards the home, tens of kilometers away.
"Internet of things" allows us to do this.
More than connect our minds through social media, share sites, blogs etc. now, we are able to connect our things, our homes, our machines, our washing machines, refrigerators and who knows what else we will connect.
You will understand that here we are talking about billions and billions of information to be managed and thousands and thousands of potential services that could be made available to those who produce hardware "connectable" to the internet.
Regarding this hardware there are two main characteristics that will help us to draw and then understand the miniservices concept. The first is that IoT is made of simple and minimal things.
The market itself teaches us that if we want to launch successfully a product we must lower costs, producing something ease to use and with chip components.
Another significant aspect is that producers of these components,
mainly want to produce the hardware and would be very interested to have already available all the software necessary to make their machines work quickly and easily.
Financial aspect is represented by:
-- Low development complexity
-- Simple protocolls
-- low level of communication and few constraint
The items I mentioned, make the point on a very interesting and new business model. This model got me to the decision to build: "MiniServices".
A miniservice is a simple, secure and versatile function that can be queried by hardware designed for the IoT and which can provide a data storage service, a sessionless function or simply, reply to a query:
Store: Save data in a safe place that I should not care (Infrastructure, backup, disaster recovery and so on).
Execute: Start a specific function using an input provided by the IoT object alone or combining information coming from more than one single object
Query: Query a database and send me back a result
With these three basic operations the Miniservices infrastructure proposes to greatly simplify the life of any manufacturer of IoT devices. It can be used by professionals, by private individuals but also by large companies.
The miniservice platform offers a security system ensuring that access to data remains unique and personal and that your services are and will be accessible only to your certified hardware devices.
Technically a miniservice is a REST (If you are interested in understanding what REST calls I wrote a short
tutorial) function, called by the IoT hardware internet interface (a wifi card connected to a router or a generic network module connected cable even a GPRS module connected to an internet APN).
Before querying the real needed service, we ask a specific authentication service to be allowed for a specific set of functions. This service (if approved) returns a unique key that is used to access the desired function once and only once. Invoking the selected service, the operations
executed by the miniservice generates a "Store" an "Execute" or a "Query" operation.
In the following graph I tried to schematically represent an application flow related to a call made to a miniservice, to obtain the service output response.
To simplify life of non expert users, I built also a basic firmware for the most "famous" controller (currently NodeMCU) used for home automation, that you can simply
download and install on your board in order to run it with most common sensors and actuators.
The main pourpose of the infrastructure is to let expert users and professionals to build their own device protocols and software but, if you want to quickly build and run, using internet, your devices, you can also use our
Web APP available on internet.
Using this Web application you will be able to
register to the platform,
add your devices and configure or read their status (temperature, GPS position etc.) using internet and an active connection for your device.
To show you how much this is simple, I prepeared the following
tutorial who describes you, step by step, how to quickly build your first IoT device to activate and deactivate Power plugs in your home using internet and the Miniservice Infrastructure.
Available Services (v1.0)
Explore our comprehensive suite of REST API services, each with detailed documentation.
-
Store and manage temperature sensor data with optional GPS coordinates.
-
Store and monitor biomedical sensor data (BPM, temperature, oxygen levels).
Miniservices is mainly an asyncronous platform. It means that objects put messages on a queue, pull messages from the queue and do not operate in a "synk way". However, this is not always the real need of an user implementing an IoT device. In certain situation (turn on a lamp or switch off a fan) you could need to interact with your device immediately. For this reason I built a Server named
PushNotifier that you can use to
syncronize your object in real time. You will need only to register your device on this server and call the notification function when needed.
One of the most common sensors available on the market to build IoT devices is, as example, the max 30100 but the number of devices you can find to evaluate medical values is big. Everithing depend on your fantasy and on the values you want to monitor.
For all of them we have available libraries to support IoT Development like the
Miniservices Controller that can be used to simplify any miniservice call.
If you are interested to understand how to implement such similar devices compatible with the Miniservices by BVRobotics.com infrastructure, then you can see how I built the
IoT Meteo station. This will be useful for you in order to start building your first device but also to understand how to implement access to authenticate your requests and to manipulate data stored into the central database of BVRobotics.com
All IoT Miniservices have an additional protection criteria related to the calling MAC code. This code is sent to the http protocol during the call and is validated by an access list in the manufacturer's archive. For this reason the activation (only initial of course) of a device requires the hardware manufacturer to send a list of MAC code to enable.
It is possible to access a protected test environment that can be used to test all the functionality of the miniservices without any impact on the stable production environment.
Last, but not the least, I built an interface with the
Alexa IoT service who can allow you to interact with your objects using the famous Amazon Device.
To enable your access to IoT Miniservice SET from www.BVRobotics.com, please, contact the support desk.