2. 环境准备:ThingsBoard安装方式(Docker/云服务)、获取租户管理员账号、确认API基础URL

在开始批量导入设备之前,必须确保 ThingsBoard 环境可用,并准备好合法的租户管理员凭证与 API 端点。本章将覆盖三种主流部署方式、账号获取路径以及 API 基础 URL 的确认方法。

2.1 ThingsBoard 安装方式对比

ThingsBoard 支持多种部署模式,不同模式适用于开发测试、生产部署或快速体验。下表列出三种常用方式的核心差异:

部署方式 适用场景 维护成本 API 基础 URL 示例
Docker 单机部署 开发测试、小规模生产 低(一条命令启动) http://localhost:8080
Docker Compose 集群 高可用生产环境 中(需管理多个容器) http://tb-server:8080
ThingsBoard Cloud(SaaS) 快速体验、无需运维 零(平台托管) https://demo.thingsboard.io
推荐选择: 本课程所有 API 调用示例均基于 Docker 单机部署(http://localhost:8080)。如果你使用云服务,只需将 URL 替换为你的租户专属域名即可。

2.2 Docker 安装快速指南

以下步骤适用于在 Linux 或 macOS 上通过 Docker 启动 ThingsBoard(使用 PostgreSQL 作为数据库):

  1. 拉取镜像:
    docker pull thingsboard/tb-postgres:latest
  2. 创建数据卷目录:
    mkdir -p ~/.mytb-data && sudo chown -R 799:799 ~/.mytb-data
  3. 启动容器:
    docker run -it -p 8080:9090 -p 1883:1883 -p 5683:5683/udp \
      -v ~/.mytb-data:/data \
      --name mytb \
      thingsboard/tb-postgres
  4. 等待启动完成: 观察日志中出现 ThingsBoard started! 即表示服务就绪。
端口冲突提示: 如果本地 8080 端口已被占用,可将宿主机端口映射改为 -p 8081:9090,后续 API 基础 URL 相应调整为 http://localhost:8081。

2.3 获取租户管理员账号

ThingsBoard 安装完成后,系统会自动生成一个默认的租户管理员账号。不同安装方式的默认凭据如下:

安装方式 默认邮箱 默认密码
Docker 单机 / Compose tenant@thingsboard.org tenant
ThingsBoard Cloud 注册时自行设置 注册时自行设置
源码 / 包安装 sysadmin@thingsboard.org → 创建租户后获得 系统管理员分配

登录后,建议立即修改默认密码。在浏览器中访问 http://localhost:8080,使用上述凭据登录,进入 租户管理员 界面。

验证账号: 登录成功后,左侧菜单应显示 “实体” → “设备” 选项。如果只看到“系统设置”等管理菜单,说明你登录的是系统管理员账号,而非租户管理员账号。请使用 tenant@thingsboard.org 重新登录。

2.4 确认 API 基础 URL

所有 REST API 调用都基于一个固定的基础 URL。对于 Docker 本地部署,基础 URL 为:

http://localhost:8080

对于 ThingsBoard Cloud,基础 URL 为你的租户专属域名,例如:

https://demo.thingsboard.io

验证 API 是否可达的最简单方法是调用 登录接口:

curl -X POST http://localhost:8080/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username":"tenant@thingsboard.org","password":"tenant"}'

如果返回包含 token 字段的 JSON,说明 API 基础 URL 配置正确,环境准备就绪。

2.5 环境架构总览

下图展示了 ThingsBoard 环境的核心组件与 API 调用路径:

ThingsBoard 环境架构与 API 调用路径 开发者 / 客户端 curl / Postman / 脚本 REST API 网关 /api/auth/login 核心服务层 设备管理 / 规则引擎 PostgreSQL 设备 / 凭据 / 租户 Docker 容器 tb-postgres 队列 (Kafka/内存) 规则引擎 Web UI 说明: API 基础 URL 指向 REST API 网关(端口 9090 映射到宿主机 8080),所有设备导入请求均通过此入口。 租户管理员账号用于获取 JWT Token,后续请求需在 Header 中携带该 Token。

2.6 环境检查清单

在进入下一章之前,请逐项确认以下条件是否满足:

  • 服务可达: 浏览器能打开 http://localhost:8080 并显示 ThingsBoard 登录页。
  • 账号可用: 使用 tenant@thingsboard.org / tenant 成功登录,并看到租户管理员界面。
  • API 响应: 执行登录 API 请求后返回 token 字段,无连接超时或 401 错误。
  • 端口映射: 如果使用 Docker,确认宿主机端口与容器端口映射正确(默认 8080:9090)。
  • 防火墙: 如果使用云服务器,确认安全组已放行 8080(HTTP)和 1883(MQTT)端口。
快速验证命令: 在终端执行 curl -s -o /dev/null -w "%{http_code}" http://localhost:8080/api/auth/login,如果返回 405(Method Not Allowed)说明服务正常;如果返回 000 或超时,说明服务未启动或端口不可达。

环境准备完成后,你将拥有一个可用的 ThingsBoard 实例、合法的租户管理员凭证以及明确的 API 入口地址。这些是后续 CSV 模板设计与批量导入脚本开发的基础。