文档中心 > IOT设备云端接入

未来校园设备心跳日志回流

更新时间:2018/12/18 访问次数:885

1.设备心跳数据上传API

功能

设备心跳数据上报接口用于上传设备在线情况,开发者可在设备在线状态变更或定时策略上传心跳数据。

适用范围

适用于不带SDK机具,是否需要上传行为数据需跟业务方确认,带SDK直连设备由SDK自动上报,不需要走云端行为数据上传API。

心跳数据上报主流程

1. 应用开发者根据设备在线状态,构建心跳上报数据
2. 通过支付宝SDK,AlipayCommerceDataSendRequest服务接口,上传心跳数据。

2.快速接入

快速接入文档参考《蚂蚁平台快速接入》。

3.心跳数据上报OpenApi接口使用方法

3.1 SDK版本

alipay-sdk-JAVA-3.3.93.ALL 及更新版本
alipay-sdk-NET-3.2.71.ALL及更新版本
alipay-sdk-PHP-3.3.93.ALL及更新版本

3.2 心跳数据上报接口参数

参数 参数名称 参数类型 参数详细说明 是否可空 样例
scene_code 场景标识 String(100) 场景标识,支付宝提供,本场景下固定写法iot_heartbeat_event 不可空 iot_heartbeat_event
op_code 操作码 String(64) 用于标识操作类型,本场景下固定写法data_send 不可空 data_send
channel 来源渠道 String(32) 场景数据来源渠道,本场景下固定写法iot_cloud 不可空 iot_cloud
version 版本 String(32) 场景数据类型版本,本场景下固定写法2.0 不可空 2.0
op_data 操作数据 JSON 心跳日志,以json格式传输,具体传输内容见下表 不可空 {“device_sn”:“No.37924724”,“supplier_sn”:“2088934837483”}

op_data

参数 参数名称 参数类型 参数详细说明 是否可空 样例
supplier_sn 设备供应商id String(32) 设备供应商ID,需提前向BD获取 不可空 2088934837483
device_sn 设备sn String(32) 设备sn,来源于设备硬件标识 不可空 SN28372484_GUD
biz_tid 设备统一id String(64) 设备统一id,暂时无法获取 可空 olidjwe839238jdehbs21239dfds
log_version 日志版本 String(8) 日志版本 不可空 1
os_version 设备操作系统(或程序)、版本号 String(32) 设备操作系统(或程序)、版本号 可空 linux_v2.6
net_type 网络类型 String(16) 网络类型,可选项:
[2G,3G,4G,WIRED,BT,OTHER,NONE]
2G — 2G网路
3G — 3G网路
4G — 4G网路
WIFI-wifi无线网络
WIRED — 有线网络
BT — 蓝牙
OTHER — 其他
NONE — 无
不可空 2G
biz_time 事件发生时间 String(32) 事件发生时间,格式要求为yyyy-MM-dd HH:mm:ss.SSS 不可空 2018-09-11 12:22:22.323
poi 位置信息 String(64) 位置信息 可空 xx学校图书馆
online_status 在线状态 String(16) 在线状态
可选项:[ONLINE,OFFLINE]
ONLINE - 在线
OFFLINE - 离线
不可空 ONLINE
signal_intensity 信号强度 String(8) 信号强度
可选项:[H,M,L]
H - 强
M - 中
L - 弱
可空 H

4.示例

Java

@Test
    public void heartbeatlog() throws AlipayApiException {
        //实例化客户端
        AlipayClient alipayClient = new DefaultAlipayClient("//openapi.sit.dl.alipaydev.com/gateway.do", APPID, privateKey, "json", "GBK", publicKey, "RSA");
        AlipayCommerceDataSendRequest request = new AlipayCommerceDataSendRequest();
        request.setBizContent("{\n" +
                "        \"scene_code\": \"data_send\",\n" +
                "        \"op_code\": \"heartbeat_send\",\n" +
                "        \"channel\": \"iot_cloud\",\n" +
                "        \"version\": \"2.0\",\n" +
                "        \"op_data\": [\n" +
                "            {\n" +
                "                \"supplier_sn\": \"1\",\n" +
                "                \"device_sn\": \"20219837\",\n" +
                "                \"biz_tid\": \"2018029312\",\n" +
                "                \"log_version\": \"1\",\n" +
                "                \"os_version\": \"linux\",\n" +
                "                \"net_type\": \"2G\",\n" +
                "                \"biz_time\": \"2017-11-11 12:22:22.243\",\n" +
                "                \"poi\":\"xx地点\",\n" +
                "                \"online_status\": \"ONLINE\",\n" +
                "                \"signal_intensity\": \"H\"\n" +
                "            }\n" +
                "        ]\n" +
                "    }");
        AlipayCommerceDataSendResponse response = alipayClient.execute(request);
        if(response.isSuccess()) {
            System.out.println("调用成功");
        }else{
            System.out.println("调用失败");
        }
    }

