全部产品
云市场

智慧厕所

更新时间:2019-12-26 11:25:06

1、服务介绍

对景区的厕所进行管理,展示每一个厕所基础信息具体包括:位置(经纬度)、名称、编码、排队人数、同步时间。

厕所服务

1.1 厕所坑位监控

1)厕所信息模型

数据模型ModelId=ToiletInfo

名称 属性 类型 必须 备注
厕所id toiletId varchar(64)  
厕所名称 name varchar(128)  
坑位总数(男) count0 int  
坑位总数(女) count1 int  
坑位总数(无障碍) count2 int  
男小便池总数 count3 int  
厕所地址 address varchar(128)  
位置经度-高德坐标系 longitude double  
位置维度-高德坐标系 latitude double  

2)厕所单个坑位历史数据

数据模型ModelId=ToiletDetailHistory

名称 属性 类型 必须 备注
厕所id toiletId varchar(64)  
传感器设备id deviceId varchar(64)  
坑位位置编号 positionCode varchar(32) 自定义
侧位类型 type int 0-男坑位/1-女坑位/2-无障碍/3-男小便池
状态 status int 0-没有人/1-有人
时间 timestamp long 时间戳,单位ms

3)厕所坑位历史数据

数据模型ModelId=ToiletHistory

名称 属性 类型 必须 备注
厕所id toiletId varchar(64)  
在用个数(男) inUseCount0 int  
可用个数(男) availableCount0 int  
在用个数(女) inUseCount1 int  
可用个数(女) availableCount1 int  
在用个数(无障碍) inUseCount2 int  
可用个数(无障碍) availableCount2 int  
男小便池在用个数 inUseCount3 int  
男小便池可用个数 availableCount3 int  
实时时间 timestamp long 时间戳,单位ms

4)厕所环境数据

数据模型ModelId=ToiletEnvironment

名称 属性 类型 必须 备注
厕所id toiletId varchar(64)  
厕所类型 type int 0-男厕/1-女厕/2-无障碍
温度 temperature int C
湿度 humidity int %
氨气 ammonia int mg/m3
烟雾 smoke int PPM
VOC voc int  
PM2.5 pm25 int μg/m3
实时时间 timestamp long 时间戳,单位ms

1.2 客流统计

1)实时客流统计

数据模型ModelId=ToiletVisitStatistics

名称 属性 类型 必须 备注
厕所id toiletId varchar(64)  
男厕使用人数 count0 int  
女厕使用人数 count1 int  
无障碍使用人数 count2 int  
实时时间戳 timestamp long 时间戳,单位ms

2)人流统计历史

数据模型ModelId=ToiletVisitStatisticsHistory

名称 属性 类型 必须 备注
厕所id toiletId varchar(64)  
厕所类型 type int 0-男厕/1-女厕/2-无障碍
使用人数 count int  
实时时间戳 timestamp long 时间戳,单位ms

2 接入指南

SDK依赖

本例提供java sdk pom依赖示例,更多语言SDK详情请参考API调用对接指引

  1. <dependency>
  2. <groupId>com.aliyun.api.gateway</groupId>
  3. <artifactId>sdk-core-java</artifactId>
  4. <version>1.6.0.3</version>
  5. </dependency>

示例代码

  1. HttpClientBuilderParams builderParams = new HttpClientBuilderParams();
  2. builderParams.setAppKey("${appKey}"); // 请填写正确的AppKey
  3. builderParams.setAppSecret("${appSecret}"); // 请填写正确的AppSecret
  4. ApacheHttpClient apacheHttpClient = new ApacheHttpClient(builderParams);
  5. IoTApiRequest request = new IoTApiRequest();
  6. //设置api的版本
  7. request.setApiVer("1.0.0");
  8. //如果需要登陆,设置当前的会话的token
  9. //设置参数
  10. request.putParam("model", "xxxxxx");
  11. request.putParam("projectId", "yyyyy");
  12. Map<String, Object> param = new HashMap<>(8);
  13. param.put("startTime", "2019-01-01");
  14. param.put("endTime", "2019-01-31");
  15. param.put("limit", 10);
  16. request.putParam("paramJson", JSONObject.toJSONString(param));
  17. //请求参数域名、path、request
  18. String host = "api.link.aliyun.com";
  19. String path = "/tourism/statistics/query";
  20. System.out.println(JSON.toJSONString(request));
  21. ApiRequest apiRequest = new ApiRequest(HttpScheme.HTTP, host,
  22. HttpMethod.POST_BODY, path, JSON.toJSONBytes(request));
  23. apiRequest.setHttpConnectionMode(HttpConnectionModel.MULTIPLE_CONNECTION);
  24. ApiResponse response = apacheHttpClient.sendSyncRequest(apiRequest);
  25. System.out.println(request.getId());
  26. System.out.println(
  27. "response code = " + response.getCode() + " response message = " + response.getMessage()
  28. + " response content = " + new String(response.getBody(),
  29. "utf-8"));

