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;