手把手学IOT服务端API编程[17、更新设备影子]|MVP讲堂

简介: 本教程旨在介绍服务器端的API编程接口,基于php脚本的sdk,希望对物联网服务器端有编程需求的有所帮助。阿里云MVP手把手教你!有演示视频,千万别错过!

作者:阿里云MVP洵云


13节回顾:手把手学IOT服务端API编程[13、发布消息到Topic]

14节回顾:手把手学IOT服务端API编程[14、发消息给设备并同步返回响应]

15节回顾:手把手学IOT服务端API编程[15、发布广播消息]

16节回顾:手把手学IOT服务端API编程[16、查询设备影子]


上节介绍从服务端查询设备影子消息后,实际使用过程中,常常需要根据网络的状态情况,进行相应更新设备的影子,服务端的API接口也提供了相应的功能,
这一节就来介绍一下如何更新设备影子这个功能,这个接口需要提供两个参数,一个是产品的key值,一个是设备名称;
接下来我们看一下具体实现;


1、脚本实现:
我们按照接口的要求,在框架页面上,提供产品的key值和设备名称和需要更新的设备影子,这三个输入参数框给用户输入,
产品KEY:        <input type="text" name="pkey17">
设备名称:        <input type="text" name="devname17">
影子信息:        <input type="text" name="shadowmsg17">


而在实际的实现代码中,我们只需要使用get函数提取这个变量就可以了:
pkey=_GET["pkey17"];
devname=_GET["devname17"];
shadowmsg=_GET["shadowmsg17"];;


接着引用查询设备列表的接口:
$request = new Iot\UpdateDeviceShadowRequest();


通过查看UpdateDeviceShadowRequest文件,可以知道我们需要调用setProductKey和setDeviceName 及setShadowMessage 这三个函数,来从服务端传送更新设备影子的信息;这三个参数的意思分别是配置产品key,配置设备名称,配置需要更新的设备影子信息.
其中影子信息是一个json的格式字符串,其中method的值需要为update;
request>setProductKey(pkey); 
// {"method":"update","state":{"reported":{},"desired":{"window":"open"}},"metadata":{"reported":{}},"timestamp":1511860984,"version":9}
request>setDeviceName(devname); 
request>setShadowMessage(shadowmsg); 


调用通用的网络查询操作后,将操作是否成功的返回结果显示在网页上:


echo 'RequestId :'.$response->RequestId.'<br>';
echo 'Success :'.$response->Success.'<hr>';
        
2、实际测试:
打开浏览器,转到我们框架脚本页面,这里输入我们从控制台得到的产品key值和设备名称以及最新的设备影子信息,运行提交按钮后,然后转到控制台页面,查看相关的影子信息,可以看到已经被更新到最新的了:
具体向关截图如下:



timelapse:
http://www.xunyun17.xyz/ioto/step17-UpdateDeviceShadowRequest.mp4

目录
打赏
0
0
0
0
1314
分享
相关文章
|
10月前
|
社区每周丨小程序基础API新增获取设备、系统等多个接口
社区每周丨小程序基础API新增获取设备、系统等多个接口
181 11
DataWorks产品使用合集之如何查看数据服务API发布后的服务端日志
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
9月前
|
实战指南:使用PHP构建高性能API接口服务端
构建RESTful API的简要指南:使用PHP和Laravel,先安装Laravel并配置数据库,接着在`api.php`中定义资源路由,创建`PostController`处理CRUD操作,定义`Post`模型与数据库交互。使用Postman测试API功能,如创建文章。别忘了关注安全性、错误处理和性能优化。
224 2
在钉钉中,服务端API 如何获取OA审批评论中的附件下载链接?
在钉钉中,服务端API 如何获取OA审批评论中的附件下载链接?
1248 1
客户端限流器和服务端API限流器的区别
客户端限流器和服务端API限流器在限流对象、实现方式以及应用场景等方面存在显著差异。客户端限流器主要关注于保护客户端资源和控制客户端行为,而服务端API限流器则更注重于保护服务端系统和确保服务的高可用性。
138 3
在内网开发中使用Nginx代理来访问钉钉新版服务端API
在内网开发中使用Nginx代理来访问钉钉新版服务端API
923 1
基于阿里云物联网平台(IoT)的智能家居系统开发与部署
随着物联网技术的发展,智能家居成为提升生活品质的重要方向。阿里云物联网平台提供设备接入、数据管理及应用开发能力,支持亿级设备接入、高效数据管理和灵活应用开发,确保系统安全。本文通过实战案例展示如何基于该平台构建智能家居系统,涵盖设备接入、远程控制、场景联动与数据分析等功能,助力企业快速部署智能家居解决方案。
揭秘区块链技术在物联网(IoT)安全中的革新应用
揭秘区块链技术在物联网(IoT)安全中的革新应用
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等