Multi-technology support with Bridges (LoRaWAN, MQTT, BLE, etc)
Device Management and Control with Device Drivers
Unified IoT data representation layer with Data Schemas
RPC mechanism for controls & device function calls
Notifications, integrated with SMS, Whatsapp, Email
Historical data storage
Users & user profiles management
Generic and media files storage with Media Server API
Apps off-the-shelf: Admin, Monitor, Board, Report, Task
Business Logic Dispatcher module
Pixel LoRaWAN Network Server
Modern GraphQL API for Web applicationsgRPC API for high speed data communication
Architecture overviewThe Platform is built around its core component PixelCore which integrates data storage and data processing capabilities with a flexible and easy to use message bus functionality. Data from IoT Devices are being injected into the Platform with the help of the Bridges and Device Drivers and then being stored, processed with Business Logic modules and presented to the end-user in native and 3rd party Applications.
The platform is built using high performance and industry standard components on the backend side and provides a modern and powerful set of APIs available for its services to achieve high performance from one hand and extensive functionality from the other.
The Platform in its Core leverages The World's Most Advanced Open Source Relational Database - PostgreSQL. It allows structured but very flexible data storage including high speed processing and very rich functionality exposed to other components of the system via APIs. Platform supports two types of APIs, namely gRPC and GraphQL, which can be used for two typical use cases.
gRPC API is a high-performance Southbound API with functions set optimized to high speed processing of device data flow and device control functions.
GraphQL is a modern and powerful API technology with a rich set of functionality which makes it a perfect fit for UI and business logic implementation. GraphQL is used as a Northbound API.
The Platform is designed with two types of Core components which support interaction with IoT Devices: Network Bridges and Device Drivers. Network Bridges enable support of various communication technologies (LoRaWAN, MQTT, BLE, ModBUS, etc) and provide a way for external IoT data to enter the Platform. Bridges support essential two-way communications.
Bridges handover data to Device Drivers. Device Drivers provide device specific data decoding and push decoded data into the Platform.
Device commandsBridges expose RPC API within the Platform to manage physical devices (provisioning, generation of downlink and ingestion of uplink messages, other technology specific features).
Bridges and Device Drivers use gRPC API to communicate to each other via the Platform.
Bridges & Driver combosBridges and Driver Packs can be combined to meet the deployment requirements. Same Driver Pack can manage devices thru one or few Bridges (assuming same technology is used). At the same time one Bridge can feed the data to one or few Device Driver Packs.
Multiple IoT networkBridges are very powerful tools which can be used to connect PixelCore to multiple IoT networks and compose sophisticated configurations. That allows Platform users to cross-link sensor data from different domains and therefore have a more precise picture of the actual situation.
FederationPixelCore supports federation approach when dedicated instances of the Platform can be used jointly within a single deployment. That allows it to distribute load processing across multiple servers, move workload closer to the corresponding IoT networks and have a finer control over data flows and data processing.
Business logicsThe Platform is powered with easy-to-use and customizable component: Business Logic Dispatcher. Dispatcher is responsible for all Business Logic implementation within the Platform (for all off-the-shelf Apps). However stand-alone BL modules are also supported. Dispatcher provides a convenient framework allowing a developer to be focused only on business logic itself and takes care about all infrastructure overhead - authorization, scheduler, messages subscription and other.
3RD party integrationHaving two industry standard APIs implemented PixelCore provides easy-to-use 3rd party integrations.
Sending informationOne of the important features of the Platform is Notifications support and Notifications delivery. Notifier is a module which listens for generated Notifications and provides multiple delivery options for the users. Essentially it records delivery status for further study if needed. Notifier supports SMS, Email, Whatsapp delivery options out-of-the-box with the help of Twilio Integration. Notifier is implemented under the Business Logic Dispatcher framework and is easily expandable to support other technologies.
Object data structureIn PixelCore all entities from the physical (and not only) world like devices, sensors and gateways are represented as Objects. Object structure is defined with the help of Schemas. Schemas and Objects are connected during a full Object’s lifecycle - change of Schema leads to automatic update of Objects created with this Schema. Objects usually represent Devices, Media, Datasets and Applications. Objects are used to represent the actual status of an entity and also have associated historical storage.
PixelCore data unitsIn addition to Object records, the PixelCore makes it possible to store and use supplementary information. This allows one to conveniently manage and share IoT data without involving the resources of third-party platforms and applications. However, integration with external platforms is also possible.
Deployment typesPixelCore can be deployed in PixelCloud or on a Customer’s Server (depending on the amount of data and traffic load):
4 Core 2.3Ghz+ CPU
50Gb+ HDD space