发送消息给设备并得到设备响应__接口列表_服务器端API_阿里云物联网套件-阿里云
推送数据给设备并得到响应
特别注意:该接口目前只适用CCP协议接入的设备,MQTT协议不支持
描述
请求参数
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
<公共参数> | 见 公共参数 | ||
ProductKey | String | 是 | 以哪个ProductKey来进行发送 |
DeviceName | String | 是 | 设备名称 |
RpcContent | String | 是 | 需要传递给设备的数据,数据需要为 二进制经过Base64转码得到的字符串数据 |
TimeOut | Integer | 是 | 表示等待设备回复消息的时间,单位是毫秒 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
RequestId | String | 表示调用返回码 |
Rpccode | String | 表示调用返回码(UNKNOW,SUCCESS,TIMEOUT,HALFCONN) |
Success | Boolean | 表示调用成功与否 |
ResponseContent | String | 设备返回二进制数据的base64编码后的值 |
ErrorMessage | String | 出错信息 |
UNKNOW:系统异常
SUCCESS:成功
TIMEOUT:设备回执超时
OFFLINE: 设备离线
HALFCONN: 设备离线(设备连接断开但是断开时间未超过一个心跳周期)
示例
- 请求示例
https://iot.aliyuncs.com/?&Action=RevertRpc
&ProductKey=...
&DeviceName=...
&RpcContent=aGVsbG8gd29ybGQ%253D
&TimeOut=5000
&<[公共请求参数]>
SDK示例代码 [SDK下载]
- java
RevertRpcRequest rpcRequest = new RevertRpcRequest();
rpcRequest.setDeviceName("...");//设备名称
rpcRequest.setProductKey(...);//设备接入时候填写的productKey
rpcRequest.setTimeOut(5000); //超时时间,单位毫秒.如果超过这个时间设备没反应则返回"TIMEOUT"
rpcRequest.setRpcContent("aGVsbG8gd29ybGQ=");//推送给设备的数据.数据要求二进制数据做一次BASE64编码.(示例里面是"helloworld"编码后的值)
RevertRpcResponse rpcResponse = client.getAcsResponse(rpcRequest);
//得到设备返回的数据信息. 注意:得到的数据是设备返回二进制数据然后再经过IOT平台base64转换之后的字符串.需要转换一下才能拿到原始的二进制数据.
System.out.println(rpcResponse.getResponseContent());
System.out.println(rpcResponse.getRpccode());//对应的响应码( TIMEOUT/SUCCESS/OFFLINE/HALFCONN等)
- php
$request = new IotRevertRpcRequest();
$request->setProductKey(60028255);
$request->setDeviceName("11a936267d2a4b6eb7b4cb8549fc1fa7");//设备名称
$request->setTimeOut(5000); //超时时间,单位毫秒.如果超过这个时间设备没反应则返回"TIMEOUT"
$request->setRpcContent("aGVsbG8gd29ybGQ=");//推送给设备的数据.数据要求二进制数据做一次BASE64编码.(示例里面是"helloworld"编码后的值)
$response = $client->getAcsResponse($request);
print_r("rn");
print_r($response);
- python
request = RevertRpcRequest.RevertRpcRequest()
request.set_accept_format('json') // 设置返回数据格式,默认为XML
request.set_ProductKey('...')
request.set_DeviceName('xxxxxxx') // 设备名称
request.set_RpcContent('aGVsbG8gd29ybGQ=') // 推送给设备的数据.数据要求二进制数据做一次BASE64编码.(示例里面是"helloworld"编码后的值)
request.set_TimeOut(1000) // 超时时间,单位毫秒.如果超过这个时间设备没反应则返回"TIMEOUT"
result = clt.do_action(request)
print 'revert rpc : ' + result
- java
返回示例
json示例
{
"Rpccode":"UNKONW",
"Success":true,
"ResponseContent":"bm90IGZvdW5kIHJvdXRlciByZWNvcmQu"
}
XML示例
<RevertRpcResponse>
<Rpccode>UNKONW</Rpccode>
<Success>true</Success>
<ResponseContent>bm90IGZvdW5kIHJvdXRlciByZWNvcmQu</ResponseContent>
</RevertRpcResponse>
最后更新:2016-12-06 17:29:13
上一篇:
发布消息到Topic__接口列表_服务器端API_阿里云物联网套件-阿里云
下一篇:
设备状态回调通知__服务器端API_阿里云物联网套件-阿里云
升级 Docker Daemon__集群管理_用户指南_容器服务-阿里云
数据上传到MaxCompute(原ODPS)__用户指南_推荐引擎-阿里云
查询路由器接口列表__高速通道相关接口_API 参考_云服务器 ECS-阿里云
按量计费__计费说明_日志服务-阿里云
DataV数据可视化__数加产品概览_数加平台介绍-阿里云
查看实例详情__实例管理_开放API_分布式关系型数据库 DRDS-阿里云
处理数据__规则引擎_控制台使用手册_阿里云物联网套件-阿里云
创建APP__快速开始_移动数据分析-阿里云
二次排序示例__示例程序_MapReduce_大数据计算服务-阿里云
修改消息可见时间__队列接口规范_API使用手册_消息服务-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云