What is Mango M2M?
Mango M2M (now renamed Mango Automation) is a browser based human-machine interaction (HMI) and data acquisition and monitoring control (SCADA) platform developed by Serotonin Software (Canada). It is one of the few "complete platform level" projects on the official recommendation page of modbus.org. Unlike a single debugging tool or protocol library, Mango provides a complete solution from data collection to visualization.
The open-source module of Mango Automation is hosted on GitHub:github.com/MangoAutomation/ma-modules-public. The latest version is v4.5. x (updated in July 2024).
Mango M2M Core Features
- Multi Protocol Support: Built in support of various industrial communication protocols such as Modbus TCP/RTU, BACnet, SNMP, HTTP, MQTT, OPC, etc.
- Web Visualization: Ajax based browser interface, no need to install client software, can view real-time data and historical trends in any browser
- Data Logs: Supports storing collected data to SQL databases (MySQL, H2, Derby) for easy historical data analysis and report generation
- Alarm Management: Configurable Threshold Alarm, Notify Operations Personnel via Email, SMS, etc.
- Automation Script: Supports JavaScript/Python Script to Implement Complex Business Logic and Automation Control
- User and Permission Management: Supports Multi User, Multi Role Permission Control
Install Mango Automation
Linux Installation
# 下载 Mango Automation(Java 应用,需要 JRE 8+)
wget https://github.com/MangoAutomation/ma-core-public/releases/latest
# 解压并运行
unzip mango-*.zip
cd mango
./bin/start.sh
# 默认访问地址: http://localhost:8080/mango
# 默认用户名/密码: admin/adminWindows Installation
Download ZIP Package, Extract, Runbinstart.batStart the service. Mango can also be registered as a Windows service to achieve self startup upon startup.
Configure Modbus TCP data source
After starting Mango, enter the management interface through the browser. Steps to add Modbus TCP data source:
- Click on the menuData Sources → Add Data Source
- Select the protocol type asModbus TCP/IP
- Set the data source name (such as "Distribution Cabinet No.1")
- Fill in the device IP address and port (default 502)
- Set the polling period, such as 5 seconds
- Set timeout and retry times
- Save Configuration
Add Data Points:
- Click on the created data sourceAdd Data Point
- Set data point name (such as "A-phase voltage")
- Select register type (Holding Register/Input Register/Coil, etc.)
- Set slave address (Slave ID) and register offset address
- Select data type (Binary/Numerical/Alphanumeric)
- If unit conversion is required, set the scaling factor and offset (e.g. original value x 0.1=actual temperature ° C)
- Save
Create Dashboard
Mango's graphical interface editor allows drag and drop creation of dashboards:
- Click on the menuGraphical Views → Add View
- Choose a template (such as an empty template)
- Enter the drag and drop editor and select from the left component library:
- Analog Gauge(Analog dial): Suitable for displaying analog quantities such as voltage, current, temperature, etc
- Digital Display(digital display): concise numerical display
- Line Chart(line chart): display historical trend curves
- Binary Indicator(switch indication): Display status variables such as run/stop, on/off
Drag the data point to the corresponding component and bind it. After saving, you can view device data in real-time in the browser.
Configure Alarm Rules
Taking High Temperature Alarm as an Example:
- Click on MenuEvent Detectors → Add Event Detector
- Select TypeHigh Limit(Upper Limit Alarm)
- Set Upper Limit Value (e.g. 80 ° C)
- Set Alarm Level (Critical/Warning/Info)
- 在 Event HandlersConfigure Notification Method:
- Email Handler: Send Email Notification
- Set Point Handler: Modify Other Data Points (e.g. Turn Off Device)
- Script Handler: Execute custom scripts
Mango vs other open source SCADA
| platforms | language | features | applicable scenarios |
|---|---|---|---|
| Mango M2M | Java | browser native, drag and drop editor, Modbus support | small and medium-sized projects, rapid prototyping |
| Rapid SCADA | C # | comprehensive functionality, Windows platform | monitoring for large factories |
| FUXA | Node.js | Modern UI, Docker deployment friendly | Web native monitoring panel |
| Grafana+Node RED | Hybrid | Data visualization+process orchestration, flexible but needs to be combined to build | Customized project |
| ThingsBoard | Java | IoT platform, supporting MQTT/CoAP/Modbus | IoT device management platform |
Summary
Mango M2M has a unique positioning in the open source SCADA/HMI field - it is not a library or command-line tool, but a complete platform that can be directly deployed and used. Mango provides a full chain solution for Modbus device data collection, real-time dashboard display, historical data storage, and alarm notifications. For teams that need to quickly build Modbus device monitoring systems, Mango can significantly shorten the time from device integration to visual delivery. If you are looking for an open-source SCADA solution that supports Modbus protocol, Mango M2M is worth a careful evaluation.
Leave a Reply