http://api.iom2m.com/objac/put
POST
请求参数 | 参数类型 | 参数说明 |
tick | long | 时间随机数 |
checksum | String | 加密验证数据,checksum计算见附表1 |
sn | String | 设备序列号 |
POST内容:
请求参数 | 参数类型 | 参数说明 | |||||||||||||||||
objid | 64位long | 设备ID号 | |||||||||||||||||
data(除key必需填外,其它节点按实际进行增减) | json | 为上报数据列表,可同时上报一条或多条,示例为: |
|||||||||||||||||
|
注意:
上传数据中key的类型,强烈建议按上报定义的区间使用,否则后期将可能会出现其它问题。例如有多个温度传感器采集的值,key可以在100000至199999任意选一个。但开关值不能在100000至199999这个区间,开关值应该在300000至399999选。
上传数据示例 :
{
"objid": 1000000031,
"data": [
{
"key": 100001,
"value": 12.01
},
{
"key": 300001,
"value": 1
},
{
"key": 1000000,
"x": 101.123123,
"y": 36.45685
}
]
}
响应内容:
返回参数 | 参数类型 | 参数说明 |
ret | 32位int | 错误码,为0表示成功,其他见错误码表 |
tick | 32位int | 当前系统时间截 |
error | String | 如果ret=0则为OK,否则为错误描述信息 |
count | 32位int | 接收了多少条状态 |
返回示例代码
{"ret":0,"error":"OK","tick":1504853117,"count":3}
完整的HTTP请求报文:
POST /objac/put?tick=152152145&checksum=256965214585236A012D5245852D125D&sn=55458785452154525185 HTTP/1.1
Accept: */*
User-Agent: szl/m2mclient
Host: api.iom2m.com
Connect-Length: 126
Content-Type: application/x-www-form-urlencoded
Connection: Keep-Alive
{"objid":1000000031, "data":[{"key":100001,"value":12.01},{"key":300001,"value":1},{"key":1000000,"x":101.123123,"y":36.45685}]}
http://api.iom2m.com/objac/get
POST
请求参数 | 参数类型 | 参数说明 |
tick | long | 时间随机数 |
checksum | String | 加密验证数据,checksum计算见附表1 |
sn | String | 设备序列号 |
POST内容:
请求参数 | 参数类型 | 参数说明 |
objid | 64位long | 设备ID号 |
响应内容:
请求参数 | 参数类型 | 参数说明 |
tick | long | 时间随机数 |
checksum | String | 加密验证数据,checksum计算见附表1 |
sn | String | 设备序列号 |
data | Json/Array | [{"key":100001,"value":12.01,"objid":123," time ":1504853117} |
完整的HTTP请求报文:
POST /objac/get?tick=152152145&checksum=256965214585236A012D5245852D125D&sn=55458785452154525185 HTTP/1.1
Accept: */*
User-Agent: szl/m2mclient
Content-Type: application/x-www-form-urlencoded
Host: api.iom2m.com
Connect-Length: 19
Connection: Keep-Alive
{"objid":1000000031}
返回示例:
{"ret":0,"error":"OK","tick":1504853117,"data":[{"key":100001,"value":12.01,"objid":12345678,"time":1504853117},{"key":300001,"value":1,"objid":12345678,"time":1504853117}]}
http://api.iom2m.com/objac/set
POST
请求参数 | 参数类型 | 参数说明 |
tick | long | 时间随机数 |
checksum | String | 加密验证数据,checksum计算见附表1 |
sn | String | 设备序列号 |
POST内容:
请求参数 | 参数类型 | 参数说明 |
objid | 64位long | 设备ID号 |
data | json/Array | 为[{"key":100001,"value":12.01} |
注意:
上传数据中key的类型,强烈建议按上报定义的区间使用,否则后期将可能会出现其它问题。例如有多个温度传感器采集的值,key可以在100000至199999任意选一个。但开关值不能在100000至199999这个区间,开关值应该在300000至399999选。
上传数据示例 :
{
"objid": 1000000031,
"data": [
{
"key": 100001,
"value": 12.01
},
{
"key": 300001,
"value": 1
}
]
}
响应内容:
返回参数 | 参数类型 | 参数说明 |
ret | 32位int | 错误码,为0表示成功,其他见错误码表 |
tick | 32位int | 当前系统时间截 |
error | String | 如果ret=0则为OK,否则为错误描述信息 |
count | int | 接受了多少条按消息 |
data | Json/Array | [{"key":100001,"value":12.01} |
返回示例代码
{"ret":0,"error":"OK","tick":1504853117,"count":2}
完整的HTTP请求报文:
POST /objac/set?tick=152152145&checksum=256965214585236A012D5245852D125D&sn=55458785452154525185 HTTP/1.1
Accept: */*
User-Agent: szl/m2mclient
Content-Type: application/x-www-form-urlencoded
Host: api.iom2m.com
Connect-Length: 126
Connection: Keep-Alive
{"objid":1000000031,"data":[{"key":100001,"value":12.01},{"key":300001,"value":1}]}
http://api.iom2m.com/report/getiodata
POST
请求参数 | 参数类型 | 参数说明 |
tick | long | 时间随机数 |
checksum | String | 加密验证数据,checksum计算见附表1 |
POST内容:
请求参数 | 参数类型 | 参数说明 |
objid | 64位long | 设备ID号 |
key | 32位long | 设备的传感器编号 |
starttm | yyyy-MM-dd hh:mm:ss | 开始时间 |
endtm | yyyy-MM-dd hh:mm:ss | 结束时间(可选,如果未填表示到当前时间点) |
type | 1,2,3,4,5 | 1表示实时数据 2表示按分钟平均值数据 3表示按每小时平均值数据 4表示按天数据 5表示按周平均值数据. 默认获取实时数据 |
nextid | 分多页时,表示下一条记录开始标记 | 查下一页时,从上一页返回的数据中获得 |
注意:
上传数据中key的类型,强烈建议按上报定义的区间使用,否则后期将可能会出现其它问题。例如有多个温度传感器采集的值,key可以在100000至199999任意选一个。但开关值不能在100000至199999这个区间,开关值应该在300000至399999选。
上传数据示例 :
{
"objid": 1000000031,
"data": [
{
"key": 100001,
"value": 12.01
},
{
"key": 300001,
"value": 1
},
{
"key": 1000000,
"x": 101.123123,
"y": 36.45685
}
]
}
响应内容:
返回参数 | 参数类型 | 参数说明 |
ret | 32位int | 错误码,为0表示成功,其他见错误码表 |
tick | 32位int | 当前系统时间截 |
error | String | 如果ret=0则为OK,否则为错误描述信息 |
count | 32位int | 接收了多少条状态 |
返回示例代码
{"ret":0,"error":"OK","tick":1504853117,"count":3}
完整的HTTP请求报文:
POST /report/getiodata?tick=152152145&checksum=256965214585236A012D5245852D125D&sn=55458785452154525185 HTTP/1.1
Accept: */*
User-Agent: szl/m2mclient
Host: api.iom2m.com
Connect-Length: 126
Content-Type: application/x-www-form-urlencoded
Connection: Keep-Alive
{"objid":1000000031, "data":[{"key":100001,"value":12.01},{"key":300001,"value":1},{"key":1000000,"x":101.123123,"y":36.45685}]}
http://api.iom2m.com/report/getiodatamap
POST
请求参数 | 参数类型 | 参数说明 |
tick | long | 时间随机数 |
checksum | String | 加密验证数据,checksum计算见附表1 |
POST内容:
请求参数 | 参数类型 | 参数说明 |
objid | 64位long | 设备ID号 |
key | 32位long | 设备的传感器编号 |
starttm | yyyy-MM-dd hh:mm:ss | 开始时间 |
endtm | yyyy-MM-dd hh:mm:ss | 结束时间(可选,如果未填表示到当前时间点) |
type | 1,2,3,4,5 | 1表示实时数据 2表示按分钟平均值数据 3表示按每小时平均值数据 4表示按天数据 5表示按周平均值数据. 默认获取实时数据 |
注意:
上传数据中key的类型,强烈建议按上报定义的区间使用,否则后期将可能会出现其它问题。例如有多个温度传感器采集的值,key可以在100000至199999任意选一个。但开关值不能在100000至199999这个区间,开关值应该在300000至399999选。
上传数据示例 :
{
"objid": 1000000031,
"data": [
{
"key": 100001,
"value": 12.01
},
{
"key": 300001,
"value": 1
},
{
"key": 1000000,
"x": 101.123123,
"y": 36.45685
}
]
}
响应内容:
返回参数 | 参数类型 | 参数说明 |
ret | 32位int | 错误码,为0表示成功,其他见错误码表 |
tick | 32位int | 当前系统时间截 |
error | String | 如果ret=0则为OK,否则为错误描述信息 |
count | 32位int | 接收了多少条状态 |
返回示例代码
{"ret":0,"error":"OK","tick":1504853117,"count":3}
完整的HTTP请求报文:
POST /report/getiodatamap?tick=152152145&checksum=256965214585236A012D5245852D125D&sn=55458785452154525185 HTTP/1.1
Accept: */*
User-Agent: szl/m2mclient
Host: api.iom2m.com
Connect-Length: 126
Content-Type: application/x-www-form-urlencoded
Connection: Keep-Alive
{"objid":1000000031, "data":[{"key":100001,"value":12.01},{"key":300001,"value":1},{"key":1000000,"x":101.123123,"y":36.45685}]}
http://api.iom2m.com/report/getdevobject
POST
请求参数 | 参数类型 | 参数说明 |
tick | long | 时间随机数 |
checksum | String | 加密验证数据,checksum计算见附表1 |
POST内容:
请求参数 | 参数类型 | 参数说明 |
objid | 64位long | 设备ID号 |
key | 32位long | 设备的传感器编号 |
starttm | yyyy-MM-dd hh:mm:ss | 开始时间 |
endtm | yyyy-MM-dd hh:mm:ss | 结束时间(可选,如果未填表示到当前时间点) |
type | 1,2,3,4,5 | 1表示实时数据 2表示按分钟平均值数据 3表示按每小时平均值数据 4表示按天数据 5表示按周平均值数据. 默认获取实时数据 |
注意:
上传数据中key的类型,强烈建议按上报定义的区间使用,否则后期将可能会出现其它问题。例如有多个温度传感器采集的值,key可以在100000至199999任意选一个。但开关值不能在100000至199999这个区间,开关值应该在300000至399999选。
上传数据示例 :
{
"objid": 1000000031,
"data": [
{
"key": 100001,
"value": 12.01
},
{
"key": 300001,
"value": 1
},
{
"key": 1000000,
"x": 101.123123,
"y": 36.45685
}
]
}
响应内容:
返回参数 | 参数类型 | 参数说明 |
ret | 32位int | 错误码,为0表示成功,其他见错误码表 |
tick | 32位int | 当前系统时间截 |
error | String | 如果ret=0则为OK,否则为错误描述信息 |
count | 32位int | 接收了多少条状态 |
返回示例代码
{"ret":0,"error":"OK","tick":1504853117,"count":3}
完整的HTTP请求报文:
POST /report/getiodatamap?tick=152152145&checksum=256965214585236A012D5245852D125D&sn=55458785452154525185 HTTP/1.1
Accept: */*
User-Agent: szl/m2mclient
Host: api.iom2m.com
Connect-Length: 126
Content-Type: application/x-www-form-urlencoded
Connection: Keep-Alive
{"objid":1000000031, "data":[{"key":100001,"value":12.01},{"key":300001,"value":1},{"key":1000000,"x":101.123123,"y":36.45685}]}
http://api.iom2m.com/report/getdevobject
POST
请求参数 | 参数类型 | 参数说明 |
tick | long | 时间随机数 |
checksum | String | 加密验证数据,checksum计算见附表1 |
POST内容:
请求参数 | 参数类型 | 参数说明 |
objid | 64位long | 设备ID号 |
key | 32位long | 设备的传感器编号 |
starttm | yyyy-MM-dd hh:mm:ss | 开始时间 |
endtm | yyyy-MM-dd hh:mm:ss | 结束时间(可选,如果未填表示到当前时间点) |
type | 1,2,3,4,5 | 1表示实时数据 2表示按分钟平均值数据 3表示按每小时平均值数据 4表示按天数据 5表示按周平均值数据. 默认获取实时数据 |
注意:
上传数据中key的类型,强烈建议按上报定义的区间使用,否则后期将可能会出现其它问题。例如有多个温度传感器采集的值,key可以在100000至199999任意选一个。但开关值不能在100000至199999这个区间,开关值应该在300000至399999选。
上传数据示例 :
{
"objid": 1000000031,
"data": [
{
"key": 100001,
"value": 12.01
},
{
"key": 300001,
"value": 1
},
{
"key": 1000000,
"x": 101.123123,
"y": 36.45685
}
]
}
响应内容:
返回参数 | 参数类型 | 参数说明 |
ret | 32位int | 错误码,为0表示成功,其他见错误码表 |
tick | 32位int | 当前系统时间截 |
error | String | 如果ret=0则为OK,否则为错误描述信息 |
count | 32位int | 接收了多少条状态 |
返回示例代码
{"ret":0,"error":"OK","tick":1504853117,"count":3}
完整的HTTP请求报文:
POST /report/getiodatamap?tick=152152145&checksum=256965214585236A012D5245852D125D&sn=55458785452154525185 HTTP/1.1
Accept: */*
User-Agent: szl/m2mclient
Host: api.iom2m.com
Connect-Length: 126
Content-Type: application/x-www-form-urlencoded
Connection: Keep-Alive
{"objid":1000000031, "data":[{"key":100001,"value":12.01},{"key":300001,"value":1},{"key":1000000,"x":101.123123,"y":36.45685}]}
http://api.iom2m.com/report/getdevobject
POST
请求参数 | 参数类型 | 参数说明 |
tick | long | 时间随机数 |
checksum | String | 加密验证数据,checksum计算见附表1 |
POST内容:
请求参数 | 参数类型 | 参数说明 |
objid | 64位long | 设备ID号 |
key | 32位long | 设备的传感器编号 |
starttm | yyyy-MM-dd hh:mm:ss | 开始时间 |
endtm | yyyy-MM-dd hh:mm:ss | 结束时间(可选,如果未填表示到当前时间点) |
type | 1,2,3,4,5 | 1表示实时数据 2表示按分钟平均值数据 3表示按每小时平均值数据 4表示按天数据 5表示按周平均值数据. 默认获取实时数据 |
注意:
上传数据中key的类型,强烈建议按上报定义的区间使用,否则后期将可能会出现其它问题。例如有多个温度传感器采集的值,key可以在100000至199999任意选一个。但开关值不能在100000至199999这个区间,开关值应该在300000至399999选。
上传数据示例 :
{
"objid": 1000000031,
"data": [
{
"key": 100001,
"value": 12.01
},
{
"key": 300001,
"value": 1
},
{
"key": 1000000,
"x": 101.123123,
"y": 36.45685
}
]
}
响应内容:
返回参数 | 参数类型 | 参数说明 |
ret | 32位int | 错误码,为0表示成功,其他见错误码表 |
tick | 32位int | 当前系统时间截 |
error | String | 如果ret=0则为OK,否则为错误描述信息 |
count | 32位int | 接收了多少条状态 |
返回示例代码
{"ret":0,"error":"OK","tick":1504853117,"count":3}
完整的HTTP请求报文:
POST /report/getiodatamap?tick=152152145&checksum=256965214585236A012D5245852D125D&sn=55458785452154525185 HTTP/1.1
Accept: */*
User-Agent: szl/m2mclient
Host: api.iom2m.com
Connect-Length: 126
Content-Type: application/x-www-form-urlencoded
Connection: Keep-Alive
{"objid":1000000031, "data":[{"key":100001,"value":12.01},{"key":300001,"value":1},{"key":1000000,"x":101.123123,"y":36.45685}]}
http://api.iom2m.com/report/getdevobject
POST
请求参数 | 参数类型 | 参数说明 |
tick | long | 时间随机数 |
checksum | String | 加密验证数据,checksum计算见附表1 |
POST内容:
请求参数 | 参数类型 | 参数说明 |
objid | 64位long | 设备ID号 |
key | 32位long | 设备的传感器编号 |
starttm | yyyy-MM-dd hh:mm:ss | 开始时间 |
endtm | yyyy-MM-dd hh:mm:ss | 结束时间(可选,如果未填表示到当前时间点) |
type | 1,2,3,4,5 | 1表示实时数据 2表示按分钟平均值数据 3表示按每小时平均值数据 4表示按天数据 5表示按周平均值数据. 默认获取实时数据 |
注意:
上传数据中key的类型,强烈建议按上报定义的区间使用,否则后期将可能会出现其它问题。例如有多个温度传感器采集的值,key可以在100000至199999任意选一个。但开关值不能在100000至199999这个区间,开关值应该在300000至399999选。
上传数据示例 :
{
"objid": 1000000031,
"data": [
{
"key": 100001,
"value": 12.01
},
{
"key": 300001,
"value": 1
},
{
"key": 1000000,
"x": 101.123123,
"y": 36.45685
}
]
}
响应内容:
返回参数 | 参数类型 | 参数说明 |
ret | 32位int | 错误码,为0表示成功,其他见错误码表 |
tick | 32位int | 当前系统时间截 |
error | String | 如果ret=0则为OK,否则为错误描述信息 |
count | 32位int | 接收了多少条状态 |
返回示例代码
{"ret":0,"error":"OK","tick":1504853117,"count":3}
完整的HTTP请求报文:
POST /report/getiodatamap?tick=152152145&checksum=256965214585236A012D5245852D125D&sn=55458785452154525185 HTTP/1.1
Accept: */*
User-Agent: szl/m2mclient
Host: api.iom2m.com
Connect-Length: 126
Content-Type: application/x-www-form-urlencoded
Connection: Keep-Alive
{"objid":1000000031, "data":[{"key":100001,"value":12.01},{"key":300001,"value":1},{"key":1000000,"x":101.123123,"y":36.45685}]}
http://api.iom2m.com/report/getdevobject
POST
请求参数 | 参数类型 | 参数说明 |
tick | long | 时间随机数 |
checksum | String | 加密验证数据,checksum计算见附表1 |
POST内容:
请求参数 | 参数类型 | 参数说明 |
objid | 64位long | 设备ID号 |
key | 32位long | 设备的传感器编号 |
starttm | yyyy-MM-dd hh:mm:ss | 开始时间 |
endtm | yyyy-MM-dd hh:mm:ss | 结束时间(可选,如果未填表示到当前时间点) |
type | 1,2,3,4,5 | 1表示实时数据 2表示按分钟平均值数据 3表示按每小时平均值数据 4表示按天数据 5表示按周平均值数据. 默认获取实时数据 |
注意:
上传数据中key的类型,强烈建议按上报定义的区间使用,否则后期将可能会出现其它问题。例如有多个温度传感器采集的值,key可以在100000至199999任意选一个。但开关值不能在100000至199999这个区间,开关值应该在300000至399999选。
上传数据示例 :
{
"objid": 1000000031,
"data": [
{
"key": 100001,
"value": 12.01
},
{
"key": 300001,
"value": 1
},
{
"key": 1000000,
"x": 101.123123,
"y": 36.45685
}
]
}
响应内容:
返回参数 | 参数类型 | 参数说明 |
ret | 32位int | 错误码,为0表示成功,其他见错误码表 |
tick | 32位int | 当前系统时间截 |
error | String | 如果ret=0则为OK,否则为错误描述信息 |
count | 32位int | 接收了多少条状态 |
返回示例代码
{"ret":0,"error":"OK","tick":1504853117,"count":3}
完整的HTTP请求报文:
POST /report/getiodatamap?tick=152152145&checksum=256965214585236A012D5245852D125D&sn=55458785452154525185 HTTP/1.1
Accept: */*
User-Agent: szl/m2mclient
Host: api.iom2m.com
Connect-Length: 126
Content-Type: application/x-www-form-urlencoded
Connection: Keep-Alive
{"objid":1000000031, "data":[{"key":100001,"value":12.01},{"key":300001,"value":1},{"key":1000000,"x":101.123123,"y":36.45685}]}
http://api.iom2m.com/report/getdevobject
POST
请求参数 | 参数类型 | 参数说明 |
tick | long | 时间随机数 |
checksum | String | 加密验证数据,checksum计算见附表1 |
POST内容:
请求参数 | 参数类型 | 参数说明 |
objid | 64位long | 设备ID号 |
key | 32位long | 设备的传感器编号 |
starttm | yyyy-MM-dd hh:mm:ss | 开始时间 |
endtm | yyyy-MM-dd hh:mm:ss | 结束时间(可选,如果未填表示到当前时间点) |
type | 1,2,3,4,5 | 1表示实时数据 2表示按分钟平均值数据 3表示按每小时平均值数据 4表示按天数据 5表示按周平均值数据. 默认获取实时数据 |
注意:
上传数据中key的类型,强烈建议按上报定义的区间使用,否则后期将可能会出现其它问题。例如有多个温度传感器采集的值,key可以在100000至199999任意选一个。但开关值不能在100000至199999这个区间,开关值应该在300000至399999选。
上传数据示例 :
{
"objid": 1000000031,
"data": [
{
"key": 100001,
"value": 12.01
},
{
"key": 300001,
"value": 1
},
{
"key": 1000000,
"x": 101.123123,
"y": 36.45685
}
]
}
响应内容:
返回参数 | 参数类型 | 参数说明 |
ret | 32位int | 错误码,为0表示成功,其他见错误码表 |
tick | 32位int | 当前系统时间截 |
error | String | 如果ret=0则为OK,否则为错误描述信息 |
count | 32位int | 接收了多少条状态 |
返回示例代码
{"ret":0,"error":"OK","tick":1504853117,"count":3}
完整的HTTP请求报文:
POST /report/getiodatamap?tick=152152145&checksum=256965214585236A012D5245852D125D&sn=55458785452154525185 HTTP/1.1
Accept: */*
User-Agent: szl/m2mclient
Host: api.iom2m.com
Connect-Length: 126
Content-Type: application/x-www-form-urlencoded
Connection: Keep-Alive
{"objid":1000000031, "data":[{"key":100001,"value":12.01},{"key":300001,"value":1},{"key":1000000,"x":101.123123,"y":36.45685}]}
将POST的Json格式数据(不包括tick,checksum,sn)进行sha1计算,然后转成16进制形式。
生成
参考代码(pData为要POST的数据, nBufLen为POST数据长度,如果是GET则nBufLen==0且pData==NULL, g_userData.szSn为设备序列号, g_userData.szKey为分配的KEY,g_userData.szObjid为分配的设备ID, nNowSystemTick为当前系统时间)
if(pData!=NULL && nBufLen>0)
{
SHA1((const uint8_t *)pData,nBufLen,checksum);
}
else
{
sprintf((char *)checksum,"%s",g_userData.szSn);
}
sprintf(netbuf1k_2,"data_%s_key_%s_sn_%s_id_%s_tm_%d",checksum,g_userData.szKey,g_userData.szSn,g_userData.szObjid,nNowSystemTick);
nDataLen=strlen(netbuf1k_2);
SHA1((const uint8_t *)netbuf1k_2,nDataLen,checksum);
for(nRetlen=0;nRetlen<16;nRetlen++)
{
sprintf(netbuf1k_2+nRetlen*2,"%02x",(u8)checksum[nRetlen]);
}
netbuf1k_2[32]=0;