# dgiot/dgiot

Open Source Industrial IoT Platform | 300+ protocols | 6-min deploy | Modbus OPC UA MQTT | 12K Stars

Repository: https://github.com/dgiot/dgiot
Canonical: https://ross.abutalabs.com/products/dgiot
Homepage: https://www.dgiotcloud.cn/
Language: Erlang
License: Apache-2.0
License Family: permissive
Topics: iot, iot-platform, mqtt, industrial-iot, modbus, digital-twin, edge-computing, erlang, low-code, opc-ua, scada
Last push: 2026-08-16T09:49:20+00:00

## Health v2 (maintenance only)
Score: 90/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 98, release rhythm 73, longevity 100
- inputs: {"age_days": 2017, "days_push": 17, "days_rel": 22, "gap_med": 104, "n_releases_24m": 4}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 4834, forks 966 (observed 2026-08-28T04:09:00.621563+00:00)

## What it is
DGIOT is an open-source industrial IoT platform built on Erlang/OTP and EMQX that aggregates device connectivity across 300+ protocols including Modbus, OPC UA, and MQTT. It provides device shadowing, an ontology-based rule engine, time-series storage in TDengine, and dashboards for managing millions of devices.

## Use cases
- connect industrial PLCs and sensors via Modbus or OPC UA to a central platform
- self-host an MQTT-based IoT platform for millions of devices
- build a SCADA-style monitoring dashboard with alerts and rule engine
- manage device shadows and digital twins for factory equipment
- ingest telemetry into time-series storage and visualize it
- deploy an industrial IoT gateway with low-code configuration

## When to choose
- you need broad industrial protocol support (Modbus, OPC UA, MQTT) in one platform
- you want a self-hosted, Erlang-based platform proven at million-device scale
- you need device shadowing, rule engines, and time-series storage out of the box
- you prefer a 6-minute quick deployment with Apache-2.0 licensing

## When to avoid
- you need a lightweight consumer IoT hub rather than an industrial platform
- your team cannot maintain Erlang/OTP code
- you only need simple MQTT brokering without device management or rules
- you require a managed cloud IoT service rather than self-hosted infrastructure

## Facets
- artifact type: application
- maturity: active
- function: iot, message-queue, database, monitoring, alerting, web-framework, auth, authorization, streaming, data-visualization, workflow-automation
- domain: iot, self-hosted, analytics, developer-tools
- platform: self-hosted, elixir, cloud
- tags: industrial-iot, mqtt-broker, modbus, opc-ua, scada, digital-twin, edge-computing, low-code, device-management, time-series, tdengine, emqx, erlang-otp, protocol-adapters, automation, real-time, linux, docker, web-server

## Member repositories
- dgiot/dgiot (main) score 90

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:00.621563+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:18:29.881302+00:00, confidence not recorded.
  - readme: https://github.com/dgiot/dgiot (fetched 2026-08-28T04:09:00.621563+00:00, sha ddbabe91fdc2)
- Data as of 2026-08-30T08:39:29.467469+00:00.
