2.0 KiB
2.0 KiB
开发指南 - 主模块
本文档概述了猪场控制器应用程序的开发和操作方面。
1. 开发设置
1.1. 技术栈
- 语言: Go 1.25
- Web 框架: Echo v4.13.4
- ORM: GORM v1.30.5
- 数据库: PostgreSQL (TimescaleDB)
- 日志: Zap v1.27.0
- API 文档: Swaggo v1.16.6
1.2. 先决条件
- Go 1.25 或更高版本
- PostgreSQL (如果使用 TimescaleDB 扩展)
1.3. 安装
- 克隆仓库:
git clone git.huangwc.com/pig/pig-farm-controller.git cd pig-farm-controller - 下载 Go 模块:
go mod tidy - 配置应用程序:
将
config.example.yml复制到config.yml并更新必要的字段,特别是jwt_secret、数据库凭据和 ChirpStack API 令牌。cp config.example.yml config.yml # 编辑 config.yml
1.4. 运行应用程序
要运行应用程序,您可以使用 go run 命令或 make run(如果定义了 Makefile 目标)。
# 使用 go run
go run main.go
# 使用 Makefile (如果存在 'run' 目标)
make run
1.5. 测试
运行单元测试和集成测试:
go test ./...
2. 操作信息
2.1. 配置
应用程序配置通过 config.yml 进行管理。主要可配置参数包括:
app.jwt_secret: JWT 签名密钥。server.port: HTTP 服务器监听端口。database: PostgreSQL 连接详细信息(主机、端口、用户名、密码、数据库名、SSL 模式、是否为 TimescaleDB)。log: 日志级别、格式和文件输出设置。chirp_stack: ChirpStack API 主机和令牌。lora_mesh: LoRa Mesh 特定配置(UART 端口、波特率等)。
2.2. 日志
日志配置为根据 config.yml 输出到控制台和文件 (./app_logs/app.log)。日志级别可以调整。
2.3. 部署
未找到明确的 Dockerfile 或 CI/CD 流水线配置。部署预计将通过手动或基于编译后的 Go 二进制文件和 config.yml 的自定义脚本进行处理。