简体中文
简体中文
English
联系我们
注册
登录

快速入门

更新时间:2021-10-12 02:48:27下载pdf

涂鸦 行业通用版微信小程序 SDK 为广大物联网开发者提供了丰富的行业通用能力,例如账号登录注册、资产管理、设备配网、设备管理等。行业通用版微信小程序 SDK 可以基于云端开放能力低成本完成企业级小程序开发,搭配 Web 端后台,提供更加完善的 SaaS 化应用体验。

产品对比

对比 IoT 微信小程序 SDK 行业通用版微信小程序 SDK
用户体系 C 端用户体系 B 端用户体系
适用范围 家庭等个人使用场景 行业移动端管理场景
能力范围 设备控制、设备配网、场景执行等 支持多级资产、设备控制、设备管理等
配套使用 可独立使用 配套云开发平台项目使用,可搭配 Web 端管理后台
平台地址 App - 微信小程序 SDK 云开发 - 具体项目中的 ”授权“ 页面

准备工作

步骤一:创建小程序应用

  1. 登录 涂鸦 IoT 平台 的云开发页面。

  2. 通过 自定义开发方式,创建云开发项目。

    云开发 > 项目 页面,点击创建项目。创建项目详细步骤,请参考 创建项目

    快速入门

  3. 创建微信小程序应用。

    1. 登录云开发平台。

    2. 项目管理>我的项目 区域,单击目标项目。

    3. 在顶部导航栏,单击应用

    4. 微信小程序应用页签,单击添加应用。

    5. 配置应用信息。

      • 应用类型:使用默认的 Tuya IoT 微信小程序 SDK。
      • 应用名称:可与在微信后台申请的小程序保持一致,最终微信中出现的小程序名称以微信后台配置为准。
      • 应用描述:简短的应用描述。
        快速入门
    6. 点击确定

  4. 查询微信小程序应用信息。

    完成创建后可查看微信小程序在涂鸦侧对应的授权验证信息,包含 Access ID/Client ID 和 Access Secret/Client Secret,可结合平台提供的开发文档以及授权验证信息进入正式的小程序开发阶段。

    快速入门

  5. 打开微信开发者工具,体验 Demo

    • Demo 主要集成了如下功能:
      • 请求和部分接口的封装以及前端加签示例。
      • 配网的 SDK 引入示例。
      • 设备面板的基本接入和控制。
    • Demo 使用步骤:
      1. utils 目录下 config.js 中的信息替换为已创建的云项目下相关信息。
      2. 使用有权限的账号密码登录。
    • 建议阅读完全文后,再体验 Demo。
    • 开发者工具升至最新稳定版本,基础库版本至少为 2.18.0。

步骤二:签名加密

为保证用户请求安全,在向云开发平台发送调用请求时,都需要提供签名进行身份验证。

签名算法

  • 适用范围:云函数所有的 API 接口。
  • 签名算法:sign = HMAC-SHA256(client_id + param + t, secret).toUpperCase()

签名示例

示例参数

参数名 参数值
client_id 1KAD46OrT9HafiKdsXeg
secret 4OHBOnWOqaEC1mWXOpVL3yV50s0qGSRC
param {“assert_id”:“16254457”, “project_code”:“p16236739549y85ta”}
t 1588925778000

HMAC SHA256

Javascript

/**
Run the code online with this jsfiddle. Dependent upon an open-source js library calledhttp://code.google.com/p/crypto-js/.
**/

<script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/hmac-sha256.js"></script>
<script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/components/enc-base64-min.js"></script>

<script>
	var hash = CryptoJS.HmacSHA256("Message", "secret");
	var hashInBase64 = hash.toString().toUpperCase();
	document.write(hashInBase64);
</script>

Java

/**
Dependent on Apache Commons Codec to encode in base64.
**/

import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.binary.Base64;

public class ApiSecurityExample {
public static void main(String[] args) {
try {
	String secret = "secret";
	String message = "Message";

	Mac sha256_HMAC = Mac.getInstance("HmacSHA256");
	SecretKeySpec secret_key = new SecretKeySpec(secret.getBytes(), "HmacSHA256");
	sha256_HMAC.init(secret_key);

	byte[] bytes = sha256_HMAC.doFinal(message.getBytes());
	String hash = new HexBinaryAdapter().marshal(bytes).toUpperCase();
	System.out.println(hash);
}
catch (Exception e){
	System.out.println("Error");
}
}
}

该签名方式与开发平台不同,采用独立的签名,是为了接入方统一请求方式接入,不影响安全性。

步骤三:接入能力

涂鸦智能为开发者提供了丰富的行业通用能力,您可以基于以下流程接入相应的能力。

API 接入地址为 https://openapi.tuyacn.com/faas

请求方法

方法 说明
POST 请求服务器执行特定操作,接口统一请求方式

请求头参数

参数名 类型 参数位置 必填 说明
client_id String header 用户云应用 client_id
sign String header 签名
sign_method String header 固定算法 HMAC-SHA256
t Long header 13 位标准时间戳

API 授权

接入功能前请确保已开通并授权以下 API。

  • 授权管理
  • 行业通用设备注册
  • 行业通用设备管理
  • 行业通用设备状态查询
  • 行业通用设备控制
  • 行业通用用户管理
  • 行业通用资产管理
  • 行业项目客户端服务
  • 设备状态通知

快速入门

API 开通流程,请参考开通云产品。 API 授权流程,请参考 授予项目云产品调用权限

能力开发

涂鸦智能专为小程序提供一系列云函数格式的开放接口,请按照以下顺序完成微信小程序能力开发,详情请参考以下文档:

  • 用户管理
  • 资产管理
  • 设备配网
    • 涂鸦提供配网插件,您无需二次开发即可实现完整的设备配网能力。在小程序中点击 添加设备 就可以开启设备配网。
    • 涂鸦微信配网小程序支持的配网方式:
      • 自发现配网:默认进入,支持蓝牙单点、Zigbee 无线网关和子设备,双模设备。
      • 手动配网支持:Wi-Fi AP 配网、边缘网关配网和 IPC 设备配网方式。
      • 右上角扫码按钮:支持 NB-IoT 与 Wi-Fi 类自联网产品扫码激活。
  • 设备管理