The customer is a hardware manufacturer of devices for access control, time tracking, and data acquisition in industrial facilities. The devices are supplied to companies creating solutions for building access control and personnel time tracking.

The customer wanted to create an IoT platform for managing a large number of edge devices. The edge devices are access control and data acquisition terminals equipped with RFID, transponders, barcode readers, biometric fingerprint readers, digital and analog inputs, GPS, and other units.
The IoT platform should be available for cloud installation or on-premise installation on a small single-board computer such as Raspberry Pi, depending on the number of edge devices.
Our challenge was to develop a module that provides management and monitoring of devices, as well as firmware updates. We needed to seamlessly integrate new types of edge devices into the IoT platform and enable data logging to implement predictive maintenance techniques.

Applied Systems engineers designed the solution architecture and implemented a custom IoT platform module that controls a large number of edge devices. The solution supports the integration of new devices with minimal effort of manual configuration and is not based on existing cloud service providers such as Microsoft Azure IoT Suite, AWS IoT Platform, etc.
Our developers proposed to implement a device management system in a loosely coupled service-oriented architectural style with a web services implementation approach. We considered this solution to be the best choice to support the required scalability (including multi-cloud platforms) and reduce the cost of further extensions and maintenance.
Services are deployed as Docker images and instantiated as docker containers on target systems. This approach has allowed us to simplify deployment in various target environments and provide a simple and reliable way to further update the device management system on the client-side.

Integration of IoT platform and enterprise system

Functions of the developed solution:

  • Connectivity. New devices are connected to the IoT system via IP-based protocols (HTTP(S), TCP/IP, MQTT, Modbus) with the ability to support custom protocols.
  • Scalability. The developed system provides scaling to integrate the number of devices required by the customer.
  • Data transformation. Data generated by the edge devices can be automatically transformed to a required format according to pre-configured rules.
  • Data storage. Relational and time-series database management systems are used. The collected data is accessible from the customer's server via RESTful API (ODATA protocol).
  • Data analysis. The analyzer module is used to search for information in the log data and prepare it for further processing, including the implementation of predictive maintenance techniques.
  • System monitoring. Users can remotely monitor the performance of edge devices and IoT platform.
  • Maintenance. A system operator can remotely update the firmware to keep the system up-to-date.
  • Connection bandwidth. Device notification alerts and log messages are transmitted in real-time. The edge devices transmit the access request to the server, the server handles the request (optionally involving the customer’s server) and sends the response back to the devices, controlling the total roundtrip time required by the customer.
  • Heterogeneity. Communication between the stacks is based on open standards. The system can be easily adapted to work with various system protocols such as Modbus, MQTT as well as custom proprietary communication schemas. Two different communication protocols are available: Proprietary TCP/IP-based Communication, HTTP/ HTTPS Communication.
  • Deployment. The system can be installed in cloud storage or on-premise (local server, single-board PC) depending on the number of devices.
  • Security. The solution provides security techniques for devices authentication, users authorization, data encryption, and event logging.
  • Reliability. Offline operating mode allows the system to function in case of intermittent connectivity.

Our solution ensured the ability to effortlessly integrate dozens of various types of edge devices and the IoT platform in a short period, providing interoperability using both standard and custom protocols.