finds.dev← search

// the find

iioter/iotgateway

★ 1,059 · C# · MIT · updated Mar 2026

An industrial IoTGateway with B/S architecture that enables bidirectional communication between industrial devices (southbound connections) and IoT platforms (northbound connections). It supports numerous industrial protocols, and can connect to various IoT cloud platforms.

IoTGateway is a .NET 8 browser-based industrial gateway that bridges southbound industrial protocols (Siemens S7, Mitsubishi, Modbus, OPC-UA, Fanuc CNC) to northbound IoT platforms (ThingsBoard, IoTSharp, Huawei Cloud). It ships with a web UI for visual device configuration, built-in MQTT broker, OPC-UA server, and RPC write-back support. Aimed at factory/SCADA engineers who want a self-hosted, configurable edge gateway without writing protocol code from scratch.

Protocol breadth is genuine — S7 via snap7, Mitsubishi MC, Modbus TCP/RTU, OPC-UA, Fanuc FOCAS (the native DLLs are right there in /Dll), and a plugin driver model so you can add custom protocols as DLLs without forking. The bidirectional RPC path (cloud sends command → gateway writes PLC register) is actually implemented and demonstrated, not just promised. Built-in SQLite for local persistence means it keeps running through network outages and syncs when the northbound connection comes back. Running on .NET 8 with EF Core migrations means deployment is a single binary with a real schema versioning story, not a fragile Python virtualenv.

The SQLite database file (iotgateway.db) is checked into the repo — that's a credentials and configuration leak waiting to happen in any fork or deployment. OPC-UA usage requires an OPC Foundation license that the README explicitly disclaims responsibility for, which is a legal landmine that will surprise integrators. Documentation is almost entirely in Chinese with no English translation, so the international developer audience is effectively locked out despite the English topics list. There's an enterprise edition behind a paywall for unspecified features, which means the open-source version is probably missing something production-critical — and you won't find out until you're already committed.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →