IoT Miniservices

A complete and free IoT framework for building and managing your connected devices

IoT Cloud REST API Mobile
Get Started with BVIoTManager
IoT Miniservices Platform

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.

Surveillance Camera
Smart Security

Modern surveillance systems connected to the internet for remote monitoring.

Smart Devices
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.

descriptive workflow for the Miniservice by Buonevacanze platform 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.


IoT Manager main screen with login parameters


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.

Authentication & Security

  • Authenticator

    Core authentication service providing one-time tokens for secure API access.

  • ApplicationApprover

    Device authorization and approval management system.

Configuration Management

Location Services

  • GeoReference

    Store and manage geographical coordinates with metadata.

  • RetrieveCoordinates

    Query and filter stored geographical data.

Sensor Data

  • Temperature

    Store and manage temperature sensor data with optional GPS coordinates.

  • Biomedical

    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.

Leave a Comment

Getting Started

1. Sign Up

Create your account on BVIoTManager

2. Add Devices

Register your IoT devices and get their unique identifiers

3. Start Coding

Use our libraries and examples to build your IoT solution