# gateway **Repository Path**: kdisi_admin/gateway ## Basic Information - **Project Name**: gateway - **Description**: rust版本物联网网关 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-10 - **Last Updated**: 2026-07-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HIOT Edge Gateway 工业物联网网关系统 —— 基于 Rust 构建的高性能、可嵌入式部署的数据采集与北向通信平台。 ## 简介 HIOT Edge Gateway 是一个面向数据中心/机房环境的边缘网关,负责: - **设备数据采集**:通过 Modbus RTU/TCP、S7COMM、BACnet/IP、DLT645-2007、电总协议等多种工业协议采集设备数据 - **北向通信**:支持佳力图 MQTT 协议和江苏电信 B 接口,将数据上报至上级平台 - **告警管理**:内置阈值告警引擎,支持自定义告警规则和级别 - **Web 管理**:提供轻量级 Web UI 进行设备配置、数据查看和系统管理 ## 技术栈 - **语言**:Rust (Edition 2024, MSRV 1.93) - **数据库**:SQLite (rusqlite) - **Web 框架**:Axum - **前端**:原生 JavaScript (Vanilla JS) - **GUI**:egui (桌面应用) - **构建**:Cargo + Zig 交叉编译 ## 项目结构 ``` ├── apps/ │ ├── server/ # 主服务端二进制 │ └── desktop/ # 桌面 GUI 应用 ├── crates/ │ ├── api/ # HTTP API 层 │ ├── app/ # 应用逻辑层 │ ├── alarm/ # 告警引擎 │ ├── bootstrap/ # 启动引导 │ ├── collector/ # 数据采集调度 │ ├── config/ # 配置管理 │ ├── domain/ # 领域模型 │ ├── driver/ # 设备驱动抽象层 │ ├── egui/ # 桌面 GUI 组件 │ ├── jiangsu_telecom_b/ # 江苏电信 B 协议实现 │ ├── northbound/ # 北向通信 (佳力图/MQTT) │ └── storage/ # SQLite 存储层 ├── config/ # 运行时配置文件 ├── drivers/ # 设备驱动 TOML 配置 ├── proto-docs/ # 协议文档 ├── scripts/ # 构建和部署脚本 ├── tools/ # 辅助工具 └── web-lite/ # Web 管理界面 ``` ## 支持的设备协议 | 协议 | 说明 | |------|------| | Modbus RTU/TCP | 通用工业协议,支持电量仪、空调等 | | S7COMM | 西门子 S7-300/400/1200/1500 PLC | | BACnet/IP | 暖通空调系统 | | DLT645-2007 | 电能表通信协议 | | 电总协议 (YD/T 1363.3) | 通信电源/UPS/空调 | | CHD803LM | 门禁控制器 | | E00 | 报警设备 | ## 快速开始 ### 环境要求 - Rust 1.93+ - SQLite 3 - Zig (用于交叉编译,可选) ### 本地构建 ```bash # 开发构建 cargo build # 运行服务 cargo run --bin edge-gateway-server ``` ### 交叉编译 (ARM) ```bash # 安装 zig 和 cargo-zigbuild brew install zig cargo install cargo-zigbuild # 构建 ARM64 版本 make release TARGET=aarch64-unknown-linux-musl # 构建 ARM32 版本 make release TARGET=armv7-unknown-linux-musleabihf ``` ### 部署 ```bash # 快速部署到目标设备 make deploy HOST=192.168.1.100 MODEL=gt6757 # 远程部署 make deploy-remote HOST=192.168.1.100 MODEL=gt6757 # 健康检查 make healthcheck HOST=192.168.1.100 ``` ## 配置 主配置文件位于 `config/config.toml`,设备驱动配置位于 `drivers/` 目录。 ### 设备驱动配置示例 ```toml # drivers/modbus_tcp.toml [device] name = "电量仪" model = "modbus_tcp" endpoint = "192.168.1.100:502" [[points]] field = "voltage" address = "0x0000" data_type = "u16" scale = 0.1 unit = "V" ``` ## Web 管理界面 访问 `http://:80` 打开 Web 管理界面,支持: - 设备状态监控 - 实时数据查看 - 告警管理 - 北向配置 - 系统设置 ## 北向通信 ### 佳力图 MQTT 支持通过 MQTT 协议与佳力图平台对接,上报遥测数据、告警和设备清单。 ### 江苏电信 B 接口 实现江苏电信 B 接口协议,支持 FTP 文件交换和 SOAP/HTTP 命令交互。 ## 许可证 MIT License ## 作者 gonglijing