# zhaopeiym/IoTClient

This is an IoT device communication protocol implementation client, which will include common industrial communication protocols such as mainstream PLC communication reading, ModBus protocol, and Bacnet protocol. This component is open source and free for life, using the most relaxed MIT open source agreement, you can modify and commercial use at will (commercial use please evaluate and test).   这是一个物联网设备通讯协议实现客户端，将会包括主流PLC通信读取、ModBus协议、Bacnet协议等常用工业通讯协议。本组件终身开源免费，采用最宽松的MIT开源协议，您可以随意修改和商业使用（商业使用请做好评估和测试）。

Repository: https://github.com/zhaopeiym/IoTClient
Canonical: https://ross.abutalabs.com/products/iotclient
Language: C#
License: MIT
License Family: permissive
Topics: iot, iotclient, tcp, socket, modbustcp, modbusrtu, modbusascii, plc, bacnet, siemens, siemens-s7, siemens-plc, modbus, plc-modbus-bacnet, mitsubishi, mitsubishi-plc, omron-plc, omronfins, omron
Last push: 2026-05-12T13:50:09+00:00

## Health v2 (maintenance only)
Score: 60/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 82, release rhythm 8, longevity 100
- inputs: {"age_days": 2516, "days_push": 113, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1668, forks 482 (observed 2026-08-28T04:05:19.784231+00:00)

## What it is
IoTClient is a C# (.NET Standard 2.0) library implementing clients for common industrial IoT communication protocols, including ModBus (TCP/RTU/ASCII), BACnet, and PLC protocols for Siemens, Mitsubishi, Omron, and Allen-Bradley devices. It enables cross-platform .NET applications to read from and write to industrial hardware, including on Linux and Raspberry Pi.

## Use cases
- read data from a Siemens S7 PLC in a .NET application
- communicate with Modbus TCP devices over the network
- poll Modbus RTU registers over a serial port
- integrate BACnet building automation devices
- read Omron FINS PLC registers from C#
- build an energy monitoring system that reads industrial meters
- run industrial device communication on a Raspberry Pi with .NET

## When to choose
- you need a free MIT-licensed .NET library for Modbus, BACnet, or mainstream PLC protocols
- you want cross-platform industrial communication including Linux and Raspberry Pi deployment
- you need to talk to Siemens, Mitsubishi, Omron, or Allen-Bradley PLCs from C#

## When to avoid
- you need protocols or PLC brands not covered by the library
- you require certified, vendor-supported industrial communication for safety-critical systems
- your stack is not .NET-based

## Facets
- artifact type: library
- maturity: active
- function: sdk, networking, developer-tools
- domain: iot, embedded-systems, developer-tools
- platform: cross-platform, windows, dotnet
- tags: modbus, plc, bacnet, siemens-s7, mitsubishi-plc, omron-fins, allen-bradley, industrial-protocols, csharp, iot-communication, automation, linux

## Member repositories
- zhaopeiym/IoTClient (main) score 60

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:19.784231+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-30T03:42:51.511363+00:00, confidence not recorded.
  - readme: https://github.com/zhaopeiym/IoTClient (fetched 2026-08-28T04:05:19.784231+00:00, sha 44b8bc5ccf00)
- Data as of 2026-08-30T08:39:29.467469+00:00.
