ioT platform requirements


Bidirectional Communication
Device Authentication
Device Registration and Provisioning
Device Management
Edge computing

Connectivity and orchestration of various IoT data sources and technologies such as MQTT, CoaP or REST

Wiring together hardware devices, APIs and online services

Data Cleaning: Transformation, filtering, routing, aggregation, enrichment of data

Data Processing: Error handling, Re-Try, Re-Routing, Waiting, Resuming

Synchronous and asynchronous communication

Typically, real time processing

Visual coding, testing and debugging with flow editor, but also option respectively need to write source code and extend components using the open SDKs and APIs.

Deployed at the edge, either at a local IoT Gateway or directly on devices and sensors

Device Management

Data Collection

Processing

Visualization

Control, React

Protocols (MQTT, COAP, HTTP, Physical wires, Bluetooth, wifi)

Machine learning


Fault tolerance
Message loss
Persistence
Security
Recovery
Error handling

Provision, monitor and control your IoT entities in secure way using rich server-side APIs. Define relations between your devices, assets, customers or any other entities.

Collect and store telemetry data in scalable and fault-tolerant way. Visualize your data with built-in or custom widgets and flexible dashboards. Share dashboards with your customers.

Define data processing rules and trigger reactions using plugins. Raise alarms on incoming telemetry events or attribute updates.

Create rich IoT Dashboards for data visualization and remote device control in real-time. Customizable widgets allows you to build end-user custom dashboards for most IoT use-cases.

Telemetry Data Collection: Collect and store telemetry data in reliable way, surviving network and hardware failures. Access collected data using customizable web dashboards or server-side APIs.

Multi-tenancy: Support multi-tenant installations out-of-the-box. Single tenant may have multiple tenant administrators and millions of devices and customers.

Data Visualization: Provides 30+ configurable widgets out-of-the-box and ability to create your own widgets using built-in editor. Built-in line-charts, digital and analog gauges, maps and much more.

Horizontal scalability: Amount of supported server-side requests and devices increase linearly as new thingsboard servers are added in clustering mode. No downtime, server restarts or application errors.

IoT Rule Engine: Process incoming device data with flexible rules and plugins based on device attributes or message content. Forward data to external systems or trigger alarms using rules. Enrich server-side functionality or send commands to devices using plugins.

Fault-tolerance: All thingsboard servers are identical. No master-workers or hot standby. Node failure is automatically detected. Failed nodes can be replaced without downtime. Persisted data is replicated using reliable NoSQL database.

Device Management: Provides ability to register and manage devices. Allows to monitor client-side and provision server-side device attributes. Provides API for server-side applications to send RPC commands to devices and vice-versa.

Security: Supports transport encryption for both MQTT and HTTP(s) protocols. Supports device authentication and device credentials management.

Asset Management: Provides ability to register and manage assets. Allows to provision server-side asset attributes and monitor related alarms. Ability to build hierarchy of entities using relations.

Customization and Integration: Extend default platform functionality using customizable rules, plugins, widgets and transport implementations. In addition to MQTT, CoAP and HTTP support, ThingsBoard users can use their own transport implementations or customize behaviour of existing protocols.

Alarms Management: Provides ability to create and manage alarms related to your entities: devices, assets, customers, etc. Allows real-time alarms monitoring and alarms propagation to related entities hierarchy.

100% Open-source: ThingsBoard is licensed under Apache License 2.0, so you can use any it in your commercial products for free. You can even host it as a SaaS or PaaS solution.