NET Core 跨平台物联网开发 SDK属性、方法、委托、类(四)

简介: NET Core 跨平台物联网开发 SDK属性、方法、委托、类(四)

系列教程目录


(一) 连接阿里云IOT

(二) 设置委托事件

(三) 上报属性

(四)  SDK文档 属性、方法、委托、类

http://pan.whuanle.cn/index.php?dir=uploads/阿里云IOT/AliIOTXFclient-dll类库&response

下载三个库,头部引入 即可使用

using AliIOTXFClient;

示例下载地址

http://pan.whuanle.cn/index.php?dir=uploads/阿里云IOT/demo示例

 

AliIOTXFClient.XFMQTT 类是核心功能


生成设备属性、服务、事件通讯的topic


public readonly ThingModel thingModel

有四个主要属性,用来获取或设置属性、服务、事件的Topic地址。

 

名称 说明
upTopic

用于上传设备属性数据,有以下几个字段

设备上报属性请求Topic--透传:up_raw 

设备上报属性响应Topic--透传:up_raw_reply

设备上报属性请求Topic--Alink JSON: post

设备上报属性响应Topic--Alink JSON:post_reply



setTopic

 设置设备属性,有以下几个字段

下行(透传)响应Topic:down_raw

下行(透传)响应Topic:down_raw_reply

下行(Alink JSON)请求Topic:set

下行(Alink JSON)响应Topic:set_reply

eventTopic

 设备事件上报,有以下几个字段

上行(透传) 请求Topic:up_raw

上行(透传)响应Topic:up_raw_reply

上行(Alink JSON)请求Topic:post

上行(Alink JSON)响应Topic:post_reply

serviceTopic

 设备服务调用

下行(透传)请求Topic:down_raw

下行(透传)响应Topic:down_raw_reply

下行(Alink JSON)请求Topic:identifier

下行(Alink JSON)Topic:identifier_reply

 

与连接前有关


初始化连接设置

public void Init(string DeviceSecret, string RegionId)

生成唯一clientId

public string CreateClientId()

创建MQTT连接并与服务器通讯,订阅需要的Topic

public void ConnectMqtt(string[] SubTopic, byte[] QOS = null)

 

委托


订阅回调 - 当收到服务器消息时

public uPLibrary.Networking.M2Mqtt.MqttClient.MqttMsgPublishEventHandler PubEventHandler;

 

当 QOS=1或2时,收到订阅触发

public uPLibrary.Networking.M2Mqtt.MqttClient.MqttMsgPublishedEventHandler PubedEventHandler;

 

向服务器发布 Topic 时

public uPLibrary.Networking.M2Mqtt.MqttClient.MqttMsgSubscribedEventHandler SubedEventHandler;

 

向服务器发布 Topic 失败时

public uPLibrary.Networking.M2Mqtt.MqttClient.MqttMsgUnsubscribedEventHandler UnSubedEventHandler;

 

断开连接时

public uPLibrary.Networking.M2Mqtt.MqttClient.ConnectionClosedEventHandler ConnectionClosedEventHandler;

 

默认的方法


Default_PubEventHandler(object sender, MqttMsgPublishEventArgs e)
public void Default_PubedEventHandler(object sender, MqttMsgPublishedEventArgs e)
public void Default_SubedEventHandler(object sender, MqttMsgSubscribedEventArgs e)
public void Default_UnSubedEventHandler(object sender, MqttMsgUnsubscribedEventArgs e)
public void Default_ConnectionClosedEventHandler(object sender, EventArgs e)

 

发布消息


上传属性或发布 Topic

public int Subscribe(string PubTopic, byte[] content)

上传属性或发布 Topic

public int Subscribe(string PubTopic, string content)

上传属性或发布 Topic,会将源数据进行 Base 64位加密再上传

public int SubscribeToBase(string PubTopic, byte[] betys)

 

属性上传


设备上传属性--透传

public int Thing_Property_Up_Raw(byte[] bytes)

自定义设备上传属性地址、上传属性--透传。不建议使用,建议使用 Up_Raw(byte[] bytes)

public int Thing_Property_Up_Raw(string up_rawTopic, byte[] bytes)

设备上传属性--透传,转为 Base 64位加密后上传

public int Thing_Property_Up_RawToBase64(byte[] bytes)

设备上传属性--透传,Base 64 位加密后上传--不建议使用此方法

public int Thing_Property_Up_Raw_ToBase64(string up_rawTopic, byte[] bytes)

上传设备属性--Alink Json

public int Thing_Property_Post(string json,bool isToLwer=true)

同上

public int Thing_Property_Post(byte[] json)

上传设备属性--Alink Json

public int Thing_Property_Post<AlinkModel>(AlinkModel model,bool isToLower=true)

 

设置设备属性


收到服务器属性设置命令,返回响应

public int Thing_Property_set(string content,bool isToLower=true)

同上

public int Thing_Property_set(byte[] content)

设备属性下发设置

public int Thing_Property_set<SetJson>(SetJson model,bool isToLower=true)

设备事件上报


设备事件上报,以字符串内容上传

public int Thing_Event_up_raw(string content)

设备事件上报,把原始报文 Base64 加密后上传

public int Thing_Event_up_raw_Base64(byte[] content)

设备事件上报 Alink JSON

public int Thing_Event_Post(string content,bool isToLower=true)

设备事件上报 Alink JSON

