Skip to main content

What is Mango?

Mango is an IoT and SCADA platform built for collecting, monitoring, and acting on real-time data from industrial equipment, building systems, and remote devices. It connects to over 30 protocols out of the box, stores time-series data, triggers alarms, and provides a browser-based interface for visualization and control.

Whether you are managing a single building or thousands of remote sites, Mango gives you a unified platform to bring data together, monitor conditions, and automate responses.

Overview

Mango was designed to solve a common problem in industrial automation: getting data out of diverse devices and protocols into a single, accessible system. Facilities often have equipment from dozens of manufacturers -- BACnet controllers, Modbus PLCs, OPC servers, MQTT sensors, SQL databases, SNMP network devices -- each with its own interface and data format. Mango connects to all of them, normalizes the data into a consistent model, and makes it available through a modern web interface and REST API.

The platform is built around a few core ideas:

  • Protocol agnostic -- Mango treats all data the same regardless of its source. A temperature reading from a BACnet thermostat and one from a Modbus sensor both become data points with the same properties, history, and alarming capabilities.
  • Real-time and historical -- Values update in real time in the browser, and every value is stored in a time-series database for historical analysis, reporting, and trend visualization.
  • Event-driven -- You define conditions (high temperature, communication loss, schedule triggers) and Mango evaluates them continuously. When conditions are met, it raises alarms and executes handlers (send email, set a point value, run a script).
  • Extensible -- The modular architecture lets you add data source types, UI components, and custom logic through installable modules.

Key capabilities

Data collection

Mango includes modules for over 30 protocols and data source types:

  • Industrial protocols -- Modbus TCP/RTU, BACnet IP/MSTP, OPC-UA, OPC-DA, DNP3
  • IoT protocols -- MQTT, HTTP, REST
  • Network and system -- SNMP, SQL databases, ASCII files, serial devices, SSH
  • Specialized -- Persistent TCP/IP, POP3 email, scripting data sources, virtual points

Each data source runs independently with its own polling schedule, connection settings, and error handling. You can run hundreds of data sources simultaneously, collecting tens of thousands of data points.

Real-time monitoring

The browser-based UI provides live dashboards, watch lists, and graphical views that update in real time over WebSocket connections. Operators can see current values, acknowledge alarms, and control setpoints from any device with a web browser.

Alarming and events

Event detectors monitor data point values and raise alarms when configurable conditions are met -- high/low limits, rate of change, state changes, no-update timeouts, and more. Event handlers respond to those alarms by sending emails, setting point values, executing scripts, or triggering external systems.

Scripting and logic

Meta-data points and scripting data sources let you create calculated values, aggregations, and control logic using JavaScript. Common use cases include unit conversions, flow totalizations, energy calculations, and conditional control sequences.

REST API

Every feature in Mango is accessible through a comprehensive REST API. External applications can read and write point values, query historical data, manage configuration, and subscribe to real-time updates. The API uses JSON and supports RQL (Resource Query Language) for flexible filtering and sorting.

Dashboards and visualization

The UI framework provides components for building custom dashboards -- gauges, charts, tables, maps, and SVG graphics. Dashboards can be tailored to specific roles: a facility manager sees building overview summaries, while a technician sees detailed equipment diagnostics.

Who uses Mango

Mango serves several distinct user communities:

  • Facility managers -- Monitor building systems (HVAC, lighting, energy), respond to alarms, and analyze trends to optimize operations and reduce energy costs.
  • System integrators -- Deploy Mango at customer sites, connecting diverse equipment into a unified monitoring platform. The modular architecture and REST API make it straightforward to customize for each project.
  • OEMs (Original Equipment Manufacturers) -- Embed Mango into their own products to provide remote monitoring and management capabilities. The MangoGT hardware appliance is purpose-built for this use case.
  • Building automation professionals -- Use Mango as a front-end for BACnet, Modbus, and other building automation networks, providing web-based access and alarming on top of existing control systems.
  • Industrial operators -- Monitor remote equipment such as water treatment plants, solar installations, oil and gas wellheads, and agricultural systems.

Architecture overview

Mango is a Java-based server application that runs on Linux, Windows, or macOS. The key architectural components are:

  • Core server -- The Java runtime that manages data sources, the point value cache, the event system, and the REST API. It runs as a system service and starts automatically on boot.
  • Time-series database -- Mango stores point values in a high-performance NoSQL time-series database optimized for write-heavy workloads. Configuration and metadata are stored in a relational database (H2 embedded by default, with support for MySQL and Microsoft SQL Server).
  • Module system -- Data source types, UI extensions, and additional features are packaged as installable modules. Modules can be added, updated, and removed without modifying the core installation.
  • Web server -- An embedded Jetty server provides the browser UI, REST API, and WebSocket connections. No external web server is required, though production deployments often place Nginx or Apache in front as a reverse proxy.
  • Browser UI -- The front-end runs entirely in the browser, communicating with the server through the REST API and WebSocket connections. No plugins, Java applets, or desktop software are required.

Deployment options

Mango runs in several deployment configurations depending on your requirements:

DeploymentBest forDetails
Linux serverProductionRuns as a systemd service on Ubuntu, Debian, CentOS, or RHEL. Recommended for most deployments.
Windows serverEnvironments with Windows infrastructureRuns as a Windows service.
DockerContainerized environments, cloudOfficial Docker image for container orchestration platforms.
MangoGT applianceEdge/gateway deploymentsPurpose-built hardware appliance with Mango pre-installed. Designed for remote sites, industrial cabinets, and OEM embedding.

For production use, Radix IoT recommends Linux with MySQL or Microsoft SQL Server as the configuration database, and a reverse proxy for SSL termination.

How Mango fits in the IoT stack

Mango sits between the device/protocol layer and the application layer in a typical IoT architecture:

  1. Device layer -- Sensors, PLCs, controllers, and meters produce raw data over industrial protocols.
  2. Mango (data acquisition and monitoring) -- Collects data from devices, stores it, evaluates alarm conditions, and exposes it through APIs and dashboards.
  3. Application layer -- Analytics platforms, ERP systems, cloud services, and custom applications consume data from Mango via the REST API or MQTT publishing.

Mango can also act as a protocol gateway, reading data from one protocol (e.g., Modbus) and publishing it to another (e.g., MQTT Sparkplug B or gRPC) for consumption by upstream systems.

Next steps

Now that you understand what Mango is and what it does, here are the recommended next steps: