MAINFLUX TECHNOLOGY

INTERNET OF THINGS PLATFORM

OPEN-SOURCE AND PATENT-FREE

DEPLOY ON-PREMISES OR IN THE CLOUD

Mainflux is highly secure, scalable, open-source IoT platform written in Go and deployed in Docker.
It serves as software infrastructure and set of microservices for development of the
Internet of Things Solutions and deployment of Intelligent products.

SEAMLESS INTEGRATION
WITH OTHER SYSTEMS

SCALABLE AND FAST

HIGHLY SECURE

HARDWARE AND DEVICE
AGNOSTIC

MAINFLUX INFRASTRUCTURE STACK

Mainflux software infrastructure stack is composed of all components and microservices necessary for IoT solutions.
The IoT Cloud Platform will facilitate the interoperability of the IoT solution with existing enterprise applications and other IoT solutions.

SERVER SYSTEM
SERVER SYSTEM FOR DEVICE AND DATA MANAGEMENT

Mainflux handles the persistent storage layer (database) to store and query data readings from devices. This way it is capable of presenting and visualising device data history via graphical dashboards or export to various business apps for data analytics

Mainflux also acts as a highly secure, multi-protocol IoT device server.
It provides real-time, two-way communication between applications, devices and cloud services across diverse network protocols like HTTP, MQTT, WebSocket and CoAP, making a seamless bridge between them.

SERVER SYSTEM
TECHNOLOGY


  • Go programming language for highly concurrent server backend programming

  • PUB/SUB multiprotocol messaging bridge (HTTP, MQTT, WebSocket, CoAP) based on NATS ultra-performant broker

  • Internal database for device and application data persistence (MongoDB)

  • Reverse proxy (NGINX) for security and load-balancing

  • Time-series database for sensor data collections (InfluxDB) (WIP)

  • Anomaly Detection and Alerting system (WIP)

  • LWM2M server based on CoAP (WIP)

APPLICATION ENABLEMENT AND PRODUCT DEPLOYMENT
PLATFORM, SOFTWARE FOUNDATION AND TOOLS

Mainflux Iot Platform provides a set of SW SDKs and client libraries for various HW platforms in several programming languages (C/C++,JavaScript, Python), and set of clean and open APIs, a powerful development tools for:


  • Development of custom IoT applications and industry grade IoT solutions

  • Rapid prototyping and development of intelligent products

  • Seamless Provisioning of any device or intelligent /smart product

  • Integration of your solution or device-data with other key business
    applications and web services.)
DEPLOYMENT
TECHNOLOGY


  • Docker Container and docker-compose

  • Kubernetes

  • NGINX load balancing

  • Cisco MANTL

APPLICATION ENABLEMENT
TECHNOLOGY


  • Application provisioning

  • User accounts

  • Identity Provider for OpenID Connect (OAuth 2.0)

  • SDKs and libraries

  • Set of well defined and documented APIs
SECURITY
FAULT-TOLERANT SECURITY SYSTEM

Mainflux is the highly-secured system. It has a dedicated authentication and authorization service that protect the system from unauthorisedaccess 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).

Mainflux security service actually combines several latest security standards and approaches like JWT encrypted and signed tokens, OAuth2.0, public key infrastructure (PKI) and client-side certificates inorder to achieve industry-grade security.

SECURITY
TECHNOLOGY


  • Dedicated Mainflux Security server written in Golang

  • Authentication (token based) and Authorization with
    fine-grained Acess Control

  • TLS and DTLS (HTTPS, WSS, MQTT with TLS, CoAP with DTLS)

  • API keys based on JWT

  • Cryptography with Vault

  • Reverse proxy with NGINX
MAINFLUX ARCHITECTURE

Mainflux software infrastructure stack is composed of all components and microservices necessary for IoT solutions.
The IoT Cloud Platform will facilitate the interoperability of the IoT solution with existing enterprise applications and other IoT solutions.

LINK DESCRIPTION
httpadapter HTTP message API server
manager Service for managing platform resources, including auth
mainflux-influxdb-writer Worker behind NATS that writes messages into DB
mainflux-influxdb-reader HTTP API server for reading messages from DB
mainflux-mqtt MQTT PUB/SUB Broker (with WebSocket support)
mainflux-coap CoAP Server
mainflux-ui System Dashboard in Angular 2 Material
mainflux-cli Interactive command-line interface
MongoDB Devices/Measurements NoSQL Database
InfluxDB Time-Series Database for Messages
PostgreSQL DB needed for Auth service (Hydra and Ladon)
Hydra OAuth-2.0 Server
Redis System async events and caching
NATS System event bus
NGINX Reverse Proxy with Auth forwarding
You need internet of things solution or hardware expertise?