2.1 创建厕所

路径:/solution/itoilet/info/add
版本:1.0.0

入参
参数 类型 是否必填 备注
toilets JSON 待创建的厕所信息列表,具体字段参考Toilet信息

Toilet参数

参数 类型 是否必填 备注
name String 厕所名称
address String 位置描述
imageUrl String 图片地址,对应OSS的filename
longitude Double 位置坐标经度-高德坐标系
latitude Double 位置坐标纬度-高德坐标系

出参

使用IoT通用返回结果类型,其中data域是JSON对象,包含以下字段:

参数 类型 备注
toiletId String 厕所Id
name String 厕所名称
address String 位置描述
imageUrl String 图片地址,对应OSS的filename
longitude Double 位置坐标经度-高德坐标系
latitude Double 位置坐标纬度-高德坐标系
toiletSpaces JSON 厕所下子空间列表,具体字段参考ToiletSpace信息

ToiletSpace参数

参数 类型 备注
spaceId String 空间Id
usesCode String 空间用途,PB18-男厕;PB19-女厕;PB20-无障碍厕所;OTHER-其他;
spaceName String 空间名称

示例

入参示例

  1. {
  2. "toilets": [{
  3. "name": "厕所001",
  4. "address": "湖畔北岸",
  5. "imageUrl": "https://xxxxx",
  6. "longitude": 112.8765431,
  7. "latitude": 98.35423763
  8. }]
  9. }

出参示例

  1. {
  2. "code": 200,
  3. "message": "success",
  4. "data": [{
  5. "toiletId": "xxxx",
  6. "name": "厕所001",
  7. "address": "湖畔北岸",
  8. "imageUrl": "https://xxxxx",
  9. "longitude": 112.8765431,
  10. "latitude": 98.35423763,
  11. "toiletSpaces": [{
  12. "spaceId": "6869c07a",
  13. "spaceName": "男厕",
  14. "usesCode": "PB18"
  15. }, {
  16. "spaceId": "85081d49",
  17. "spaceName": "女厕",
  18. "usesCode": "PB19"
  19. }, {
  20. "spaceId": "138119fedd",
  21. "spaceName": "无障碍厕所",
  22. "usesCode": "PB20"
  23. }]
  24. }]
  25. }

2.2 修改厕所信息

路径:/solution/itoilet/info/update
版本:1.0.0

入参
参数 类型 是否必填 备注
toiletId String 厕所Id
name String 厕所名称
address String 位置描述
imageUrl String 图片地址,对应OSS的filename
longitude Double 位置坐标经度-高德坐标系
latitude Double 位置坐标纬度-高德坐标系

出参

使用IoT通用返回结果类型,其中data域是JSON对象,包含以下字段:

参数 类型 备注
toiletId String 厕所Id
name String 厕所名称
address String 位置描述
imageUrl String 图片地址,对应OSS的filename
longitude Double 位置坐标经度-高德坐标系
latitude Double 位置坐标纬度-高德坐标系
toiletSpaces JSON 厕所下子空间列表,具体字段参考ToiletSpace信息

ToiletSpace参数

参数 类型 备注
spaceId String 空间Id
usesCode String 空间用途,PB18-男厕;PB19-女厕;PB20-无障碍厕所;OTHER-其他;
spaceName String 空间名称

