阿里云物联网.NET Core客户端 CZGL.AliloTClient:5.设置设备属性

简介: 阿里云物联网.NET Core客户端 CZGL.AliloTClient:5.设置设备属性

在上一章,格力空调温度 gree_temperature 设置了 读写 权限,因为空调的输出温度是可以被设置的。


CPU 温度是根据实际情况进行采集,而 空调温度 是遥控器设置的,服务器可以或者这个温度数据,同时也可以设置这个数据。


读写权限表示服务器有权限下发指令设置设备的属性。

注意的是,只有 读/读写 两种情况,没有 写 。


1)允许服务器设置设备属性


通讯就是 订阅/推送 、数据上下传输,本身没有这么复杂,无论 是属性、事件、服务,本质还是 Topic。


CZGL.AliIoTClient 作了细致的划分(快夸笔者),里面设置了很多参数,这样更自由、方便。


第3章已经说到如何打开和取消响应和其它功能,这里就不再解释。

以下为初始代码,将会在此基础上进行说明(请修改 DeviceOptions 的信息):


static AliIoTClientJson client;
        static void Main(string[] args)
        {
            // 创建客户端
            client = new AliIoTClientJson(new DeviceOptions
            {
                ProductKey = "a1A6VVt72pD",
                DeviceName = "json",
                DeviceSecret = "7QrjTptQYCdepjbQvSoqkuygic2051zM",
                RegionId = "cn-shanghai"
            });
            client.OpenPropertyDownPost();
            // 设置要订阅的Topic、运行接收内容的Topic
            string[] topics = new string[] { client.CombineHeadTopic("get") };
            // 使用默认事件
            client.UseDefaultEventHandler();
            // 连接服务器
            client.ConnectIoT(topics, null, 60);
            Console.ReadKey();
        }


Console.ReadKey() 前加一行代码,运行服务器下发属性设置命令:


client.OpenPropertyDownPost();


运行程序。


2)下发命令


打开阿里云物联网控制台,进入 在线调试 ,然后选择前面已经创建的产品、设备。

你也可以直接打开: https://iot.console.aliyun.com/lk/monitor/debug 进行如下设置:


调试设备:调试真实设备
功能:    格力空调温度(gree_temperature)
方法:    设置


然后将输入框里的数值改为 20.0 ,点击 发送指令


{
  "gree_temperature": 20
}


然后你可以看到控制台程序收到了指令:


get topic message,Date: 16:52:55
topic: /sys/a1A6VVt72pD/json/thing/service/property/set
get messgae :
{"method":"thing.service.property.set","id":"666237842","params":{"gree_temperature":20},"version":"1.0.0"}


由于使用 Alink json,所以服务器下发的指令实际上是这样的:


{"method":"thing.service.property.set","id":"666237842","params":{"gree_temperature":20},"version":"1.0.0"}


那为什么会输出其它东西呢?这是因为 CZGL.AliIoTClient 种设置了多个默认的事件方法,

它会输出收到的消息内容(message)等信息,你可以自定义方法来处理。


将 字符串格式化后:


{
  "method": "thing.service.property.set",
  "id": "666237842",
  "params": {
    "gree_temperature": 20
  },
  "version": "1.0.0"
}


但是目前只能收到服务器下发的命令,还没有写如何处理这些命令的方法,这需要你编写相应的方法绑定到委托事件中。


当收到属性消息时,会触发这些方法。如何设置,请参考后面的章节。


3)做出响应


当你收到服务器下发的指令时,你可以对这条 Topic 做出响应。


// 返回消息ID
public int Thing_Property_set(CZGL.AliIoTClient.PropertyDownModel model,
                             [bool isToLower = True])
public int Thing_Property_set(CZGL.AliIoTClient.PropertyDownModel model, 
                                [bool isToLower = True], 
                                [System.Text.Encoding encoding = null])
public int Thing_Property_set<TModel>(TModel model, [bool isToLower = True])



实际上,不需要做出响应。。。如果有需要的话,可以自定义方法,在方法里面加上响应,绑定到委托里,自动响应。

