基于华为物联网的app开发-接口管理开发

物联网


浏览:738 次

在上一篇文章中,我介绍了物联网中应用端SDK的封装,它主要基于华为物联网应用端封装,以便在应用系统中调用。app端SDK的封装是所有app开发的基础,但华为没有提供相应的解决方案NET,但SDK都基于Web API的JSON数据进行交互,因此实施华为NET SDK需要一些时间。本文描述了如何在物联网应用端开发基于封装SDK的界面管理,以管理物联网业务数据。

1.app端SDK打包审查

应用端的开发接口一般提供云平台上不同平台的SDK,如阿里云开源提供的Java SDK/C#SDK;华为提供Java、PHP和其他SDK,这些SDK不包含在Net中。华为物联网云的应用端API接口包括:

形象

形象

基于相应app端API接口的定义,我们使用C#封装相应的接口。

形象

它包括测试接口项目、SDK封装接口项目以及订阅消息推送接口的解析和处理,如新设备、设备信息更改、设备绑定激活等。

对于事件通知,我们通常在app端被动地处理它们,因此我们需要转换和处理它们的消息。

形象

与在管理后台订阅这些事件类似,这些事件在触发后将被推送到app服务器。

形象

2.接口的测试和使用

根据物联网应用端API的定义,我们编写了Winform程序来快速测试SDK的工作状态,如获取授权信息、查询产品、注册设备、修改设备、获取设备状态和详细信息等接口是否正常,然后将它们集成到Webapp中,以减少返工调试问题。

根据业务接口的分类测试,我们编写了以下程序来测试相应的SDK接口。

形象

在使用SDK接口之前,我们需要知道,华为IOT的API接口基本上都需要证书对接,这与我们开发的微信API不同。例如,我们的Winform测试程序在Cert目录中有一个证书文件,可以在API的Demo中找到,也可以在华为IOT平台上下载。

形象

我们最后使用证书文件cert/outputing.CertwithKey.pkcs12。

当我们创建HTTPRequest对象以获取数据时,我们需要指定这个证书,如下所示。

帮手ContentType=“application/json”;

帮手ClientCertificates=新的X509CertificateCollection(){新的X509Certificate2(Constants.CertFilePath,Constants.CertPassword)};

另一部分是API接口封装的调用测试。

例如,第一个是授权测试,用于获取AccessToken。这是调用其他接口的前提条件。

private void btnLogin_Click(对象发送方,EventArgs e)

{

var result=basicApi.Authentication();

安慰WriteLine(result!=null?“AccessToken:”+result.ToJson():“获取结果时出错”);

if(结果!=空)

{

var refreshResult=basicApi.RefreshToken(result.RefreshToken);

安慰WriteLine(refreshResult!=null?“AccessToken:”+refreshResult.ToJson():“获取结果时出错”);

这accessToken=refreshResult.accessToken;//使用记录

}

}

许多华为物联网接口没有集成,有些是,有些是。就授权而言,可以获得接口的另一个版本,两个接口获得的令牌可以通用。

var url=常量。AppBaseUrl+“/iocm/app/sec/v1.1.0/login”;

var url=常量。AppBaseUrl+“/api/v3.0/auth/令牌”;

这两个地址可以获得AccessTokens。例如,在创建设备时,有多个不同版本的接口。

对于每个接口的封装,我们测试相关接口。例如,基于产品、产品下面的列表和其他信息,我们可以在界面测试代码中进行测试,如下所示。

///<摘要>

///产品相关接口测试

///

private void btnProduct_Click(对象发送方,EventArgs e)

{

if(string.IsNullOrEmpty(accessToken))

{

MessageUtil.ShowTips(“请验证以获取AccessToken”);

回来

}

尝试

{

var productApi=新产品Api();

var deviceApi=新数据集合Api();

//查询产品列表

var queryJson=new QueryProductJson{ownerAppId=Constants.AppId};

var结果=productApi。查询产品(accessToken,queryJson);

安慰WriteLine(result!=null?result.ToJson():“no result”);

如果(result!=空&&result.pro

应用模块:
相关资讯:
物联网的发展如何帮助企业?

物联网的发展如何帮助企业?

查看
广州物联网发展:中国人工智能(AI)技术投资快速增长

广州物联网发展:中国人工智能(AI)技术投资快速增长

查看
您了解物联网解决方案的五个基本要素吗?

您了解物联网解决方案的五个基本要素吗?

查看
基于华为物联网的app开发-接口管理开发

基于华为物联网的app开发-接口管理开发

查看
【转载】腾讯云物联网内置小程序+网关FBox实现物联网数据平台对接——打造自己的物联网小程序

【转载】腾讯云物联网内置小程序+网关FBox实现物联网数据平台对接——打造自己的物联网小程序

查看