手把手学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
分享
相关文章
社区每周丨小程序基础API新增获取设备、系统等多个接口
社区每周丨小程序基础API新增获取设备、系统等多个接口
280 11
ENS、IoT设备、X86、ARM
ENS(Enterprise Name Service)是企业名称服务,是一种为物联网设备提供命名和寻址服务的技术。ENS通过为物联网设备分配唯一的名称和地址,使得物联网设备可以被网络中的其他设备和服务所识别和访问。 IoT设备(Internet of Things device)是连接到互联网的物理设备,可以收集和共享数据,用于监测、控制和优化各种业务流程和操作。IoT设备包括各种传感器、执行器、网关和路由器等。
204 2
使用IoT设备优化家庭生活的技术探索
【8月更文挑战第4天】IoT设备以其智能化、便捷性和高效性,正逐步成为现代家庭不可或缺的一部分。从智能照明到智能安防,从智能恒温器到智能厨房,再到智能语音助手,这些设备不仅优化了我们的家庭生活,还提升了我们的生活质量和幸福感。随着技术的不断进步和应用场景的不断拓展,我们有理由相信,未来的智能家居将会更加智能、更加人性化,为我们的生活带来更多惊喜和便利。
手把手教你用IoT设备监控家庭环境数据
本实验带您体验如何通过六合一传感器(温度、湿度、二氧化碳、PM2.5、PM10、甲醛)实现家庭环境数据实时采集,并搭建可视化大屏实时监控。
物联网(IoT)就像是一个大型派对,无数的设备都在欢快地交流着信息
【9月更文挑战第4天】在这个万物互联的时代,物联网(IoT)犹如一场盛大的派对,各类设备欢聚一堂。然而,如何让这些设备互相理解并协同工作呢?这就需要机器学习与人工智能的助力。例如,智能空调通过学习你的使用习惯来调节温度,使你更加舒适;智能安防系统则能识别异常行为并及时报警,保障家庭安全。此外,智能农业、交通等领域也因机器学习和人工智能的应用变得更加高效。下面通过一个简单的温度预测代码示例,展示机器学习在物联网中的实际应用,让我们一起感受其强大潜力。
225 0
【Azure IoT Hub】从设备端如何向IOT发送海量数据,可以使用从设备到IoT连接的直接传输吗?如何把IoT Hub中的数据存储到Azure Storage中?
【Azure IoT Hub】从设备端如何向IOT发送海量数据,可以使用从设备到IoT连接的直接传输吗?如何把IoT Hub中的数据存储到Azure Storage中?
149 0
物联网(IoT)设备的硬件选型与集成技术博文
【6月更文挑战第28天】物联网设备硬件选型与集成聚焦关键要素:功能匹配、性能稳定性、兼容扩展及成本效益。嵌入式系统、通信协议、数据处理和安全性技术确保集成效果,支撑高效、智能的IoT系统,驱动家居、城市与工业自动化变革。
构建未来:Android与IoT设备的无缝交互深入探索软件自动化测试的未来趋势
【5月更文挑战第30天】在物联网(IoT)技术快速发展的当下,Android系统因其开放性和广泛的用户基础成为了连接智能设备的首选平台。本文将探讨如何通过现代Android开发技术实现智能手机与IoT设备的高效、稳定连接,并分析其中的挑战和解决方案。我们将深入挖掘Android系统的底层通信机制,提出创新的交互模式,并通过实例演示如何在Android应用中集成IoT控制功能,旨在为开发者提供一套可行的指导方案,促进IoT生态系统的进一步发展。
AI助理

你好,我是AI助理

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

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问