设备出厂后如何自动注册、获取二维码并交付给用户?

阅读时间:约 15 分钟

设备厂商基于 ThingsCloud 完成从设备出厂到用户扫码使用的快速交付

设备卖出去以后,交付工作往往才刚刚开始:实施人员要在平台创建设备、复制证书、制作二维码、开通用户账号,再指导客户下载 App 和添加设备。设备数量从几十台增长到几千台后,这套依赖人工的流程很容易成为交付瓶颈。

对于具备联网能力的设备,可以把这些动作串成一条更短的链路:设备首次上电后自动获得证书并在 ThingsCloud 创建设备,平台自动生成设备码;二维码由厂商下载交付,或由带屏设备现场生成;用户最后通过 ThingsX 登录并扫码添加设备。

这套方案不要求厂商从头开发设备管理后台和用户 App,适合智能硬件、工业控制器、网关、仪器仪表以及带屏终端等产品。

先看完整交付链路

从设备出厂到用户开始使用,可以拆成 5 个连续动作:

  1. 厂商为同一设备类型准备统一固件,并为每台设备确定永久且唯一的 DeviceKey
  2. 设备首次上电,通过 HTTP API 动态获取 AccessToken;如果平台中还没有这台设备,则同步自动创建。
  3. 设备使用 ProjectKey 和新获得的 AccessToken 建立 MQTT 连接。
  4. ThingsCloud 在创建设备时自动生成设备码,厂商选择下载二维码,或把设备码下发给设备端生成二维码。
  5. 用户登录 ThingsX,通过扫描二维码或输入设备码添加设备并开始使用。

设备从首次上电、自动注册到用户扫码使用的端到端交付链路

这条链路的关键,不是单独把某一步自动化,而是让设备身份、平台记录、二维码和用户账号彼此衔接。这样才能减少生产、交付和售后之间的重复录入。

第一步:量产前准备设备身份与自动创建能力

为每台设备确定稳定的 DeviceKey

DeviceKey 是设备自行提供的唯一标识,平台用它识别设备。它需要满足两个条件:

  • 在同一个 ThingsCloud 项目内保持唯一
  • 设备全生命周期内保持不变

蜂窝网络设备通常可以使用 IMEI,WiFi 或以太网设备可以使用芯片 ID、MAC 地址,其他设备也可以使用厂商自己的 SN。选择标识时,应先确认它可以被固件稳定读取,并在生产测试阶段检查重复值。

开启允许设备自动创建

在 ThingsCloud 控制台中进入对应的设备类型,在 设置 > 自动创建设备 中复制 TypeKey,并开启 允许设备自动创建

如果设备始终部署到厂商自己的固定项目,固件可以在动态获取证书时提交 type_key。如果设备将交付给不同客户,并需要部署到客户自己的项目,可进一步使用产品识别码 Product Key,让平台在目标项目中识别对应产品。跨项目交付还涉及连接地址与 ProjectKey 的分发方式,应结合设备厂商开放平台能力按项目设计。

第二步:设备上电后自动获取证书并创建设备

量产设备不适合逐台烧录不同的 AccessToken。更适合的方式是“一型一密”:同一型号使用统一固件,设备启动后使用自己的 DeviceKey 调用动态获取证书 API。在固定设备类型中自动创建设备时,还需要提交对应的 TypeKey

如果 DeviceKey 已存在,平台返回对应设备的信息和 AccessToken;如果不存在且设备类型已允许自动创建,平台先创建设备,再返回证书。设备随后使用 ProjectKey 与平台返回的 AccessToken 连接 MQTT。

实现时要注意以下几点:

  • 设备每次启动时可重新向平台获取并以返回的 AccessToken 为准,避免因本地保存丢失或错误导致连接失败。
  • 生产环境应使用 HTTPS,并避免在日志、屏幕或调试接口中输出完整证书。
  • 项目需要保留足够的设备数量配额;达到上限后,新设备无法自动创建。
  • API 返回失败时应采用有限次数重试和退避机制,不能高频无限请求。

