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

简介: 在上一章,格力空调温度 gree_temperature 设置了 读写 权限,因为空调的输出温度是可以被设置的。 CPU 温度是根据实际情况进行采集,而 空调温度 是遥控器设置的,服务器可以或者这个温度数据,同时也可以设置这个数据。

在上一章,格力空调温度 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])


实际上,不需要做出响应。。。如果有需要的话,可以自定义方法,在方法里面加上响应,绑定到委托里,自动响应。
如何设置,请参考后面的章节。

相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
8月前
|
消息中间件 安全 物联网
海量接入、毫秒响应:易易互联携手阿里云构筑高可用物联网消息中枢
面对换电生态高速发展的通信挑战,易易互联通过采用阿里云 MQTT + RocketMQ 的融合解决方案,成功构建了“海量接入、实时响应、弹性处理、安全可信”的物联网通信底座。该架构不仅显著提升了系统稳定性与可扩展性,更保障了高并发场景下的业务连续性,为实现“让换电成为营运补能第一选择”的战略目标提供了坚实的技术支撑。
412 59
|
人工智能 物联网 Android开发
【04】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-自定义一个设置输入小部件组件-完成所有设置setting相关的页面-优雅草卓伊凡
【04】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-自定义一个设置输入小部件组件-完成所有设置setting相关的页面-优雅草卓伊凡
560 92
|
12月前
|
物联网
(手把手)在华为云、阿里云搭建自己的物联网MQTT消息服务器,免费IOT平台
本文介绍如何在阿里云搭建自己的物联网MQTT消息服务器,并使用 “MQTT客户端调试工具”模拟MQTT设备,接入平台进行消息收发。
3707 42
|
人工智能 物联网 Android开发
【03】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-在lib目录新建自定义库UtilsLibrary,ComponentLibrary,CommonConstLibrary完成设置SettingsView.ets初始公共类书写-优雅草卓伊凡
【03】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-在lib目录新建自定义库UtilsLibrary,ComponentLibrary,CommonConstLibrary完成设置SettingsView.ets初始公共类书写-优雅草卓伊凡
627 23
【03】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-在lib目录新建自定义库UtilsLibrary,ComponentLibrary,CommonConstLibrary完成设置SettingsView.ets初始公共类书写-优雅草卓伊凡
|
存储 监控 安全
工业物联网关应用:PLC数据通过智能网关上传阿里云实战
本文介绍如何使用智能网关将工厂PLC数据传输至阿里云平台,适合中小企业远程监控设备状态。硬件准备包括三菱FX3U PLC、4G智能网关和24V电源。接线步骤涵盖PLC编程口与网关连接、运行状态检测及天线电源接入。配置过程涉及通讯参数、阿里云对接和数据点映射。PLC程序关键点包括数据上传触发和温度值处理。阿里云平台操作包含实时数据查看、数据可视化和规则引擎设置。最后提供常见故障排查表和安全建议,确保系统稳定运行。
1409 1
|
物联网 数据挖掘 BI
基于阿里云物联网平台(IoT)的智能家居系统开发与部署
随着物联网技术的发展,智能家居成为提升生活品质的重要方向。阿里云物联网平台提供设备接入、数据管理及应用开发能力,支持亿级设备接入、高效数据管理和灵活应用开发,确保系统安全。本文通过实战案例展示如何基于该平台构建智能家居系统,涵盖设备接入、远程控制、场景联动与数据分析等功能,助力企业快速部署智能家居解决方案。
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
678 5
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
802 0
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
422 7
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
360 0

相关产品

  • 物联网平台