Skip to content

快速开始 ​

10 分钟从零到第一台设备上线:环境准备 → 一键部署 → 创建产品 → 设备接入 → 数据查看。


一、环境要求 ​

工具版本下载
JDK21 LTSAdoptium
Maven3.9+Apache Maven
Docker Desktop最新Docker
Node.js18+Node.js

💡 Windows 用户:建议安装 WSL2 + Docker Desktop for Windows,或直接用 Docker Desktop(需开启 WSL2 后端)。


二、拉代码 ​

bash
git clone https://gitee.com/zbzcs/mingshang-iot-ce.git
cd mingshang-iot-ce

三、一键拉起依赖 ​

bash
cd deploy/docker
docker compose up -d

等 4 个容器都起来:

服务端口凭据验证
MySQL 8.03307root / mingshang123mysql -uroot -p -h localhost -P 3307
Redis 76380无redis-cli -p 6380 ping
EMQX 5.81884 TCP / 18084 Dashboardadmin / mingshang123打开 http://localhost:18084
TDengine 3.56042 RESTroot / taosdatacurl -u root:taosdata -d "show databases" http://localhost:6042/rest/sql

💡 端口默认避开了 3306/6379/1883/6030 等常见占用,已在 application.yml 中配置。


四、启动后端 ​

bash
cd backend
mvn.cmd clean install -DskipTests
cd ms-admin
mvn.cmd spring-boot:run

启动成功后访问:

默认管理员(需先在 MySQL 中插入,见下文):

sql
INSERT INTO ms_user (username, password, nickname, tenant_id)
VALUES ('admin', '$2a$10$...BCrypt哈希...', '系统管理员', 1);

初始密码生成:

java
String hash = cn.hutool.crypto.digest.BCrypt.hashpw("admin123", cn.hutool.crypto.digest.BCrypt.gensalt());

五、创建产品和设备 ​

5.1 通过 REST API(curl) ​

bash
# 1. 登录拿 token
curl -X POST http://localhost:8080/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username":"admin","password":"admin123"}'
# → 返回 {code:0, data:{token:"xxx"}}

# 2. 创建产品
curl -X POST http://localhost:8080/api/product \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "温湿度传感器",
    "identifier": "temp_humid_sensor",
    "tenantId": 1,
    "model": {
      "properties": [
        {"identifier":"temperature","name":"温度","dataType":"FLOAT","unit":"℃","min":-40,"max":80},
        {"identifier":"humidity","name":"湿度","dataType":"FLOAT","unit":"%RH","min":0,"max":100}
      ]
    }
  }'

# 3. 注册设备(返回 authCode 用于 MQTT 认证)
curl -X POST http://localhost:8080/api/device \
  -H "Authorization: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "serial": "ESP32-001",
    "name": "车间1号传感器",
    "productId": <上一步 productId>,
    "tenantId": 1
  }'
# → 返回 {..., authCode: "a1b2c3d4e5f6..."}

5.2 通过管理后台 ​

启动前端后(cd frontend/vue3-admin && pnpm install && pnpm dev),浏览器打开 http://localhost:5173,在 产品管理 → 设备管理 中操作。


六、设备上报数据(MQTT) ​

bash
# 用 mosquitto_pub(需安装 Mosquitto)或任意 MQTT 客户端
mosquitto_pub -h localhost -p 1884 \
  -u "ESP32-001" \
  -P "<上一步拿到的 authCode>" \
  -t "/device/ESP32-001/properties" \
  -m '{"props":{"temperature":25.6,"humidity":62.3}}'

📡 也支持 CoAP(端口 5683)、HTTP Digest(POST /api/device/http/property)、Modbus 等协议,详见各协议接入文档。


七、验证数据入库 ​

7.1 Redis 实时值 ​

bash
redis-cli -p 6380 GET "ms:tsl:1:1"   # tenantId:deviceId
# → "{\"temperature\":25.6,\"humidity\":62.3}"

7.2 TDengine 历史数据 ​

bash
curl -u root:taosdata -d "SELECT * FROM ms_tenant_1.temperature ORDER BY _wstart DESC LIMIT 10" http://localhost:6042/rest/sql

7.3 管理后台 ​

打开 数据中心 → 实时数据 / 历史曲线,选择设备即可看到属性值和趋势图。


八、下一步 ​

方向推荐文档
生产部署Docker 部署
ESP32 固件开发MQTT 设备接入
其他协议CoAP / HTTP / Modbus / TCP
后端开发架构设计 / API 参考
遇到问题常见问题