
源码系统概览
文章正文
Industrial Protocols 是一套面向 PHP 生态的工业网络通信协议组件源码,采用微内核加协议 SDK 架构,覆盖工业以太网、现场总线、IoT 消息、汽车总线等七大类共 40 种协议。
项目作者为开发者 erik,MIT 协议开源,要求 PHP 8.1 以上,内核零协议实现经自动发现注册扩展包,README 最后更新 2026 年,协议包按需经 Composer 安装。
源码简介
40 个协议包分七大类,工业以太网含 Modbus、BACnet、OPC UA、Profinet,IoT 消息含 MQTT 与 HART-IP。
微内核提供协议注册中心、连接管理器、网关引擎、熔断器与协程适配,启动时自动发现已装协议包。
连接管理支持健康检查返回状态与延迟毫秒数,内置四种重试策略与 Prometheus 指标输出。
六大运行环境自动适配,Plain PHP、Laravel、webman、Hyperf、ThinkPHP 与 Yii2 按优先级检测。
和 Python 工业协议库对比,区别在于 Industrial Protocols 让 PHP 团队直接复用现有技术栈接入工业设备。
| 对比维度 | Industrial Protocols | Snap7 |
|---|---|---|
| 运行语言 | PHP 8.1 微内核架构 | Python 或 C 生态 |
| 协议覆盖 | 40 种七大类 | 单协议库为主 |
| 框架适配 | 六大框架自动检测 | 多数无框架层 |
| 扩展方式 | 协议包独立仓库按需装 | 整体引入 |
做工业数据采集、能源监控与设备网关的 PHP 团队,可以基于这套组件快速搭起通信层。
适用场景
- 工厂物联网平台做 PLC 与传感器数据采集。
- 能源管理系统做电表水表协议接入。
- 楼宇自控做 BACnet 设备通信。
- 学习微内核架构与协议适配器设计的参考实现。
技术栈与运行环境
内核要求 PHP 8.1 以上加 Composer,协议包独立发布按需安装,支持 Fiber 与 Swoole 协程环境。
常用协议端口如 Modbus 502、OPC UA 4840、MQTT 1883,设备连接参数走配置文件管理。
安装示例为内核与协议包组合引入,事件系统遵循 PSR-14,日志遵循 PSR-3 规范。
功能亮点
- 40 种工业协议七大类覆盖以太网到系统总线。
- 微内核零协议实现经 composer extra 自动发现。
- 连接管理健康检查加三种策略加熔断保护。
- Prometheus 指标输出加告警模块。
- 六运行环境自动适配加协程支持。
技术架构与部署指南
安装与部署提示
执行 composer require 引入内核包与所需协议包,例如内核加 Modbus 协议包两步完成。
配置设备连接参数后通过 ConnectionManager 建立连接即可读写数据,健康检查自动监测。
包内代码对应 v2026.9.0 口径版本,更新日志以仓库提交记录为准,最后更新 2026 年 8 月。
截图与演示说明
项目 README 以文本架构图与打赏码为主,未附运行界面截图,本页配图采用 GitHub 仓库社交分享卡片。
纯 PHP 实现的 15 个协议无需专用硬件即可在软件环境联通调试。
内核与协议包组合安装后,通过连接管理器即可验证设备读写与健康检查输出。
常见问题
问. Industrial Protocols 是什么组件?
一套 PHP 工业协议通信组件源码,微内核加协议 SDK 架构覆盖 40 种工业协议,含 Modbus 与 OPC UA 等,MIT 协议开源。
问. 怎么安装使用?
PHP 8.1 以上环境用 Composer 引入内核包与所需协议包,配置设备参数后即可连接读写,支持六大框架自动适配。
问. 和 Snap7 有什么区别?
Snap7 专注西门子 S7 协议单一场景,本组件是 40 种协议的统一微内核体系,统一连接管理与监控,PHP 团队无需换语言。
问. 所有协议都能直接用吗?
15 个纯 PHP 协议开箱即用,25 个桥接协议需要对应专用硬件或网关支持,README 附完整硬件适配清单。
安全风险提示
对 13 个源码文件做了扫描,代码明文无加密混淆,未发现 webshell 与凭据硬编码。
外联域名仅为包管理源与文档站,无第三方统计上报。
proc_open 命中位于集成测试文件,生产路径无高风险函数调用。
桥接协议依赖的硬件网关请从官方渠道采购并更新固件。
下载说明
本页提供 Industrial Protocols 工业协议组件完整源码打包下载,含微内核与协议包说明。
压缩包内附架构文档与协议清单,解压后按 README 组合安装所需协议包即可。
GitHub项目开源地址 https://github.com/erikwang2013/industrial-protocols