本项目是基于飞布(Fireboom) Golang SDK 开发的阿里云 IoT 平台演示项目,通过自动化代码生成和丰富的示例,大幅提升阿里云 IoT 应用的开发效率。
- 🔧 自动代码生成: 根据阿里云 IoT 的
tsl.json配置文件自动生成业务代码 - ⚡ 高效开发: 减少重复代码编写,专注于业务逻辑实现
- 📚 丰富示例: 包含多种常见 IoT 场景的实现示例
- 🖥️ 后台管理: 集成基础设备管理功能
- 🔒 安全可靠: 基于阿里云 IoT 安全认证机制
- 🚀 高性能: 利用 Golang 的高并发特性处理海量设备连接
- Go 1.21 或更高版本
- 阿里云 IOT 平台账号
- 获取阿里云 IOT 平台的
tsl.json配置文件 - 克隆本项目到本地:
git clone https://github.com/fireboomio/case-aliyun-iot.git - 将您的
tsl.json文件放置在custom-go/iot/{iot类型}目录下 - 复制.env.example
为.env`,并填写正确的配置信息
case-aliyun-iot/custom-go/
├── authentication/ # 认证及权限
├── crontab/ # 定时任务
├── customize/ # 自定义模块
│ └── deviceTest # SSE推送IOT事件
├── dict/ # 字典管理
├── function/ # 暴露iot接口
├── proxy/ # 文件导入示例
├── global/ # 全局钩子,记录请求日志
├── pkg/ # 可公开使用的包
├── iot/ # 物联网模块
│ └── base/ # IOT 基础模块
│ └── config/ # tls 代码示例
│ └── defaulted/ # tls 代码示例
│ └── hbs/ # tls 模板生成
└── README.md # 项目说明
本项目核心特性是根据阿里云 IoT 的 tsl.json 自动生成业务代码:
生成器将根据配置文件自动创建:
- 设备连接管理代码
- MQTT 主题订阅处理
- RRPC 业务调用
- 物模型数据处理
# 阿里云IOT配置
ALIBABA_CLOUD_ACCESS_KEY=""
ALIBABA_CLOUD_ACCESS_SECRET=""
ALIBABA_CLOUD_CLIENT_ID=""
ALIBABA_CLOUD_CONSUMER_GROUP_ID=""
ALIBABA_CLOUD_REGION_ID=""
ALIBABA_CLOUD_HOST=""
ALIBABA_CLOUD_IOT_INSTANCE_ID=""
ALIBABA_CLOUD_PRODUCT_KEY=""- 在
custom-go/iot目录下按iot类型创建目录并防止tsl.json - 在
.env开启ENABLE_IOT_CODE_GENERATE=1
- 集成登录认证和权限管理
- 集成了日志记录
- 集成了字典管理(
custom-go/dict订阅并设计业务逻辑)
A: 请检查 tsl.json 文件格式是否正确,确保所有必填字段已填写
A: 检查设备三元组(ProductKey、DeviceName、DeviceSecret)是否正确
A: 修改代码生成器中的模板文件,添加新的主题订阅逻辑
注意: 本项目为演示用途,生产环境使用前请进行充分测试和安全评估。