示例

入参示例

  1. {
  2. "toiletId": "xxdd",
  3. "name": "厕所001",
  4. "address": "湖畔北岸001",
  5. "imageUrl": "/ddasdf/sdfad.png",
  6. "longitude": 112.8765431,
  7. "latitude": 98.35423763
  8. }

出参示例

  1. {
  2. "code": 200,
  3. "message": "success",
  4. "data": {
  5. "toiletId": "xxxx",
  6. "name": "厕所001",
  7. "address": "湖畔北岸001",
  8. "imageUrl": "https://xxxxx/ddasdf/sdfad.png",
  9. "longitude": 112.8765431,
  10. "latitude": 98.35423763,
  11. "toiletSpaces": [{
  12. "spaceId": "6869c07a",
  13. "spaceName": "男厕",
  14. "usesCode": "PB18"
  15. }, {
  16. "spaceId": "85081d49",
  17. "spaceName": "女厕",
  18. "usesCode": "PB19"
  19. }, {
  20. "spaceId": "138119fedd",
  21. "spaceName": "无障碍厕所",
  22. "usesCode": "PB20"
  23. }]
  24. }
  25. }

2.3 查询厕所信息

路径:/solution/itoilet/info/query
版本:1.0.0

入参
参数 类型 是否必填 备注
pageNo Integer 页码
pageSize Integer 分页大小
toiletIds JSON 厕所Id列表

出参

使用IoT通用返回结果类型,其中data域是JSON对象,包含以下字段:

参数 类型 备注
toiletId String 厕所Id
name String 厕所名称
address String 位置描述
imageUrl String 图片地址,对应OSS的filename
longitude Double 位置坐标经度-高德坐标系
latitude Double 位置坐标纬度-高德坐标系
menTotal Integer 男坑位数量
menAvailable Integer 男可用坑位数量
menQueueStatus Integer 男厕是否有排队,1-有排队,0-无排队
menQueueTime Integer 男厕排队时长,单位秒
womenTotal Integer 女坑位数量
womenAvailable Integer 女可用坑位数量
womenQueueStatus Integer 女厕是否有排队,1-有排队,0-无排队
womenQueueTime Integer 女厕排队时长,单位秒
accessibleTotal Integer 无障碍坑位数量
accessibleAvailable Integer 无障碍可用坑位数量
urinalTotal Integer 男小便池总数量
urinalAvailable Integer 男小便池可用数量
toiletSpaces JSON 厕所下子空间列表,具体字段参考ToiletSpace信息

ToiletSpace参数

参数 类型 备注
spaceId String 空间Id
usesCode String 空间用途,PB18-男厕;PB19-女厕;PB20-无障碍厕所;OTHER-其他;
spaceName String 空间名称

示例

入参示例

  1. {
  2. "pageNo": 1,
  3. "pageSize": 10,
  4. "toiletIds":["f07f7e04d80a4d719"]
  5. }

出参示例

  1. {
  2. "code": 200,
  3. "message": "success",
  4. "data": {
  5. "total": 1,
  6. "data": [{
  7. "womenQueueStatus": 0,
  8. "toiletId": "f07f7e04d80a4d719",
  9. "address": "西湖景区温岚学院",
  10. "latitude": 30.250302,
  11. "toiletSpaces": [{
  12. "spaceName": "男厕",
  13. "spaceId": "7a10436071fc6",
  14. "usesCode": "PB18"
  15. }, {
  16. "spaceName": "女厕",
  17. "spaceId": "5f060e41429b",
  18. "usesCode": "PB19"
  19. }, {
  20. "spaceName": "无障碍厕所",
  21. "spaceId": "713cd321ed6e1c9",
  22. "usesCode": "PB20"
  23. }],
  24. "imageUrl": "http://xxxxxxx",
  25. "menQueueTime": 0,
  26. "name": "温岚学院厕所",
  27. "menQueueStatus": 0,
  28. "womenQueueTime": 0,
  29. "longitude": 120.141318
  30. }],
  31. "pageNo": 1,
  32. "pageSize": 20
  33. }
  34. }

