编程 基于 Go + Gin 框架开发 PMSM 风机监测系统:Flutter + Go + C# 全栈开源方案

2026-06-20 08:48:36 +0800 CST views 11

一个基于 Go + Gin 框架开发 PMSM 风机监测系统:Flutter + Go + C# 全栈开源方案

标签: Go / Gin / Flutter / PMSM / 风机监测 / 工业物联网 / 开源项目 / C# / WinCC / 上位机
原文: 微信公众号「码农先森」https://mp.weixin.qq.com/s/Kq7KdnQJEnHp-0XJKoaQ1Q
GitHub: 见原文链接


项目概述

这是一个基于 Go + Gin 框架 开发的 PMSM 风机监测系统,采用 Flutter + Go + C# 全栈架构。

模块技术栈说明
AppGUIFlutterWindows 桌面客户端
WebServerGo + Gin后端 HTTP 服务 + TCP Socket 监听
WinCCC# + .NET Framework 4.8上位机网关,连接串口硬件

项目最大的特点是:无需硬件也能体验——内置演示模式,8 个风机设备模拟运行,非常适合学习物联网监控系统的开发思路。


系统架构

┌─────────────┐      HTTP/WebSocket      ┌──────────────┐
│   Flutter   │ <---------------------> │  Go + Gin    │
│  Windows UI │                         │   WebServer  │
└─────────────┘                         └──────┬───────┘
                                                │ TCP Socket
                                         ┌──────┴───────┐
                                         │   C# WinCC    │
                                         │  上位机网关   │
                                         └──────┬───────┘
                                                │ 串口
                                         ┌──────┴───────┐
                                         │  PMSM 风机   │
└─────────────┘

技术架构亮点

  • Flutter 桌面端:跨平台 UI 框架,一次开发 Windows 应用
  • Go + Gin 后端:高性能 HTTP 服务 + TCP Socket 实时通信
  • C# 上位机网关:串口通信、协议解析、数据转发
  • SQLite 数据库:轻量级本地存储
  • WebSocket 实时推送:设备数据变更实时同步到前端
  • CRC16 校验:工业通信协议常见的校验机制

项目目录结构

├── AppGUI/                    # Flutter Windows 桌面端
│   ├── lib/
│   │   ├── main.dart
│   │   ├── screens/           # 页面
│   │   ├── widgets/           # 组件
│   │   ├── services/          # 网络请求、WebSocket
│   │   └── models/            # 数据模型
│   ├── pubspec.yaml
│   └── windows/
│
├── WebServer/                 # Go后端服务
│   ├── src/
│   │   ├── config/            # 配置加载
│   │   ├── controllers/       # 请求处理、设备管理、协议解析
│   │   ├── httpserver/        # Gin HTTP服务封装
│   │   ├── models/            # 数据模型、数据库操作
│   │   ├── net/               # TCP Socket监听
│   │   ├── routers/           # 路由注册
│   │   └── sysinit/           # 系统初始化
│   ├── conf/                  # 配置文件 (config.conf)
│   ├── data/                  # SQLite数据库文件
│   ├── doc/                   # Swagger API文档
│   └── main.go
│
├── WinCC/                     # C#上位机网关
│   ├── Core/                  # 核心逻辑(网关、串口、TCP客户端)
│   ├── Protocol/              # 通信协议(帧解析、CRC16校验)
│   ├── Utils/                 # 日志工具
│   ├── config.json            # 网关配置文件
│   └── WinCC.csproj
│
├── docs/                      # 项目文档
└── README.md

快速开始

1. AppGUI(Flutter Windows)

cd AppGUI
flutter pub get
flutter build windows --release
# 输出: build/windows/x64/runner/Release/mywindows.exe

2. WebServer(Go)

cd WebServer
go run main.go
  • 默认 HTTP 端口:8080
  • TCP Socket 端口:8000
  • Swagger 文档:http://localhost:8080/swagger/index.html

配置文件 conf/config.conf(首次运行自动生成):

{
    "WebPort": 8080,
    "SocketPort": 8000,
    "DBPath": "data/webserver.db",
    "FilePath": "upload"
}

3. WinCC(C#)

# 使用 Visual Studio 打开 WinCC.slnx 编译运行
# 或命令行指定配置文件:
WinCC.exe -c config.json

配置文件 config.json

{
  "serial": { "port": "COM3", "baudRate": 19200 },
  "server": { "ip": "112.74.182.249", "port": 20019 },
  "gateway": { "id": 1, "heartbeatInterval": 15000 },
  "log": { "level": "info", "path": "./logs/gateway.log" }
}

核心功能

功能说明
风机监控实时监测电压、电流、转速、温度、振动加速度等参数
远程控制设置转速、风量等级、运行模式
多设备支持支持 PMSM10C、PMSM04E、PMSM15、PMSM10A 四种机型
实时推送WebSocket 实时推送设备数据变更
演示模式无需连接服务器即可演示
OTA 更新支持应用版本更新

演示数据

项目内置演示数据,默认使用演示模式运行:

  • 8 个风机设备(4 种类型各 2 个)
  • 实时监测数据模拟
  • 控制参数模拟

开发环境

环境版本/要求
Flutter SDK3.41.0
Go1.26+
.NET Framework4.8
Visual Studio2026

注意事项

  • 国内用户需配置 Flutter 镜像源
  • Windows 桌面开发需启用开发者模式
  • SQLite 数据库文件在首次运行时自动创建
  • WinCC 网关需要串口硬件支持,无硬件时可使用演示模式

适合谁看?

  • 🏭 工业物联网开发者 —— 学习风机监控、数据采集、协议解析
  • 🖥️ 桌面应用开发者 —— 学习 Flutter 开发 Windows 工业软件
  • 🐹 Go 后端开发者 —— 学习 Gin + TCP Socket + WebSocket 实时通信
  • 🖥️ C# 上位机开发者 —— 学习串口通信、CRC16、网关设计
  • 🎓 在校学生 —— 了解真实工业项目的技术栈和目录结构

总结

这个项目是一个非常典型的工业物联网监控系统全栈开源方案:

层级技术职责
展示层FlutterWindows 桌面 UI
服务层Go + GinHTTP API + TCP Socket 通信
网关层C#串口协议解析、数据转发
设备层PMSM 风机工业传感器与执行器

核心学习点

  1. 工业通信协议与 CRC16 校验
  2. TCP Socket 长连接与数据帧解析
  3. WebSocket 实时数据推送
  4. Go + Gin 构建物联网后端
  5. Flutter 开发 Windows 桌面应用
  6. 上位机网关与串口通信

最贴心的是项目自带演示模式,即使没有硬件也能完整体验整个系统,非常适合作为学习参考和二次开发基础。


相关链接

  • 原文链接:https://mp.weixin.qq.com/s/Kq7KdnQJEnHp-0XJKoaQ1Q

Keywords: PMSM风机监测, Go Gin, Flutter Windows, C#上位机, 工业物联网, WinCC, 串口通信, CRC16, WebSocket, TCP Socket, SQLite, 开源项目

推荐文章

使用Rust进行跨平台GUI开发
2024-11-18 20:51:20 +0800 CST
curl错误代码表
2024-11-17 09:34:46 +0800 CST
PHP 的生成器,用过的都说好!
2024-11-18 04:43:02 +0800 CST
Vue3中如何处理跨域请求?
2024-11-19 08:43:14 +0800 CST
MySQL设置和开启慢查询
2024-11-19 03:09:43 +0800 CST
程序员茄子在线接单