All the benefits of open source solutions: transparency, control, community testing, support and bug fixes. No client access licenses issues. No vendor lock. Apache 2.0 license.
Modern architecture, complete set of easy-to maintain services with clear division of responsibility.
On –Premise, any Cloud which supports Docker,on the Edge, even on RPi Class Device. Native deployment, Docker containers, Kubernetes deployment.
Modern, highly concurrent, readable, easier to maintain,fast/efficient, highly portable (runs on Windows, Linux, Mac and both Intel and ARM CPUs).
NGINX reverse proxy for security, load-balancing and termination of TLS and DTLS connections. Mutual TLS Authentication using X.509 Certificates. Security at every layer.
Good isolation, fast startup, easy to distribute, small footprint due to Go and multi-stage builds (~5MB per microservice), production deployment using Kubernetes.
Thanks to Golang language, it has tested performance, deployment speed, fast and robust execution, small footprint.
MQTT, WebSocket, CoAP) based on NATS ultra-performant broker.
No need to configure and modify the core of the platform for additional functionalities.
LoRa adapter for bridging between Mainflux IoT platform and LoRa Server service.
All the benefits of open source solutions: transparency, control, community testing, support and bug fixes. No client access licenses issues. No vendor lock. Apache 2.0 license.
On –Premise, any Cloud which supports Docker,on the Edge, even on RPi Class Device. Native deployment, Docker containers, Kubernetes deployment.
Thanks to Golang language, it has tested performance, deployment speed, fast and robust execution, small footprint.
NGINX reverse proxy for security, load-balancing and termination of TLS and DTLS connections.Mutual TLS Authentication using X.509 Certificates. Security at every layer.
No need to configure and modify the core of the platform for additional functionalities.
Modern architecture, complete set of easy-to maintain services with clear division of responsibility.
Modern, highly concurrent, readable, easier to maintain,fast/efficient, highly portable (runs on Windows, Linux, Mac and both Intel and ARM CPUs).
Good isolation, fast startup, easy to distribute, small footprint due to Go and multi-stage builds (~5MB per microservice), production deployment using Kubernetes.
MQTT, WebSocket, CoAP) based on NATS ultra-performant broker.
LoRa adapter for bridging between Mainflux IoT platform and LoRa Server service.
Mainflux software infrastructure stack is composed
of all components and microservices necessary for IoT solutions, projects or products.
The IoT Platform will facilitate the interoperability of the
with existing enterprise applications and other IoT solutions.
Bidirectional communication (interaction) with very large number of devices and gateways, using different open protocols and data formats.
Normalization of the messages for easy integration with the rest of the infrastructure.
Security from the edge using encrypted channels to secure data. Support for several authentication factors (Authentication - Multi-level-authentication) and specific data-access-rules.
Monitoring network data usage and billing and generating notifications and alerts.
PUB/SUB multiprotocol messaging bridge HTTP Server, WebSocket Server MQTT Broker, CoAP Server
NATS -message broker , an open-source scalable messaging system used for message exchange within the Mainflux platform itself.
Normalizer.
Multi-protocol support and hardware agnostic. Connectivity for any device and any application.
Ultra Performant broker.
Normalizer.
Ensures the connected objects, devices and gateways are working properly and its software and applications are updated and running.
Discover, register, and provisioning of new devices
Remote configuration, device control and management of firmware/ software updates, and troubleshooting
Grouping devices by connection to channels (Channel corresponds to MQTT topic)
Stop/reboot selected devices
Manage organizations, users, and access rights
Go programming language for highly concurrent server backend programming
JWT and Certs for Devices and JWT (short TTL)
Bearer Token
Highly-scalable and fault tolerant for massive deployments (millions of devices and sensors)
Asynchronous control of devices
Automated discovery and provisioning of devices to ease deployment - Device setup from box to cloud in minutes
Aggregation and collecting data from devices and processing and storage to database - a scalable data store that supports the volume and variety of IoT data.
Data prioritization, critical when machines, sensors, and other objects are generating new floods of information
Enablement of device data synchronization
Multimodal database support -
Storage scaling
Internal database PostgreSQL (device metadata)
JWT and Certs for Devices and JWT (short TTL)
Bearer Token
Support for databases that store and process data in multiple data models.
Scalable for big data and able to store both structured (SQL) and unstructured data (NoSQL).
Integrated development environment for custom IoT applications and industry grade IoT solutions, rapid prototyping and development of intelligent products.
Seamless provisioning of any device or intelligent /smart product access management.
Integration of your solution or device-data with other key business applications and web services.)
A set of software SDKs and pre-built client libraries for various HW platforms in several programming languages (C/C++,JavaScript, Python)
Set of well defined and documented APIs
Identity Provider for OpenID Connect (OAuth 2.0)
Docker Container and docker-compose, Kubernetes0
NGINX load balancing
LDeveloper and user friendly
Setup is quick and easy, enabling developers to save implementation time.
Graphical depiction of real-time sensor data- reports, graphs, and dashboards different types of data, telemetry, statistics, geolocation, metadata-
Interactive user interface for device management sending commands, changing configuration and metadata, etc.
Angular 7+ & Typescript and Bootstrap 4+ & SCSS
System manangement: Create Things (devices and apps) and channels, manage connections and control activity.
Data Visualisation: Graphs and maps to visualise messages received and devices locations.
Rules. engine: Configuration of rules to inform user depending on the received data. AI: apply AI on data to extract informations about your devices.
Open, modularized and flexible architecture with many IoT protocols and easy-to-use APIs, ensures seamless 3rd-party integration with existing enterprise systems ( (e.g., ERP, BI, CRM),
databases, analytics programs, back-end systems and other cloud services.
Built-in application programming interfaces (API), software development kits (SDK ), and gateways.
IoT Protocols: HTTP Server, WebSocket Server MQTT Broker, CoAP Server.
Microservices modularized architecture.
Integration without excessive configuration.
Extensible: Adding new functionality for vertical solutions and applications does not require reconfiguration or modification of the core platform. Permitting the continued flow of data and operations while preferred functions are extended.
Multi-protocol support and hardware agnostic. Connectivity for any device and any application.
Mainflux is the highly-secured system. It has a dedicated authentication and authorization service that protect the system from unauthorised access and unauthorised devices and applications.
All messages and all network traffic coming from or to Mainflux are encrypted by latest security standards (TLS v1.3).
Dedicated Mainflux Security server written in Golang.
NGINX reverse proxy for security, load-balancing and termination of TLS and DTLS connections.
Authentication (token based) and Authorization with fine-grained access control TLS and DTLS (HTTPS, WSS, MQTT with TLS, CoAP with DTLS).
Mutual TLS Authentication using X.509 Certificates
API keys based on JWT.
Cryptography with Vault.
Microservices modularized architecture.
Integration without excessive configuration.
Extensible: Adding new functionality for vertical solutions and applications does not require reconfiguration or modification of the core platform. Permitting the continued flow of data and operations while preferred functions are extended.
Multi-protocol support and hardware agnostic. Connectivity for any device and any application.
LINK | DESCRIPTION |
---|---|
users | Manages platform's users and auth concerns |
things | Manages platform's things, channels and access policies |
normalizer | Normalizes SenML messages and generates the "processed" messages stream |
http-adapter | Provides an HTTP interface for accessing communication channels |
ws-adapter | Provides a WebSocket interface for accessing communication channels |
http-adapter | Provides an HTTP interface for accessing communication channels |
mqtt-adapter | Provides a MQTT interface for accessing communication channels |
lora-adapter | Provides a LorasWAN interface for accessing communication channels |
NATS | System event bus |
NGINX | Reverse Proxy with Auth forwarding |