2.4 删除厕所

路径:/solution/itoilet/info/delete
版本:1.0.0

入参
参数 类型 是否必填 备注
toiletIds JSON 厕所Id列表

出参

入参示例

  1. {
  2. "toiletIds": ["xa3dfd","d6tfs"]
  3. }

出参示例

  1. {
  2. "code": 200,
  3. "message": "success"
  4. }

2.5 绑定设备

路径:/solution/itoilet/device/bind
版本:1.0.0

入参
参数 类型 是否必填 备注
devices JSON 厕所设备绑定关系列表,具体字段参考ToiletDevice

ToiletDevice入参

参数 类型 是否必填 备注
toiletId String 厕所Id
deviceId JSON 对应iotId
deviceType String 设备类型,TOILET_PIT-坑位监测;TOILET_URINAL-男小便池监测;TOILET_ENV_AIO-温湿度氨气环境监测一体机;TOILET_QUEUE-厕所排队监测;LIQUID_SOAPS-厕所洗手液监测;TOILET_VISIT_COUNTER-厕所人流统计
spaceId String 空间Id
deviceCode String 设备编号,方便辨识,比如坑位、小便池的位置

出参

入参示例

  1. {
  2. "devices": [{
  3. "toiletId": "95bb2f7b51b3",
  4. "deviceId": "LrxSRnXYZy",
  5. "spaceId": "6869c07aaceb4",
  6. "deviceType": "TOILET_PIT",
  7. "deviceCode": "K001"
  8. }]
  9. }

出参示例

  1. {
  2. "code": 200,
  3. "message": "success"
  4. }

2.6 解绑设备

路径:/solution/itoilet/device/unbind
版本:1.0.0

入参
参数 类型 是否必填 备注
toiletId String 厕所Id
deviceIds JSON 设备Id的集合

出参

入参示例

  1. {
  2. "toiletId":"xxeed3sd",
  3. "deviceIds": ["jd7gh","j7gsf]
  4. }

出参示例

  1. {
  2. "code": 200,
  3. "message": "success"
  4. }

2.7 查询绑定设备以及最新状态

路径:/solution/itoilet/device/query
版本:1.0.0

入参
参数 类型 是否必填 备注
toiletId String 厕所Id
deviceType JSON 设备类型,TOILET_PIT-坑位监测;TOILET_URINAL-男小便池监测;TOILET_ENV_AIO-温湿度氨气环境监测一体机;TOILET_QUEUE-厕所排队监测;LIQUID_SOAPS-厕所洗手液监测;TOILET_VISIT_COUNTER-厕所人流统计
pageNo Sting 页码
pageSize String 分页大小

出参
使用IoT通用返回结果类型,其中data域是JSON对象,包含以下字段:

参数 类型 备注
toiletId String 厕所Id
deviceId JSON 对应iotId
deviceType String 设备类型,TOILET_PIT-坑位监测;TOILET_URINAL-男小便池监测;TOILET_ENV_AIO-温湿度氨气环境监测一体机;TOILET_QUEUE-厕所排队监测;LIQUID_SOAPS-厕所洗手液监测;TOILET_VISIT_COUNTER-厕所人流统计
deviceCode String 设备编号,方便辨识,比如坑位、小便池的位置
spaceId String 空间Id
status String 设备最新状态值
time Date 设备状态更新时间

入参示例

  1. {
  2. "toiletId":"xxeed3sd",
  3. "deviceType":"TOILET_PIT",
  4. "pageNo": 1,
  5. "pageSize":10
  6. }

出参示例

  1. {
  2. "code": 200,
  3. "message": "success",
  4. "data": {
  5. "total": 1,
  6. "data": [{
  7. "deviceType": "TOILET_PIT",
  8. "spaceId": "6fb09162f5214bbf",
  9. "toiletId": "001bbf7b48f14c061f",
  10. "deviceCode": "K008",
  11. "deviceId": "Tx2Au56ZK01",
  12. "spaceUsesCode": "PB18",
  13. "status":"1"
  14. }],
  15. "pageNo": 1,
  16. "pageSize": 10
  17. }
  18. }