orchidofocean的博客

风之积也不厚,其负大翼也无力

iot api json数据包格式

[REST api]


0417 api 设计


站点
====================================
创建一个新站点
POST /iot/api/sites/


http://localhost:8080/iot/api/sites  
[body]
{  
  "token" : "", //如果请求中不带token,系统生成唯一token  
  "name" : "REST Site",  //站点名字
  "description" : "REST site ", //站点描述  
  "metadata" : { } //可选,站点元数据 
}
  
[response]
{  
  "createdDate": "", //创建日期  
  "createdBy": "admin",  //创建者
  "deleted": false,  //是否被删除
  "token": "",  //返回token
  "name": "REST Site",  //站点名字
  "description": "",  //站点描述
  "metadata": {} //可选,站点元数据 
}  


根据token获取站点
GET /iot/api/sites/<string:token>


http://localhost:8080/iot/api/sites/<int:token>






根据token删除站点
DELETE /iot/api/sites/<string:token>


http://localhost:8080/iot/api/sites/<int:token>
[body]


[response]
{  
  "createdDate": "", //创建日期  
  "createdBy": "admin",  //创建者
  "deleted": false,  //是否被删除
  "token": "",  //token
  "name": "12",  //站点名字
  "description": "12",  //站点描述
  "metadata": {} //可选,站点元数据 
}   




租户
======================================================
创建一个新租户
POST /iot/api/tenants


curl -X GET http://127.0.0.1:5000/iot/api/tenants


curl -X GET http://127.0.0.1:5000/iot/api/tenants/test1


curl -X POST http://127.0.0.1:5000/iot/api/tenants 

-d '{"id":"test","name":"test tenant","authenticationToken":"","authorizedUserIds":["admin"],"metadata" : {}}'



curl -X DELET http://127.0.0.1:5000/iot/api/tenants






用户
======================================================
创建一个新用户
POST /iot/api/users


http://localhost:8080/iot/api/users
[body]
{
  "username": "", //用户名
  "password": "", //密码
  "firstName": "", //
  "lastName": "", //
  "status": "", //状态
  "metadata": "" //可选,元数据
}
[response]
{
  "createdDate": "", //创建日期
  "createdBy": "", //创建者
  "deleted": false, //是否被删除
  "username": "", //用户名
  "hashedPassword": "", //密码hash
  "firstName": "", //
  "lastName": "", //
  "lastLogin": "", //最近登录时间
  "status": "", //状态
  "metadata": "" //可选,元数据
}


根据username获取用户
GET /iot/api/users/<string:username>


http://127.0.0.1:8080/iot/api/users/<string:username>




根据用户名删除用户
DELETE /iot/api/users/<string:username>


http://127.0.0.1:8080/iot/api/users/<string:username>
[body]


[response]
{
  "createdDate": "",    //创建日期
  "createdBy": "",      //创建者
  "deleted": false,     //是否被删除
  "username": "",       //用户名
  "hashedPassword": "", //密码hash
  "firstName": "",      // 
  "lastName": "",       // 
  "lastLogin": "",      //最近登录时间
  "status": "",         //状态
  "metadata": ""        //可选,元数据
}
[error]
{
  "timestamp": 1523954254707,
  "status": 404,
  "error": "Not Found",
  "message": "InvalidUsername:Username does not exist.",
  "path": "/iot/api/users/111"
}


设备
========================================================
创建一个新设备
POST /iot/api/devices/


http://localhost:8080/iot/api/devices 
[body]
{  
  "hardwareId" : "test1234567",  //设备ID
  "siteToken" : "", //站点token   
  "comments" : "Equipment tracker."  //
  "status": "", //状态
  "metadata": "object" //
}
[response]
{  
  "createdDate": "", //创建日期 
  "createdBy": "admin",  //创建者
  "deleted": false,  //是否被删除
  "hardwareId": "test1234567",  //设备ID
  "siteToken": "",  //token
  "comments": "Equipment tracker.",  //注释
  "metadata": {}  //元数据
}  


根据设备ID获取设备信息
GET /iot/api/devices/<int:hardwareId>


http://127.0.0.1:8080/iot/api/devices/<int:hardwareId>






根据设备ID删除设备
DELETE /iot/api/devices/<int:hardwareId>


http://127.0.0.1:8080/iot/api/devices/<int:hardwareId>
[body]


[response]
{
  "createdDate": "",                    //创建日期
  "createdBy": "admin",                 //创建者
  "deleted": false,                     //
  "hardwareId": "test1234567",          //
  "siteToken": "",                      //            
  "comments": "Equipment tracker.",     //
  "metadata": {}                        //
}




事件
============================================================
存储设备数据###用户禁止调用
POST /iot/api/devices/<int:hardwareId>/events/


http://127.0.0.1:8080/iot/api/devices/<int:hardwareId>/events/


[body]
{
    "hardwareId" : "test1234567",        //设备ID
    "eventType" : "Measurements",      //事件类型
    "siteToken" : "bb105f8d-3150-41f5-b9d1-db04965668d3",    //token
    "eventDate" : ISODate("2018-03-22T05:45:40.499Z"), //
    "receivedDate" : ISODate("2018-03-22T07:40:56.884Z"), //
    "metadata" : { 
    
    },  
    "measurements" : [                  //数据  
        {
            "name" : "engine.temperature",
            "value" : 166.08
        },
        {
            "name" : "fuel.level",
            "value" : 82.94
        }
    ]   
}
[response]
....




获取设备数据
GET /iot/api/devices/<int:hardwareId>/events/?resum=1


http://127.0.0.1:8080/iot/api/devices/<int:hardwareId>/events/?resum=1


[response]


{
"hardwareId" : "test1234567", //设备ID
    "eventType" : "Measurements", //事件类型
    "siteToken" : "bb105f8d-3150-41f5-b9d1-db04965668d3", //token
    "eventDate" : ISODate("2018-03-22T05:45:40.499Z"),
    "receivedDate" : ISODate("2018-03-22T07:40:56.884Z"),
    "metadata" : { 
    
    },  
    "measurements" : [ //数据 
        {
            "name" : "engine.temperature",
            "value" : 166.08
        },
        {
            "name" : "fuel.level",
            "value" : 82.94
        }
    ]   

}


资料:
http://www.jikexueyuan.com/course/837.html
http://www.cnblogs.com/vovlie/p/4178077.html
https://blog.openshift.com/rest-web-services-with-python-mongodb-and-spatial-data-in-the-cloud-part-2/


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/orchidofocean/article/details/79973345
文章标签: iot
个人分类: IoT 笔记
所属专栏: 物联网
上一篇sitewhere 2.0
下一篇sitewhere 重要概念
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