Device management is one of the ten more relevant Internet of Things technologies for next years, according to Gardner:
In this post we will share with you all, how we understand device management, what are the tools that Sofia2 provides for it, and the evolution we are working on, for this functionality.
Before starting with the main focus of this post, we’re going the do a short review of the different concepts we use in Sofia2:
- Spaces (Projects): A Space (Sofia2 project) represents a collaborative virtual environment so the users can create its applications, creating Things, modelling entities, applying algorithms, or creating visualizations.
- Ontologies (Entities): An Entity (Ontology according to Sofia2 nomenclature / Thintology) represents the Data Domain managed used by a Thing.
- Ontologies are represented as JSON and may represent whether a basic model (similar to the table concept in relational databases) or a complex relation model (similar to a set of tables and relationships between them in a relational database schema).
- Whenever a Device (Thing) sends a measure or data instance , we can refer to this as an instology (ontology instance).
- Entities can be created in several ways: Visually in a UML class diagram, writing a JSON schema or XML , defining field by field through a form, or importing a file with a set of data in CSV or XLS format.
- ThinKP: A ThinKP (according to Sofia2 terminology, we can find it also as KP or Knowledge Processor) represents each one of the elements interacting with the platform, publishing or consuming information.
- A Thing can be representing a simple device (such Arduino or iBeacon), a Gateway (i.e. a Raspberry) or a complex IT system.
- A Thing can deal with one or several Entities (ontologies).
- By the time a Thing starts its execution, a instathing is created (KP instance). A Thing may have many instances.
- Sofia2 communications are secured. In the case of platform – instathing communications, we will use an authentication token, ensuring the connected Thing is registered and authorized to do so.
- Asset (Think Type): An asset will support the definition of the static characteristics of any Thing. Can be used to define different type of devices (i.e. city lanterns, or manufacturing engines) and to manage its status as assets.
Looking in “ThinKPs SOFIA2” menu, and “My ThinKP’s” submenu, we can manage the creation, modification and deletion of any ThinKP, its security tokens and instances of each one of them.
With this configuration, we can communicate our Things with the platform, following the SSAP protocol.
To do so, Sofia2 provides a list of development APIs (available in our website), so this communication can be implemented on different languages, and using different communication protocols (i.e. MQTT, rest, websockets…)
Once the project is running, we can control and monitor our thinKP (devices) from different perspectives:
From the “ThinKP Sofia2” menu, ‘Connected ThinKPs’ submenu we will visualize the list of active connections and relevant information of each one of them (identification, sessionKey y activation date).
From the ‘Management’ Sofia2 menu, “Connection Management” submenu, we can see a list of connections from the physical and logical perspective. We will be able to do specific searches, close connections and even block specific undesired clients, avoiding them to be connected anymore to the platform.
SW Configuration Management
We will be able to control the version and configuration of the software deployed in our Things using this functionality, accessible from “ThinKPs Sofia2” menu, “Config and SW in ThinKPs” submenu.
This option allows us to link thinKPs to specific SW (uploaded in Sofia2 platform), and deployment parameters, so updating this configuration in the platform, we will ensure that the device will be able to identify this update on Sofia2 and launch the download and update process on the client-side automatically.
This is really useful in complex scenarios where there are hundreds or thousands of connected devices (i.e. smart cities or smart factories), and we need to maintain the last version of all of them aligned with the project lifecycle.
As an additional functionality, we can manage the actual things connected through our ThinKPs, with geolocation of each one of them, categorization and management of its properties.
In summary, Sofia2 supports a complete set of functionalities related to device management, from the configuration (including remote deployment) and also from the runtime perspective.
… more coming soon
Anyhow, and following our continuous improvement approach, we’re working on new functionalities. Among others, we’re working in an Advanced Devices Management (ThinKPs), including:
- To have a centralized visualization of the status of all and configured connected devices (last configuration, geolocation, messages and error logs and even HW status). In order to do so, we are improving the SSAP protocol with new messages such as:
- Direct communication and actuation from Sofia2 Platform to whatever connected thinKP, so we can collect information or launch actions remotely from the platform.
- Unique UI to control and access all functionalities (already existing and new ones), so we’re re-designing it, into one single UI with several tabs (ThinKPs, Assets, Log, Error, Status and Actions) .
We will continue sharing more details in following posts.