接口地址、请求参数、返回格式和错误码统一以设备证书与动态获取证书文档为准。

第三步:选择适合产品形态的二维码交付方式

设备在 ThingsCloud 中创建后,平台会自动生成唯一设备码,并可据此生成设备二维码。设备码仅在当前项目内有效,用户扫描二维码或输入设备码后,才能把已接入平台的设备添加到自己的账号。

方案 A:从控制台下载二维码

这种方式适合没有显示屏的传感器、控制器、DTU 和小型智能硬件。

  1. 在控制台进入设备列表,打开目标设备的详情页。
  2. 在页面顶部基本信息区域点击二维码图标。
  3. 在对话框中查看设备码和二维码,并下载所需尺寸的高清图片。
  4. 将电子版二维码发送给客户,或打印后贴在设备外壳、包装盒、质保卡和说明书上。

设备数量较多时,还可以从设备列表导出设备码,并结合 ThingsCloud API 工具集完成批量二维码生产。厂商应在生产工单中保存 DeviceKey、设备记录与二维码之间的对应关系,避免贴错标签。

方案 B:带屏设备现场生成二维码

如果设备带 LCD、OLED、墨水屏或 HMI,可以不在生产环节粘贴二维码,而是在首次联网后动态显示。

先在设备类型的功能定义中准备两个属性:

  • start_ts:设备开机时间戳,由设备在启动后上报一次
  • device_code:设备码,由平台下发给设备

然后在该设备类型的属性上报消息规则中,添加向当前设备下发属性的操作,并使用云函数读取当前设备信息:

module.exports = function (report_attributes) {
    var push_attributes = {};

    if (report_attributes.start_ts !== undefined) {
        var device_info = Cloud.getDeviceInfo();
        push_attributes.device_code = device_info.device_code;
    }

    return push_attributes;
}

设备端收到 device_code 后有两种呈现方式:屏幕空间较小时直接显示数字设备码;屏幕能够清晰显示图形时,由设备端二维码库把设备码编码为二维码图片。这里平台下发的是二维码所需的内容,二维码图形由设备端生成。

无屏设备下载并粘贴二维码,与带屏设备动态生成二维码的两种交付方式

动态显示可以减少标签印刷和贴码工序,也更适合多批次、按需激活的产品。但固件需要处理弱网重试、属性下发确认、屏幕尺寸和二维码纠错级别,确保用户手机能够稳定识别。

详细配置示例可查看设备开机时下发设备码设备二维码

第四步:配置 ThingsX,让用户拿到设备就能用

设备已经在线并准备好二维码后,还需要决定用户账号由谁创建。ThingsX 的用户账号与 ThingsCloud 控制台账号相互独立,终端用户使用的是 ThingsX 用户账号。

模式 A:允许用户主动注册

适合零售、电商和渠道销售等厂商难以提前掌握购买者信息的业务。

  1. 在控制台进入 应用 > 用户应用,创建或打开 ThingsX 应用。
  2. 在应用配置中开启 用户注册
  3. 根据运营需要开启 IP 注册限制,并设置同一 IP 每日最大注册次数。
  4. 在设备类型的 应用配置 > 用户添加设备 中,开启 允许用户添加设备,并确定是否允许一台设备被多个用户添加。
  5. 将 ThingsX 的 AppID、应用二维码或对应下载入口随设备一并交付。

用户进入 ThingsX 后注册账号,在设备列表页点击右上角的“+”,选择“扫一扫”并扫描设备二维码,即可完成添加。扫描方式支持 ThingsX 的 iOS App、Android App 和微信小程序;无法扫码时,也可以输入设备码。

需要注意,ThingsX 用户注册功能需要企业版及以上版本支持。对于自行注册的账号,建议定期审查并清理无效用户。

模式 B:由厂商为用户创建账号

适合项目制交付、经销商交付、企业客户和需要预先分配设备权限的业务。

厂商可以在控制台进入 应用 > 用户 创建账号,设置登录名和密码,再把一个或多个设备关联给该用户。用户首次登录 ThingsX 时就能看到已经分配好的设备,无需自行扫码。

