涂鸦开发者平台云开发最佳实践基于资产&用户体系和自有 App 开发项目

基于资产&用户体系和自有 App 开发项目

更新时间:2024-04-12 07:08:52下载pdf

云开发自定义开发方式基于资产、用户体系,支持构建适配大多数行业场景的项目。自定义开发方式支持创建多个应用,共享相同的资产和用户资源。本文以创建智能办公类型的项目为例,为您介绍通过自定义开发方式创建云开发项目的基本流程。

操作目标

模拟通过远程管理 东湖大厦 A 座 1 楼中的智能灯具,实现对智能灯具的开启、关闭和工作模式切换等操作。

操作流程

云开发项目支持多种关联设备的方式,本文以 通过安卓文件构建 App 添加设备 的方式为例为您介绍项目创建全流程。操作流程图如下所示。

基于资产&用户体系和自有 App 开发项目

创建项目

  1. 登录 涂鸦开发者平台

  2. 在左侧导航栏中,单击 云开发 > 云开发

  3. 云管理 页面中,单击 创建云项目

  4. 创建云项目 对话框中,配置 项目名称项目描述服务行业开发方式数据中心。在 开发方式 下拉列表中选择 自定义开发

    涂鸦在全球部署了六大数据中心提供云服务,为世界各地客户提供更稳定的服务。您可以在此选择提供服务的区域,支持多选并且支持在后续的项目管理中修改此配置。

    基于资产&用户体系和自有 App 开发项目
  5. 单击 创建 继续项目配置。

  6. 批量授权云服务API 中,添加 设备 OTA 固件升级行业项目客户端服务 API 后,单击 开通授权

    基于资产&用户体系和自有 App 开发项目

    IoT Core 连接服务授权管理 API 已默认选择。

  7. 填写资产和账户信息,资产将自动创建并授权到该账户。本示例以 东湖大厦 设置为资产名称。

    更多关于资产的信息,请参考 管理资产

    基于资产&用户体系和自有 App 开发项目
  8. 单击 创建

创建 Android App

  1. Sample 工程下载到本地。

  2. 针对 Sample 生成自己的 keyStore 文件,并记录文件密码。操作步骤如下:

    当前生成的文件的后缀是.jks 而不是以前的.keyStore

    1. 通过 Android Studio 导入 Sample 文件。
    2. 单击 Build
      基于资产&用户体系和自有 App 开发项目
    3. 在下拉框中选择 Generate Signed Bundle / APK
    4. 选择 APK,然后按照提示创建 keyStore 文件。
    5. 根据 keyStore 文件中的信息,在工程的 build.gradle 里配置 signingConfigsstoreFile 指定.jks的存储位置。
      基于资产&用户体系和自有 App 开发项目
  3. .jks 存储路径执行以下命令过滤生成的.jks文件。

    keytool -list -v -keystore  xx.jks
    {输入密码}
    
  4. 获取文件中的 SHA1 密钥

    Valid from Tue Mar 16 10:22:14 CST 2021 to Sun Mar 06 10:22:14 CST 2061
    Certificate fingerprint:
    MD5: 6B:8C:94:15:35:7C:2E:E8:6E:76:7F:8C:F9:4B:05:BC
    SHA1: 8F:AC:5D:50:65:22:C2:2A:E4:96:3D:8F:9E:DC:5B:43:11:49:55:B1
    SHA256: 0B:98:89:D8:D5:FC:B1:23:9A:76:B1:2B:8F:4C:5E:24:BF:E7:60:E8:FF:EF:E9:40: 48:14:60:D3:62:00:5C:5F
    Signature algorithm name: SHA256withRSA
    Subject public key algorithm: 2048-bit RSA key
    Version: 3
    
  5. 获取程序包名称,如下所示。支持自定义程序包名称。

    基于资产&用户体系和自有 App 开发项目
  6. 创建 App 应用。

    1. 云开发 > 云开发 > 我的云项目 区域,单击目标项目。

    2. 在顶部导航栏,单击 授权 > App 授权 > 添加授权

      基于资产&用户体系和自有 App 开发项目

    3. 添加授权 窗口,配置相关信息。

      • 授权类型: Tuya Smart App SDK (Android)
      • SHA1:参见 .jks 文件中的 SHA1 密钥
      • Application ID:即程序包名称,例如 com.tuya.iotapp.sample
      • 授权名称:自定义。
      • 授权描述:自定义。
        基于资产&用户体系和自有 App 开发项目
  7. 授权 > App 授权 界面,获取已创建 Andriod 应用的 Client ID 和 Client Secret。
    基于资产&用户体系和自有 App 开发项目

  8. 复制到 Sample 代码中 BaseApplication.java 文件对应位置,如下图所示。
    基于资产&用户体系和自有 App 开发项目

添加设备

以添加 Wi-Fi 蓝牙球泡灯 灯具设备为例。

前提条件

  • 设备处于 AP 配网状态。以 Wi-Fi 蓝牙球泡灯为例,开关三次,进入快闪状态后,再开关三次进入慢闪状态,即处于 AP 配网模式。
  • 手机和 Wi-Fi 蓝牙球泡灯连接同一个 Wi-Fi 网络。
  1. 创建资产。
    智能设备所处的东湖大厦 A 座有 2 层楼,搭建资产结构流程如下。

    1. 在顶部导航栏,单击资产
    2. 资产结构区域,在已创建的资产东湖大厦操作列,根据需要搭建资产的结构,示例如下。
      基于资产&用户体系和自有 App 开发项目
  2. 在 Android Studio 运行配置完成的 Sample 文件。

  3. 选择时区,输入 App 账号的用户名和密码,登录 App。

  4. 东湖大厦/A 座/1 楼 节点的 设备 页面,单击 AP 配网,按照提示添加设备。

  5. 添加完成后,在 东湖大厦/A 座/1 楼 节点的 设备 页面,下拉刷新页面,查看添加的设备。

  6. 东湖大厦/A 座/1 楼 节点的 设备 页面,查看已同步的设备,并记录 设备 ID

    后续调用 API 需使用 设备 ID

    基于资产&用户体系和自有 App 开发项目

控制设备

将设备添加至云开发后,可以通过调用 API 实现对智能灯具的远程开启、关闭和工作模式切换等操作。 通过 API 调试工具调用 API,控制设备。

  1. 选择 云开发 > API 调试

  2. 在左侧区域,选择 行业通用设备控制 > 下发指令

    基于资产&用户体系和自有 App 开发项目

  3. 输入device_idcommands,实现不同操作。

    更多灯具控制指令,请参考 灯具标准指令集

    • 开启灯光

      {
        "code": "switch_led",
        "value": true
      }
      

    • 开启多彩工作模式

          {
              "code":"work_mode",
              "value":"colour"
          }
      

    • 开启渐变模式

      {
          "code":"flash_scene_1",
          "value":{
              "bright":100,
              "frequency":76,
              "hsv":[
                  {
                      "h":210.0,
                      "s":169.0,
                      "v":146.0
                  }
              ],
              "temperature":84
          }
      }
      

    • 关闭灯光

      {
        "code": "switch_led",
        "value": false
      }