public int Thing_Event_Post<EventJson>(EventJson model,bool isToLower=true)

设备服务调用


设备服务调用--透传

public int Thing_Service_Down_Reply(byte[] content)

设备服务调用

public int Thing_Service_Identifier_Reply(string content,bool isToLower=true)

设备服务调用

public int Thing_Service_Identifier_Reply<ServiceJsonModel>(ServiceJsonModel model,bool isToLower=true)

 

需要注意的是,SDK中,无论是普通订阅还是上传属性响应、下发设置命令、事件、服务调用等,凡是“收”到服务器的消息,均是触发

public uPLibrary.Networking.M2Mqtt.MqttClient.MqttMsgPublishEventHandler PubEventHandler;

如果想区别不同的接收到的Topic,需手动修改方法,将其绑定到委托中。

相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
人工智能 物联网 Android开发
【04】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-自定义一个设置输入小部件组件-完成所有设置setting相关的页面-优雅草卓伊凡
【04】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-自定义一个设置输入小部件组件-完成所有设置setting相关的页面-优雅草卓伊凡
562 92
|
人工智能 物联网 Android开发
【03】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-在lib目录新建自定义库UtilsLibrary,ComponentLibrary,CommonConstLibrary完成设置SettingsView.ets初始公共类书写-优雅草卓伊凡
【03】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-在lib目录新建自定义库UtilsLibrary,ComponentLibrary,CommonConstLibrary完成设置SettingsView.ets初始公共类书写-优雅草卓伊凡
630 23
【03】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-在lib目录新建自定义库UtilsLibrary,ComponentLibrary,CommonConstLibrary完成设置SettingsView.ets初始公共类书写-优雅草卓伊凡
|
存储 人工智能 物联网
【02】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-登录页面LoginView.ets完成-并且详细解释关于arkui关于 CommonConst, commonColor, InputDataModel-优雅草卓伊凡
【02】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-登录页面LoginView.ets完成-并且详细解释关于arkui关于 CommonConst, commonColor, InputDataModel-优雅草卓伊凡
471 14
【02】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-登录页面LoginView.ets完成-并且详细解释关于arkui关于 CommonConst, commonColor, InputDataModel-优雅草卓伊凡
|
人工智能 物联网 编译器
【01】优雅草星云物联网AI智控系统从0开发鸿蒙端适配完成流程-初始化鸿蒙编译器deveco studio项目结构-UI设计图切片下载-优雅草卓伊凡
【01】优雅草星云物联网AI智控系统从0开发鸿蒙端适配完成流程-初始化鸿蒙编译器deveco studio项目结构-UI设计图切片下载-优雅草卓伊凡
371 11
【01】优雅草星云物联网AI智控系统从0开发鸿蒙端适配完成流程-初始化鸿蒙编译器deveco studio项目结构-UI设计图切片下载-优雅草卓伊凡
|
人工智能 前端开发 物联网
【05】20250416优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-增加告警中心相关卡片页面WarningCardWidget相关-增加Canvas 绘制折线图-Canvas 绘制柱状图-首页-优雅草卓伊凡
【05】20250416优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-增加告警中心相关卡片页面WarningCardWidget相关-增加Canvas 绘制折线图-Canvas 绘制柱状图-首页-优雅草卓伊凡
325 0
【05】20250416优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-增加告警中心相关卡片页面WarningCardWidget相关-增加Canvas 绘制折线图-Canvas 绘制柱状图-首页-优雅草卓伊凡
|
物联网 Python
请问:如何使用python对物联网平台上设备的属性进行更改?
为验证项目可行性,本实验利用阿里云物联网平台创建设备并定义电流、电压两个整型属性。通过Python与平台交互,实现对设备属性的控制,确保后续项目的顺利进行。此过程涵盖设备连接、数据传输及属性调控等功能。
|
存储 XML 开发工具
【Azure Storage Account】利用App Service作为反向代理, 并使用.NET Storage Account SDK实现上传/下载操作
本文介绍了如何在Azure上使用App Service作为反向代理,以自定义域名访问Storage Account。主要内容包括: 1. **设置反向代理**:通过配置`applicationhost.xdt`和`web.config`文件,启用IIS代理功能并设置重写规则。 2. **验证访问**:测试原生URL和自定义域名的访问效果,确保两者均可正常访问Storage Account。 3. **.NET SDK连接**:使用共享访问签名(SAS URL)初始化BlobServiceClient对象,实现通过自定义域名访问存储服务。
250 0
|
JSON 安全 API
.net 自定义日志类
在.NET中,创建自定义日志类有助于更好地管理日志信息。示例展示了如何创建、配置和使用日志记录功能,包括写入日志文件、设置日志级别、格式化消息等。注意事项涵盖时间戳、日志级别、JSON序列化、线程安全、日志格式、文件处理及示例使用。请根据需求调整代码。
278 13
|
JSON 数据格式
.net HTTP请求类封装
`HttpRequestHelper` 是一个用于简化 HTTP 请求的辅助类,支持发送 GET 和 POST 请求。它使用 `HttpClient` 发起请求,并通过 `Newtonsoft.Json` 处理 JSON 数据。示例展示了如何使用该类发送请求并处理响应。注意事项包括:简单的错误处理、需安装 `Newtonsoft.Json` 依赖,以及建议重用 `HttpClient` 实例以优化性能。
582 2

相关产品

  • 物联网平台