Last Updated on : 2023-07-06 06:05:05download
NB 授权 SDK 是基于涂鸦云和涂鸦云接口开发的 SDK,用于 NB 设备的授权和授权校验。本文档主要介绍 NB 授权 SDK中涂鸦网络通信库和 Demo。
您现在正在阅览的,是一篇不完全公开的文档,这表示该文档内容的适用性有一定的限制,文档或目录所描述的内容适用于旧版本 SDK、API、工具、平台等。
如果您需要更准确的技术文档,请访问 涂鸦 IoT 开发平台,然后自行搜索。
│ readme.txt
└─lib
BouncyCastle.Crypto.dll
Newtonsoft.Json.dll
TuyaCloudIfLib.dll
涂鸦网络通信库用于与涂鸦云的通信。主要包括账号登录、获取授权码信息、模块授权、授权校验功能,接口说明如下。
接口 | 说明 |
---|---|
UserLogin ( ) | 账号登录 |
GetWorkOrderInfo( ) | 获取工单信息 |
GetTokenInfo ( ) | 获取 Token 信息 |
GetCraftLine ( ) | 获取工艺路线 |
QueryMacSN( ) | 查询 IMEI 或 PSK |
StationReset( ) | 工位重置 |
Auth ( ) | 授权 |
AuthValidate ( ) | 授权有效性校验 |
StationStatusCommit( ) | 提交工位状态 |
说明: 具体接口说明,请参考涂鸦云网络通信 SDK 说明。
string workorder = "SQBF03GTZ";
//账号登录
UserLoginReqParas req = new UserLoginReqParas();
req.username = "xxxxx";
req.password = "xxxxx";
UserLoginRspParas rsp = TuyaCloudIf.UserLogin(req);
if (rsp.success == false)
MessageBox.Show(rsp.errorMsg);
//1.获取工单信息
GetWorkOrderInfoReq getWorkOrderInfoReq = new GetWorkOrderInfoReq();
getWorkOrderInfoReq.orderCode = workorder;
GetWorkOrderInfoRsp getWorkOrderInfoRsp = TuyaCloudIf.GetWorkOrderInfo(getWorkOrderInfoReq);
if (getWorkOrderInfoRsp.success)
MessageBox.Show("getWorkOrderInfo success!\r\n" + getWorkOrderInfoRsp.ToJsonString(true));
else
{
MessageBox.Show("getWorkOrderInfo fail!\r\n" + getWorkOrderInfoRsp.errorMsg);
return;
}
//查询token信息
GetTokenInfoReqParas getTokenInfoReqParas = new GetTokenInfoReqParas();
getTokenInfoReqParas.tokenId = getWorkOrderInfoRsp.result.tokenId;
GetTokenInfoRspParas getTokenInfoRspParas = TuyaCloudIf.GetTokenInfo(getTokenInfoReqParas);
if (getTokenInfoRspParas.success)
MessageBox.Show("getTokenInfo success!\r\n" + getTokenInfoRspParas.ToJsonString(true));
else
{
MessageBox.Show("getTokenInfo fail!\r\n" + getTokenInfoRspParas.errorMsg);
return;
}
//2获取工艺路线
GetCraftLineReq getCraftLineReq = new GetCraftLineReq();
getCraftLineReq.orderCode = workorder;
GetCraftLineRsp getCraftLineRsp = TuyaCloudIf.GetCraftLine(getCraftLineReq);
if (getCraftLineRsp.success)
MessageBox.Show("getCraftLine success!\r\n" + getCraftLineRsp.ToJsonString(true));
else
{
MessageBox.Show("getCraftLine fail!\r\n" + getCraftLineRsp.errorMsg);
return;
}
//如果是NB,申请IMEI,和psk
if (getTokenInfoRspParas.result.type.Contains("nb"))
{
QueryMacSNReqParas queryMacSNReqParas = new QueryMacSNReqParas_2();
queryMacSNReqParas.orderCode = workorder;
queryMacSNReqParas.tokenId = getTokenInfoRspParas.result.id;
queryMacSNReqParas.keyType = "sn";
queryMacSNReqParas.key = workorder + "00001";
queryMacSNReqParas.limit = 1;
queryMacSNReqParas.printed = "Y";
queryMacSNReqParas.offset = 0;
QueryMacSNRspParas queryMacSNRspParas = TuyaCloudIf.QueryMacSN(queryMacSNReqParas);
if(!queryMacSNRspParas.success)
{
MessageBox.Show("queryMacSNRspParas fail,\r\n" + queryMacSNRspParas.errorMsg);
return;
}
else
{
MessageBox.Show("queryMacSNRspParas success!\r\n" +
queryMacSNRspParas.ToJsonString(true));
}
}
//3.工位重置
StationResetReq stationResetReq = new StationResetReq();
stationResetReq.sn = "SQBF03GTZ00001";
stationResetReq.orderCode = "SQBF03GTZ";
stationResetReq.stationCode = getCraftLineRsp.result.nodeList[0].code;
StationResetRsp stationResetRsp = TuyaCloudIf.StationReset(stationResetReq);
if(stationResetRsp.success)
MessageBox.Show("stationResetRsp success!\r\n" + stationResetRsp.ToJsonString(true));
else
{
MessageBox.Show("stationResetRsp fail!\r\n" + stationResetRsp.errorMsg);
return;
}
//3.auth
AuthReq authReq = new AuthReq();
authReq.requestId = stationResetRsp.result.requestId;
authReq.tokenId = getWorkOrderInfoRsp.result.tokenId;
authReq.sn = workorder + "00001";
authReq.mac = "123456789012";
authReq.muid = "123456789012";
authReq.chipId = "";
authReq.sftVersion = "9.9.9";
AuthRsp authRsp=TuyaCloudIf.Auth(authReq);
if (!authRsp.success)
{
MessageBox.Show("Auth fail,\r\n" + authRsp.errorMsg);
return;
}
else
{
MessageBox.Show("Auth success!\r\n" + authRsp.ToJsonString(true));
}
AuthValidateReq authValidateReq = new AuthValidateReq();
authValidateReq.requestId = stationResetRsp.result.requestId;
authValidateReq.tokenId = getWorkOrderInfoRsp.result.tokenId;
authValidateReq.accessKey = authRsp.result.accessKey;
authValidateReq.mac = authRsp.result.mac;
authValidateReq.uuid = authRsp.result.uuid;
authValidateReq.wifiHotspotName = getTokenInfoRspParas.result.wifiHotspotName;
authValidateReq.wifiPassword = getTokenInfoRspParas.result.wifiPassword;
authValidateReq.muid = "123456789012";
authValidateReq.nodeCode = stationResetReq.stationCode;
authValidateReq.sn= workorder + "00001";
authValidateReq.sftVersion = "9.9.9";
AuthValidateRsp authValidateRsp = TuyaCloudIf.AuthValidate(authValidateReq);
if(!authValidateRsp.success)
{
MessageBox.Show("authValidate fail!\r\n" + authValidateRsp.errorMsg +
authValidateRsp.ToJsonString(true));
return;
}
else
{
MessageBox.Show("authValidate success!\r\n" + authValidateRsp.ToJsonString(true));
}
//Station status commit
StationStatusCommitReq stationStatusCommitReq = new StationStatusCommitReq();
stationStatusCommitReq.sn= workorder + "00001";
stationStatusCommitReq.orderCode = workorder;
stationStatusCommitReq.requestId = stationResetRsp.result.requestId;
stationStatusCommitReq.stationCode = stationResetReq.stationCode;
stationStatusCommitReq.status = 1;//1:授权成功,0:失败
StationStatusCommitRsp stationStatusCommitRsp=
TuyaCloudIf.StationStatusCommit(stationStatusCommitReq);
if (!stationStatusCommitRsp.success)
{
MessageBox.Show("stationStatusCommit fail!\r\n" + stationStatusCommitRsp.errorMsg);
return;
}
else
{
MessageBox.Show("stationStatusCommit success!\r\n" +
stationStatusCommitRsp.ToJsonString(true));
}
Is this page helpful?
YesFeedback