如何设置,请参考后面的章节。

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
2月前
|
开发框架 JavaScript .NET
Vue与ASP.NET Core Web Api设置localhost与本地ip地址皆可访问
Vue与ASP.NET Core Web Api设置localhost与本地ip地址皆可访问
32 0
|
4月前
|
NoSQL 大数据 Redis
分享5款.NET开源免费的Redis客户端组件库
分享5款.NET开源免费的Redis客户端组件库
|
5月前
|
JSON 编解码 Go
Golang深入浅出之-HTTP客户端编程:使用net/http包发起请求
【4月更文挑战第25天】Go语言`net/http`包提供HTTP客户端和服务器功能,简化高性能网络应用开发。本文探讨如何发起HTTP请求,常见问题及解决策略。示例展示GET和POST请求的实现。注意响应体关闭、错误处理、内容类型设置、超时管理和并发控制。最佳实践包括重用`http.Client`,使用`context.Context`,处理JSON以及记录错误日志。通过实践这些技巧,提升HTTP编程技能。
67 1
|
5月前
|
Go 开发者
Golang深入浅出之-HTTP客户端编程:使用net/http包发起请求
【4月更文挑战第24天】Go语言的`net/http`包在HTTP客户端编程中扮演重要角色,但使用时需注意几个常见问题:1) 检查HTTP状态码以确保请求成功;2) 记得关闭响应体以防止资源泄漏;3) 设置超时限制,避免长时间等待;4) 根据需求处理重定向。理解这些细节能提升HTTP客户端编程的效率和质量。
56 1
|
5月前
|
JSON 开发框架 .NET
ASP.NET Core Web API设置响应输出的Json数据格式的两种方式
ASP.NET Core Web API设置响应输出的Json数据格式的两种方式
147 0
|
1天前
|
存储 安全 物联网
未来触手可及:探索区块链、物联网和虚拟现实技术的融合与革新
【9月更文挑战第33天】 在科技的浪潮中,新技术如区块链、物联网(IoT)和虚拟现实(VR)不断涌现,它们正逐步改变我们的生活方式、工作模式和社会结构。本文将深入探讨这些技术的最新发展趋势,并展示它们如何在实际应用中相互交织,共同塑造一个更加智能、互联的未来世界。
|
4天前
|
供应链 安全 物联网
未来已来:区块链技术在物联网与虚拟现实中的融合创新
【9月更文挑战第30天】随着科技的飞速进步,区块链、物联网(IoT)和虚拟现实(VR)技术不断突破旧有边界,相互交织形成新的技术生态。本文将深入探讨这些技术的发展趋势,并分析它们如何在实际应用中相互促进,共同塑造我们的未来。我们将看到,通过智能合约和去中心化的特性,区块链为物联网设备提供了安全的数据交换平台;同时,物联网的广泛部署又为区块链技术带来了丰富的应用场景。而在虚拟现实领域,区块链不仅能够确保数字资产的安全交易,还能增强用户的沉浸式体验。这些技术的融合预示着一个更加互联、高效和可信的未来。
24 8
|
2天前
|
传感器 安全 物联网
新技术趋势与应用随着科技的不断进步,新兴技术如区块链、物联网和虚拟现实等正迅速改变我们的世界。这些技术不仅在各自领域内展现出强大的潜力,还在相互融合中催生出更多创新应用场景。本文将探讨这些新兴技术的发展趋势及其在各行业中的应用前景,通过通俗易懂的语言和清晰的条理,带领读者了解其内涵和意义。
本文旨在探讨区块链技术、物联网和虚拟现实等新兴技术的发展趋势及其在各个行业的应用场景。通过分析这些技术的独特优势和潜在缺陷,揭示它们对未来社会和经济可能带来的深远影响。同时,结合实际案例,展示这些技术如何解决现实问题,为各行各业提供新的发展机遇。
13 4
|
5天前
|
存储 安全 物联网
探索未来:区块链、物联网和虚拟现实技术的融合与创新
【9月更文挑战第29天】在数字化浪潮的推动下,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正逐步渗透到日常生活的方方面面。本文将深入探讨这些技术的独特发展趋势及其在多个行业中的创新应用场景。我们将从基础概念出发,逐步解析这些技术如何相互交织,共同塑造一个更加互联、高效和沉浸式的未来世界。
17 5
|
8天前
|
存储 物联网 区块链
未来已来:探索区块链技术在物联网与虚拟现实中的融合应用
【9月更文挑战第26天】随着技术的不断演进,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正逐渐改变我们的工作和生活方式。本文将深入探讨这些技术如何相互促进,特别是在提供安全、透明的数据交换和增强用户体验方面的潜力。通过具体案例分析,我们将揭示这些技术融合的未来趋势,并讨论它们对社会的深远影响。
27 8

相关产品

  • 物联网平台
  • 下一篇
    无影云桌面