.NET

//实例化客户端
    IAopClient client = new DefaultAopClient("//openapi.sit.dl.alipaydev.com/gateway.do", APPID, privateKey, "json", "1.0", "RSA",publicKey,"GBK",false);
    AlipayCommerceDataSendRequest  request= new AlipayCommerceDataSendRequest();
    request.BizContent="{\n" +
                "        \"scene_code\": \"iot_heartbeat_event\",\n" +
                "        \"op_code\": \"data_send\",\n" +
                "        \"channel\": \"iot_cloud\",\n" +
                "        \"version\": \"2.0\",\n" +
                "        \"op_data\": [\n" +
                "            {\n" +
                "                \"supplier_sn\": \"1\",\n" +
                "                \"device_sn\": \"20219837\",\n" +
                "                \"biz_tid\": \"2018029312\",\n" +
                "                \"log_version\": \"1\",\n" +
                "                \"os_version\": \"linux\",\n" +
                "                \"net_type\": \"2G\",\n" +
                "                \"biz_time\": \"2017-11-11 12:22:22.243\",\n" +
                "                \"poi\":\"xx地点\",\n" +
                "                \"online_status\": \"ONLINE\",\n" +
                "                \"signal_intensity\": \"H\"\n" +
                "            }\n" +
                "        ]\n" +
                "    }";
    AlipayCommerceDataSendResponse response=client.execute(request);
    Console.WriteLine(response.Body);

PHP

$aop = new AopClient ();
    $aop->gatewayUrl = '//openapi.sit.dl.alipaydev.com/gateway.do';
    $aop->appId = APPID;
    $aop->rsaPrivateKey = '请填写开发者私钥去头去尾去回车,一行字符串';
    $aop->alipayrsaPublicKey='请填写支付宝公钥,一行字符串';
    $aop->apiVersion = '1.0';
    $aop->signType = 'RSA2';
    $aop->postCharset='GBK';
    $aop->format='json';
    $request = new AlipayCommerceDataSendRequest ();
    $request->setBizContent("{" .
                "        \"scene_code\": \"iot_heartbeat_event\"," .
                "        \"op_code\": \"data_send\"," .
                "        \"channel\": \"iot_cloud\"," .
                "        \"version\": \"2.0\"," .
                "        \"op_data\": [" .
                "            {" .
                "                \"supplier_sn\": \"1\"," .
                "                \"device_sn\": \"20219837\"," .
                "                \"biz_tid\": \"2018029312\"," .
                "                \"log_version\": \"1\"," .
                "                \"os_version\": \"linux\"," .
                "                \"net_type\": \"2G\"," .
                "                \"biz_time\": \"2017-11-11 12:22:22.243\"," .
                "                \"poi\":\"xx地点\"," .
                "                \"online_status\": \"ONLINE\"," .
                "                \"signal_intensity\": \"H\"" .
                "            }" .
                "        ]" .
                "    }");
    $result = $aop->execute ($request); 
    $responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
    $resultCode = $result->$responseNode->code;
    if(!empty($resultCode)&&$resultCode == 10000){
        echo "成功";
    } else {
        echo "失败";
    }

HTTP

<!--http请求原文,url必须经过转义后进行POST请求-->
    POST //openapi.sit.dl.alipaydev.com/gateway.do?biz_content={"channel":"iot_cloud","op_code":"heartbeat_send","op_data":[{"biz_tid":"2018029312","biz_time":"2017-11-11 12:22:22.243","device_sn":"20219837","log_version":"1","net_type":"2G","online_status":"ONLINE","os_version":"linux","poi":"xx地点","signal_intensity":"H","supplier_sn":"1"}],"scene_code":"iot_heartbeat_event","version":"2.0"}&sign=CtDTp80gm3x9E/OzCcdfY1fCnRJ3EIZpusyVMFvk1nEnvxeteJD1nrzKfzciVFt463OBiB93YiSCDjfkB3RFMyCKfAqfT0RZ6Ig/gYy2PPWgelLL0dOLTgvEHQdZFf+IY2i1aJa6uEjWu7nmvL7R+sYRyXl1MlCgEwgYhbmU73I=&timestamp=2018-09-20 20:57:37&sign_type=RSA&charset=UTF-8&app_id=2014060600164699&method=alipay.commerce.data.send&version=1.0

FAQ

关于此文档暂时还没有FAQ
返回
顶部