如果账号来自订单系统、CRM、经销商平台或企业客户通讯录,也可以通过 ThingsCloud HTTP API 自动创建用户和分发账号,把账号开通纳入原有交付流程。此时需要同时做好密码安全、用户授权和个人信息保护。

ThingsX 用户自助注册扫码添加,与厂商预创建账号并分配设备的两种交付模式

两种模式并不冲突。消费类产品可以优先采用“用户注册 + 扫码添加”,项目型设备可以采用“厂商建号 + 预先分配”,同一产品还可以按渠道或客户类型分别配置。

上线前做一次端到端验收

不要只验证设备能否连上 MQTT。建议从一台恢复出厂设置的真实设备开始,完整走一遍客户路径:

  1. 清除设备端缓存并首次上电。
  2. 确认证书 API 返回成功,平台仅创建一条设备记录。
  3. 确认设备能使用返回的证书连接 MQTT,并正常上报数据。
  4. 确认设备码已生成,下载二维码或让设备屏幕显示二维码。
  5. 使用一个新的 ThingsX 用户账号扫码添加设备。
  6. 确认设备面板、数据展示和控制功能符合交付预期。
  7. 重启设备,确认不会重复创建设备,且能够重新获得有效证书。

如果产品允许一台设备被多个用户添加,还要额外验证共享边界;如果不允许,则应验证第二个账号添加时的提示是否清楚。

把人工交付变成可复制的产品流程

对于设备厂商,这条链路带来的价值很具体:

  • 减少逐台配置:不必为每台设备单独烧录 AccessToken,统一固件更适合量产。
  • 减少后台录入:设备首次联网即可自动创建,交付人员不用重复建档。
  • 降低贴码成本:无屏设备可批量下载二维码,有屏设备可在激活后动态显示。
  • 缩短用户上手路径:用户可以自行注册并扫码添加,也可以直接获得厂商预先开通的账号。
  • 方便复制到更多项目:设备身份、设备类型、用户应用和交付动作都能形成标准模板。

ThingsCloud 把设备连接、身份认证、设备管理、二维码和 ThingsX 用户应用放在同一套平台中。厂商仍然需要根据产品形态完成固件、生产和账号策略的设计,但不必再为每个项目重复开发云端基础能力。最终交付可以从“工程师逐台配置”,变成一套可测试、可批量执行、可持续运营的产品流程。

相关文档

关于 ThingsCloud

ThingsCloud 是新一代物联网设备统一接入平台,帮助企业在极短的时间内搭建个性化的物联网平台和应用,并适应不断变化的发展需求。目前广泛应用于制造、电力、能源、环境、农业、楼宇、家居、教育、交通、物流、自动化等领域。

ThingsCloud 可接入各类网关,传感器、执行器、控制器、通信模组、智能硬件等,实现数据采集、远程控制,数据分析、告警通知、智能联动。还可以零代码生成项目应用 SaaS 和用户应用 App,并开放 API 和实时消息,便于业务系统集成和扩展开发。

通过使用 ThingsCloud,企业可以大大缩短搭建物联网系统的时间,节省软件开发费用,降低定制开发的风险,快速落地数字化和智能化项目。我们的客户遍布各行业,包括中国石化、中国铁塔、中国燃气、吉林大学、北控水务、ACE、中国民航大学、西安交通大学、精量电子、大秦铁路、宁波水利局等。

开箱即用的物联网平台

立即搭建您的 物联网平台

接入物联网设备·搭建可视化看板·生成专属 App
仅需不到 30 分钟,开启您的物联网之旅

开箱即用
无需部署
快速上手
10,000+ 企业信赖
6,000,000+ 设备接入
99.9% 服务可用性
信任与选择

5000+ 大型企业正在使用ThingsCloud

从初创公司到世界 500 强,企业选择 ThingsCloud 构建可靠的物联网解决方案

更多博客

应用场景

全球 80% 的数据将来自物联网,不论是传统行业还是新兴行业,都将利用更多有价值的数据来驱动业务,实现降本增效。