ex

Fork of mbed-os-example-mbed5-blinky by mbed-os-examples

Revision:
49:b9eb462f36a9
Parent:
48:c7ee67edcf1d
Child:
50:9ecaa144d1f3
--- a/dumi_doc-master/doc/bot/alerts.md	Tue Jul 18 16:56:22 2017 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,645 +0,0 @@
-# Alerts 设备端能力要求
-
-## 连接网络
-用户使用设备创建、删除Alerts,需要接受DCS(duer  conversation  service)下发的Directive去创建、删除Alert,创建、删除失败后必须向DCS上报Event。
-
-## Alerts创建后在设备离线后可以正确触发
-例如用户创建第二天早上8点的alarm后,设备断网,第二天早上8点alarm需要准时触发。
-
-## 支持本地重建Alerts
-设备重启后需要能够在本地重建Alerts,这种场景下不需要向DCS上报Event。
-
-## 支持NTP网络时间协议
-DCS Alerts下发Alerts都为标准时间戳,设备端需要支持NTP协议对齐时间。
-
-# Alerts 流程
-## 基本Alerts流程
-![图片](http://bos.nj.bpc.baidu.com/v1/agroup/149b86d35ae902fa853a4eecaa8a5d6c57816155)
-## 通过设备实体交互停止响铃流程
-![图片](http://bos.nj.bpc.baidu.com/v1/agroup/373bf9939c691a59d3e80079bae581a037b12135)
-## 周期重复alarm流程
-![图片](http://bos.nj.bpc.baidu.com/v1/agroup/cec09e6dd874a76a2a83969c04a7e1f63888dfe4)
-## 删除Alerts流程
-![图片](http://bos.nj.bpc.baidu.com/v1/agroup/3b13b8573f2ac6deab79333696f1a3c703bdb479)
-## mateapp删除Alerts流程
-![图片](http://bos.nj.bpc.baidu.com/v1/agroup/015c147dc1ced884408d30e06711703f320ed251)
-
-
-# Alerts接口协议
-
-## 输出能力级别定义
-### all: 输出完整的Alerts能力
-完整能力输出包括qu解析、Alerts业务逻辑、数据存储。
-
-### qu: 仅输出qu能力
-qu能力输出仅包括qu解析,接入端需要实现Alerts业务逻辑、数据存储。使用DCS管理需要将设备端Alerts详细数据通过device_status携带,且数据格式需是[duer约定格式](#alert_struct)。
-
-## Alerts数据结构
-### <span id="alert_struct">AlertsStruct</span>
-```javascript
-AlertsStruct = {
-	"token": string,// 唯一标识
-	"type": string,// Alert类型 TIMER|ALARM
-	"scheduled_time": string,// Alert触发时间,秒级时间戳
-	"content": string, // Alert事件名称
-    
-     // ####### 接入完整能力不要关注此字段#########
-	"extensions": ExtensionsStruct json, // 可选,额外信息,qu能力级别输出携带,例如接入完整能力的A音箱则没有该字段,接入qu能力的B手机助手则有该字段|mateapp携带
-}
-```
-```javascript
-ExtensionsStruct = {
-	"start_time": int, // 开始时间
-	"content": string, // 事件名称
-	"duration": int, // timer时长
-	"repeat_type": string, // 重复类型 day|week|month|year
-	"repeat_week": int, // 可选,重复星期 从低位到高位表示星期一到星期日
-	"repeat_month": int, // 可选,重复月 从低位到高位表示1~12月
-	"repeat_year": string, // 可选, 重复年 12-1,8-2
-	"special_calender": string, // 农历,lunar
-    "special_day": string, // 工作日, weekday
-}
-```
-
-
-## device_status Alerts
-客户端请求DCS、上报Event需要携带Alerts device_status
-```javascript
-{
-	"all_alerts": [
-	    AlertsStruct,// 见Alerts数据结构
-	 ],
-    // 正在活跃的Alerts 
-	"active_alerts": [
-	    AlertsStruct,// 见Alerts数据结构
-    ],
-}
-```
-
-## Create
-设备Alerts的本地创建,必须且只有在接受到DCS 的SetAlert Directive之后进行。
-### SetAlert Directive
-DCS下发SetAlert Directive场景:
-1、客户端通过语音创建alarm、timer
-2、mateapp重新开启已经创建的alarm、timer
-3、mateapp更新已经创建的alarm、timer
-
-```javascript
- {
-	 "header": {
-	     "namespace": "Alerts",
-         "name": "SetAlert",
-         "message_id": string,
-     },
-     "payload": AlertsStruct,// 见Alerts数据结构
- }
-```
-
-### SetAlertSucceeded Event
-客户端在收到SetAlert Directive后成功创建Alert必须向DCS上报SetAlertSucceeded Event
-```javascript
-{
-    "header": {
-        "namespace": "Alerts",
-        "name": "SetAlertSucceeded"
-    },
-    "payload": {
-       "token": string,// 唯一标识
-    }
-}
-```
-
-### SetAlertFailed Event
-客户端在收到SetAlert Directive后未成功创建Alert必须向DCS上报SetAlertFailed Event
-```javascript
-{
-    "header": {
-        "namespace": "Alerts",
-        "name": "SetAlertFailed"
-    },
-    "payload": {
-       "token": string,// 唯一标识
-    }
-}
-```
-
-## Delete
-设备Alerts的本地删除,必须且只有在接受到DCS 的SetAlert Directive之后进行。
-### DeleteAlert Directive
-DCS下发DeleteAlert Directive场景:
-1、客户端通过语音删除alarm、timer
-2、客户端通过语音停止响铃的alarm、timer
-2、mateapp删除alarm、timer
-3、mateapp暂停已经创建的alarm
-
-```javascript
- {
-	 "header": {
-	     "namespace": "Alerts",
-         "name": "DeleteAlert",
-         "message_id": string,
-     },
-     "payload":{
-		"token": string,// 唯一标识
-	}
- }
-```
-
-### DeleteAlertSucceeded Event
-客户端在收到DeleteAlert Directive后成功删除Alert必须向DCS上报DeleteAlertSucceeded Event
-```javascript
-{
-    "header": {
-        "namespace": "Alerts",
-        "name": "DeleteAlertSucceeded"
-    },
-    "payload": {
-       "token": string,// 唯一标识
-    }
-}
-```
-
-### DeleteAlertFailed Event
-客户端在收到DeleteAlert Directive后未成功删除Alert必须向DCS上报DeleteAlertfailed Event
-```javascript
-{
-    "header": {
-        "namespace": "Alerts",
-        "name": "DeleteAlertFailed"
-    },
-    "payload": {
-       "token": string,// 唯一标识
-    }
-}
-```
-
-## Start and Stop
-### AlertStarted Event
-Alert到触发时间响铃必须向DCS上报AlertStarted  Event
-```javascript
-{
-    "header": {
-        "namespace": "Alerts",
-        "name": "AlertStarted"
-    },
-    "payload": {
-		"token": string,// 唯一标识
-	 }
-}
-```
-### AlertStoped Event
-Alert停止正在响铃的Alert必须向DCS上报AlertStoped Event
-```javascript
-{
-    "header": {
-        "namespace": "Alerts",
-        "name": "AlertStoped"
-    },
-    "payload": {
-		"token": string,// 唯一标识
-	 }
-}
-```
-
-
-## 前后台切换
-### AlertEnteredForeground Event
-```javascript
-{
-    "header": {
-        "namespace": "Alerts",
-        "name": "AlertEnteredForeground"
-    },
-    "payload": {
-		"token": string,// 唯一标识
-	 }
-}
-```
-
-### AlertEnteredBackground Event
-```javascript
-{
-    "header": {
-        "namespace": "Alerts",
-        "name": "AlertEnteredBackground"
-    },
-    "payload": {
-		"token": string,// 唯一标识
-	 }
-}
-```
-
-# Alarm输出schema
-## 输出实例
-
-### 创建实例
-```javascript
-{
-    "result": {
-        "bot_id": "alarm",
-        "bot_meta": {
-            "version": "1.0.0",
-            "type": "其他",
-            "description": "desc"
-        },
-        "directives":[
-	         {
-			    "header": {
-			        "namespace": "SpeechSynthesizer",
-			        "name": "Speak",
-			        "message_id": "message_id-1344"
-			    },
-			    "payload": {
-			        "token": "156",
-			        "type": "Text",
-			        "content": ["为你设置了【起床】提醒。\n度秘将于明天上午8点通知你"],
-			        "speak_behavior": "REPLACE_ALL",
-			        "should_get_next_speech": true
-			    }
-			}, 
-	         {
-				 "header": {
-				     "namespace": "Alerts",
-			         "name": "SetAlert",
-			         "message_id": "test_message_id",
-			     },
-			     "payload": {
-					"token": "test_token",
-					"type": "ALARM",
-					"scheduled_time": "1490774496",
-				}
-			 }
-        ],
-        "views": [
-            {
-                "type": "list",
-                "list": [
-                    {
-                        "title": "起床",
-                        "summary": "为你设置了【起床】提醒。\n度秘将于明天上午8点通知你",
-                        "url": "http://xiaodu.baidu.com/saiya/events",
-                        "image": "http://xiaodu.baidu.com/saiya/img/remind.png"
-                    }
-                ]
-            }
-        ],
-        "nlu": {
-            "domain": "alarm",
-            "intent": "alarm",
-            "slots": {
-                "event_title": "起床",
-                "event_type": "wakeup",
-                "alarm_time": "{\"day\":\"next\",\"hour\":\"8\",\"apm\":\"am\"}",
-            }
-        },
-        "speech": {
-            "type": "Text",
-            "content": "为你设置了【起床】提醒。\n度秘将于明天上午8点通知你"
-        }
-    },
-    "id": "1490616124_7372v4pbq",
-    "logid": "14906161247428",
-    "user_id": "2856",
-    "time": 1490616124,
-    "cuid": "test_1490616124403",
-    "se_query": "明天上午8点提醒我起床",
-    "msg": "ok",
-    "client_msg_id": "c9bfe944-992b-45b1-8afe-dc2cdaee622a",
-    "speech_id": "12345",
-    "status": 0
-}
-```
-### 管理实例
-```javascript
-{
-  "result": {
-	"directives":[
-			 {
-			    "header": {
-			        "namespace": "SpeechSynthesizer",
-			        "name": "Speak",
-			        "message_id": "message_id-1344"
-			    },
-			    "payload": {
-			        "token": "156",
-			        "type": "Text",
-			        "content": ["当前没有任何闹钟"],
-			        "speak_behavior": "REPLACE_ALL",
-			        "should_get_next_speech": true
-			    }
-			}, 
-	         {
-				 "header": {
-				     "namespace": "Alerts",
-			         "name": "DeleteAlert",
-			         "message_id": "test_message_id",
-			     },
-			     "payload": {
-					"token": "test_token",
-					"type": "ALARM",
-					"scheduled_time": "1490774496",
-				}
-			 }
-    ],
-    "views": [
-      {
-        "type": "txt",
-        "content": "当前没有任何闹钟"
-      }
-    ],
-    "speech": {
-      "type": "Text",
-      "content": "当前没有任何闹钟"
-    },
-    "bot_id": "alarm",
-    "bot_meta": {
-      "version": "1.0.0",
-      "type": "其他",
-      "description": "desc"
-    },
-    "nlu": {
-      "domain": "alarm",
-      "intent": "alarm_manage",
-      "slots": {
-        "action": "delete",
-        "alarm_time": "null\n",
-      }
-    }
-  },
-  "id": "1490663709_4834c2s7b",
-  "logid": "14906637094391",
-  "user_id": "2856",
-  "time": 1490663709,
-  "cuid": "4B7163F0FD2B34",
-  "se_query": "取消闹钟",
-  "msg": "ok",
-  "client_msg_id": "f67d63bb-917c-4c67-8fa8-be773ec913ba",
-  "status": 0
-}
-```
-
-## NLU
-|slot |desc | value |
-|---|---|---|
-|intent|alarm意图|alarm,alarm_manage|
-|action|alarm动作类型|create,list,update,delete|
-|event_title | alarm标题 | eg:起床|
-|event_type | alarm事件类型 | eg:wakeup|
-|alarm_time|[alarm_time说明](#alarm_time)|json字符串
-|scheduled_time | alarm设置的时间。只会在提醒创建前(即槽位完备)给出 | 1486598400|
-
-## <span id="alarm_time">alarm_time字段说明</span>
-|Key |Value |说明|
-|---|---|---|
-|minute |3, +2, -1|string. 3分,2分钟后,1分钟前|
-|hour|2, +1, -3|string. 2点,1小时后,3小时前|
-|day|1, +2, -3, -1,next, +0|string. 1号,2天后,3天前,昨天,明天,今天|
-|month|1, +2, -3, +0|string. 1月,2个月后,3个月前,这个月|
-|year|1984, +1, -2, +0|string. 1984年,明年,2年前,今年|
-|week|+1, -1, 2, 3, 2+1|string. 下周,上一周,星期二,周三, 下周二|
-|apm|am, pm|string. 上午,下午|
-|const|recent, awhile|string. 刚刚,一会儿|
-|repeat|day, month, year|string. 每天,每月,每年|
-|special_day |weekend, weekday|string. 周末,工作日,节气,节日|
-|special_calendar|lunar|string. 农历|
-
-# timer输出schema
-## 输出实例
-### 创建实例
-```javascript
-{
-  "result": {
-	"directives":[
-			 {
-			    "header": {
-			        "namespace": "SpeechSynthesizer",
-			        "name": "Speak",
-			        "message_id": "message_id-1344"
-			    },
-			    "payload": {
-			        "token": "156",
-			        "type": "Text",
-			        "content": ["5分钟,计时开始"],
-			        "speak_behavior": "REPLACE_ALL",
-			        "should_get_next_speech": true
-			    }
-			}, 
-	         {
-				 "header": {
-				     "namespace": "Alerts",
-			         "name": "SetAlert",
-			         "message_id": "test_message_id",
-			     },
-			     "payload": {
-					"token": "test_token",
-					"type": "TIMER",
-					"scheduled_time": "1490774496",
-				}
-			 }
-        ],
-    "views": [
-      {
-        "type": "txt",
-        "content": "5分钟,计时开始"
-      }
-    ],
-    "speech": {
-      "type": "Text",
-      "content": "5分钟,计时开始"
-    },
-    "bot_id": "timer",
-    "bot_meta": {
-      "version": "1.0.0",
-      "type": "其他",
-      "description": "desc"
-    },
-    "nlu": {
-      "domain": "timer",
-      "intent": "timer",
-      "slots": {
-        "intent": "create",
-        "minute": "5",
-      }
-    }
-  },
-  "id": "1490664954_776f4315j",
-  "logid": "14906649544030",
-  "user_id": "2856",
-  "time": 1490664954,
-  "cuid": "4B7163F0FD2B34",
-  "se_query": "5分钟倒计时",
-  "msg": "ok",
-  "client_msg_id": "f67d63bb-917c-4c67-8fa8-be773ec913ba",
-  "status": 0
-}
-```
-
-### timer管理实例
-```javascript
-{
-  "result": {
-	"directives":[
-			{
-			    "header": {
-			        "namespace": "SpeechSynthesizer",
-			        "name": "Speak",
-			        "message_id": "message_id-1344"
-			    },
-			    "payload": {
-			        "token": "156",
-			        "type": "Text",
-			        "content": ["刚刚5分钟内没有设置过计时"],
-			        "speak_behavior": "REPLACE_ALL",
-			        "should_get_next_speech": true
-			    }
-			}, 
-	         {
-				 "header": {
-				     "namespace": "Alerts",
-			         "name": "DeleteAlert",
-			         "message_id": "test_message_id",
-			     },
-			     "payload": {
-					"token": "test_token",
-					"type": "TIMER",
-					"scheduled_time": "1490774496",
-				}
-			 }
-        ],
-    "views": [
-      {
-        "type": "txt",
-        "content": "刚刚5分钟内没有设置过计时"
-      }
-    ],
-    "speech": {
-      "type": "Text",
-      "content": "刚刚5分钟内没有设置过计时"
-    },
-    "bot_id": "timer",
-    "bot_meta": {
-      "version": "1.0.0",
-      "type": "其他",
-      "description": "desc"
-    },
-    "nlu": {
-      "domain": "timer",
-      "intent": "timer_manage",
-      "slots": {
-        "condition": "recent",
-        "intent": "list",
-      }
-    }
-  },
-  "id": "1490665516_47484jz9e",
-  "logid": "14906655159796",
-  "user_id": "2856",
-  "time": 1490665516,
-  "cuid": "4B7163F0FD2B34",
-  "se_query": "查看刚刚的倒计时",
-  "msg": "ok",
-  "client_msg_id": "f67d63bb-917c-4c67-8fa8-be773ec913ba",
-  "status": 0
-}
-```
-
-## NLU
-|slot |Value |说明|
-|---|---|---|
-|minute|3|string. 3分|
-|hour|2|string. 2小时|
-|day|1|string. 1天|
-|month|1|string. 1个月|
-|year|2|string. 2年|
-|week|1|string. 一周|
-|condition|recent|string. 刚刚|
-
-
-# mateapp 接口
-## Alerts列表
-`/saiya/alerts`
-`method:GET`
-`datatype:JSON`
-`params:type=(ALARM|TIMER)`
-
-### response
-```javascript
-{
-	"status": int, //状态码 0正确 其他错误
-	"msg": string, // 错误信息
-	"data": [
-		AlertsStruct, // 见Alerts数据结构
-		AlertsStruct, // 见Alerts数据结构
-	]
-}
-```
-
-## Alerts暂停
-`/saiya/pause`
-`method:POST`
-`datatype:JSON`
-### postbody
-```javascript
-{
-	"token": string, // 唯一标识
-}
-```
-
-### response
-```javascript
-{
-	"status": int, //状态码 0正确 其他错误
-	"msg": string, // 错误信息
-	"data": null
-}
-```
-
-## Alerts重新开启
-`/saiya/enable`
-`method:POST`
-`datatype:JSON`
-### postbody
-```javascript
-{
-	"token": string, // 唯一标识
-}
-```
-
-## Alerts删除
-`/saiya/delete`
-`method:POST`
-`datatype:JSON`
-### postbody
-```javascript
-{
-	"token": string, // 唯一标识
-}
-```
-
-### response
-```javascript
-{
-	"status": int, //状态码 0正确 其他错误
-	"msg": string, // 错误信息
-	"data": null
-}
-```
-
-## Alerts更新
-`/saiya/update`
-`method:POST`
-`datatype:JSON`
-### postbody
-```javascript
-AlertsStruct
-```
-
-### response
-```javascript
-{
-	"status": int, //状态码 0正确 其他错误
-	"msg": string, // 错误信息
-	"data": null
-}
-```
-