涂鸦独立授权SDK说明

Last Updated on : 2023-07-06 05:53:26download

本文介绍了涂鸦独立授权 SDK。

您现在正在阅览的,是一篇不完全公开的文档,这表示该文档内容的适用性有一定的限制,文档或目录所描述的内容适用于旧版本 SDK、API、工具、平台等。
如果您需要更准确的技术文档,请访问 涂鸦 IoT 开发平台,然后自行搜索。

概述

涂鸦独立授权 SDK 是基于涂鸦云和涂鸦云接口开发,用于涂鸦设备的授权、授权校验。
本 SDK 文档共包括涂鸦网络通信库和 Demo。其中,涂鸦网络通信库用于与涂鸦云的通信。主要包括账号登录、独立授权、独立授权校验功能。

适用范围

  • 客户集成涂鸦 SDK 自行开发固件,仅需要做授权测试的情形。
  • 客户按照涂鸦产测协议开发固件,仅需要做授权测试的情形。

SDK下载地址

前往 SDK下载地址 进行下载。

目录结构

│  readme.txt
└─lib
        BouncyCastle.Crypto.dll
        Newtonsoft.Json.dll
        TuyaCloudIfLib.dll
        Tuya.Core.dll
        Tuya.Module.BottomCommunication.dll
        Independentauth.dll

主要库介绍

涂鸦网络通信库接口总览

接口 说明
账号登录 Login ( )
独立授权初始化串口通信 AuthInit_SerialPort( )
独立授权初始化 TCP 通信 AuthInit_TCP( )
独立授权初始化 ADB 通信 AuthInit_Adb( )
独立授权 Auth( )
独立授权校验 AuthCheck( )
设置语言 SetLanguage( )
获取错误信息 GetErrorCode( )

接口说明

账号登录

功能说明(Summary)
进行独立授权之前,必须先登录涂鸦云。

接口定义

public bool Login(string userName, string passWord)

参数说明

参数 类型 功能定义
userName string 账号
passWord string 密码

返回值
布尔类型,成功时返回 true,失败时返回 false

初始化(串口通信)

功能说明(Summary)
初始化串口,以及获取工单信息。

public bool AuthInit_SerialPort(string workOrder, string portName, int baudRate, string stationCode)

参数说明

参数 类型 功能定义
workOrder string 工单号,如 TRLBM03PN
portName string 串口号,如 COM5
baudRate int 波特率,如 9600
stationCode string 站位代码,通过查询工艺路线获取站位代码

返回值
布尔类型,成功时返回 true,失败时返回 false

初始化(TCP 通信)

功能说明(Summary)
初始化 TCP,以及获取工单信息。

public bool AuthInit_TCP(string workOrder, string IP, int port, string stationCode)

参数说明

参数 类型 功能定义
workOrder string 工单号,如 TRLBM03PN
IP string TCP IP 地址,如 192.168.*.*
port int 波特率,如 12360
stationCode string 站位代码,通过查询工艺路线获取站位代码

返回值
布尔类型,成功时返回 true,失败时返回 false

初始化(TCP 通信)

功能说明(Summary)
初始化TCP,以及获取工单信息。

public bool AuthInit_Adb(string workOrder, string stationCode, bool useAdbTcp = true)

参数说明

参数 类型 功能定义
workOrder string 工单号,如 TRLBM03PN
stationCode string 站位代码,通过查询工艺路线获取站位代码
useAdbTcp bool 默认为 true,adb 转化为 TCP 进行通信

返回值
布尔类型,成功时返回 true,失败时返回 false

独立授权

功能说明(Summary)
进行独立授权测试

public bool Auth(string sn)

参数说明

参数 类型 功能定义
sn string 产品序列号,如 TRLBM03PN0****

返回值
布尔类型,成功时返回 true,失败时返回 false

独立授权校验

功能说明(Summary)
进行独立授权校验测试,用于检查产品是否已经授权。

public bool AuthCheck(string sn)

参数说明

参数 类型 功能定义
sn string 产品序列号,如 TRLBM03PN0****

返回值
布尔类型,成功时返回 true,失败时返回 false

查询故障信息

功能说明(Summary)
当测试失败后,调用此接口查询故障信息。

public void GetErrorCode(ref string errorCode,ref string errorMsg)

参数说明

参数 类型 功能定义
errorCode string 故障代码
errorMsg string 故障信息

返回值
无返回值

设置 SDK 的语言

功能说明(Summary)
设置 SDK 语言,支持中文和英文。

public bool SetLanguage(LANGUAGE language)

参数说明

参数 类型 功能定义
language LANGUAGE 语言类型

返回值
无返回值。

代码示例

//获取站位信息
GetCraftLineReq getCraftLineReq = new GetCraftLineReq();
            getCraftLineReq.orderCode = workOrder;
            GetCraftLineRsp getCraftLineRsp = TuyaCloudIf.GetCraftLine(getCraftLineReq);
            if (!getCraftLineRsp.success)
            {
                return Error(getCraftLineRsp.errorCode, getCraftLineRsp.errorMsg);
            }
string stationCode=getCraftLineRsp..result.nodeList[0].code;
//创建独立授权对象
           IndependentAuth auth = new IndependentAuth();
	//进度消息处理
         auth.progressEvent += new ProgressEventHandler(UpdateProgress);
            bool ret = auth.Login(Settings.Default.UserName, Settings.Default.PassWord);
            if (ret == false)
            {
                MessageBox.Show(auth.m_errCode?.ToString() + auth1.m_errMsg);
            }
            ret = auth.AuthInit_SerialPort(workorder, ComPort, 9600, “firstTest”);
            if (ret == false)
            {
                MessageBox.Show(auth.m_errCode?.ToString() + auth1.m_errMsg);
                return;
            }
            MessageBox.Show("初始化成功");
	    //复位DUT
	   //在调用Auth()之前,复位DUT设备,否则可能会进产测失败	
            ret = auth.Auth(sn);
            if (ret == false)
            {
                MessageBox.Show(auth.m_errCode?.ToString() + auth1.m_errMsg);
                return;
            }
            else
            {
                MessageBox.Show("独立授权成功!");
                return;
            }

	private void UpdateProgress(object sender, ProgressEventArgs e)
        {
            this.Invoke(new Action(() =>
            {
                label_msg_1.Text = e.Message+" "+e.Progress.ToString() + "%";
            }));
        }