For a long time now, not only people have been communicating with each other, but also machines and devices talk with people or even with each other: Such as voice assistants or order buttons in the private sphere or monitoring and predictive maintenance systems in the industrial environment.
However, they all have one thing in common: They need a piece of software – an application logic – to do anything at all. Only in this way do the bits and bytes acquire meaning and are interpreted accordingly. This intelligence is combined in the so-called IoT App.
What is an IoT App?
An IoT App contains all the logic for an application on the internet of things. All executable files are combined in it. The IoT App is the application that, like a smartphone app, is installed on the individual devices as well as on the IoT Platform itself. Configurations can then be made on the respective devices, but the basic functionality of the application remains the same.
The IoT App does much more and takes care of the graphical representation of the application.
What are the advantages of using IoT Apps?
Already during development, but also later operationally, IoT Apps offer many advantages. Whether you are a software department manager, programmer, tester, server administrator or user, different features and functionalities of IoT Apps are of particular importance.
The three biggest advantages of IoT Apps:
- Creation and use without media discontinuity
The IoT App represents the entire chain from data acquisition to user interface including configuration options. The creation, management and use are solved centrally and without media discontinuity by the system. The data can be integrated into third-party systems or data from third-party systems can be used in the IoT App via a standardised API.
- Full stack development
All components required for an IoT App are created in the rapidM2M Studio. From the logic on the device itself to the logic on the IoT Platform to the user interface, the development is covered holistically. The system even goes one step further and includes processes for device and application management as well.
- Integrated release and deployment process
The rapidM2M Studio includes functionality for release and deployment processes. In addition, an automatic version management of the IoT App is available. With the status “Stage”, “Released” and “Passive”, the test and life cycle of an IoT App is mapped. There are extensive mechanisms for rolling out the IoT App and the IoT Platforms and subsequently to individual devices. Rollout and update mechanisms over-the-air are also integrated.
What does an IoT App consist of?
An IoT App is composed of the following components:
- Device Logic (DLO)
The Device Logic is the program logic that is executed locally on the device. For example, data is collected, processed and transmitted to a server at regular intervals. If a defined event occurs, an output can be controlled or a transmission can be triggered, depending on the application and device
Examples and libraries for programming the device logic are available in the rapidM2M Studio. The libraries are continuously extended. Besides libraries for specific sensors (pressure, temperature, humidity, accelerometer, GNSS, …) there are general libraries like a random number generator, the calculation of sunrise/sunset or the generation of sine and cosine waves. The device logic is written in the C-like PAWN notation.
- Data Descriptor (DDE)
The Data Descriptor defines the structure of the data and configurations that are exchanged between the devices and the IoT Platform. This is necessary so that the device and the IoT Platform understand each other and speak the same language.
- Backend Logic (BLO)
The Backend Logic is the program logic (node.js) that is executed on the IoT Platform. This allows data from multiple devices to be used for calculations or data from external services, such as weather data, to be integrated.
- Portal View (POV)
The IoT App is a blueprint that contains all the necessary program codes and settings. An IoT App can be installed on any number of devices. With the configuration, individual settings can be made for each device. These settings can be, for example, the recording and transmission interval.
Not all components are always necessary for a functioning application. For example, there are IoT Apps that do not require any additional logic on the IoT Platform (this means no Backend Logic) or do not need a Portal View. There are also IoT Apps that do not ned a device (and therefore no Device Logic). This can be the case when an IoT App uses data from third-party systems starting from backend logic. However, a Data Descriptor that defines the structure of the data and configuration fields are required in all IoT Apps.
How is an IoT App created?
All components (Device Logic, Data Descriptor, Backend Logic, Portal View, Configuration) of the IoT App are created in the IDE rapidM2M Studio. The rapidM2M Studio enables the collaborative work of several developers on an IoT App. Test and debugging functionalities are provided and release processes are mapped. Test and debugging functionalities are provided and release processes are mapped.
The registration at the Microtronics Partner Portal includes, among other things, the free access and use of the rapidM2M Studio.
How are IoT Apps installed on a great number of devices?
The rapidM2M Studio provides a release process. To install the IoT App on the device, it must first be published. A distinction is made between Stage (test version), Released (productive version) and Passive (deactivate version).
When publishing, the rapidM2M Portal or the IoT Platform on which the devices are operated is specified. With the publication, the IoT App appears in the store of the App Center of the respective IoT Platform. The IoT App is installed on the server and can then be used. All steps are listed in the instructions for installing an IoT App.