融合终端边缘计算核心板eSDK接口说明 V1.52.pdf
《融合终端边缘计算核心板eSDK接口说明 V1.52.pdf》由会员分享,可在线阅读,更多相关《融合终端边缘计算核心板eSDK接口说明 V1.52.pdf(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、边缘计算核心板边缘计算核心板eSDKeSDK接口说明接口说明目录目录边缘计算核心板eSDK接口说明.11.MQTT 总线.42.MQTT 主 题.42.1.app.42.2.operator.42.3.infoType.52.4.infoTarget.52.5.infoPath.63.MQTT 消 息.63.1.消息格式.63.2.字段说明.63.3.日期时间类型.63.4.数据类型.64.MQTT 数据访问.74.1.交互流程.74.2.订阅主题.84.3.消息格式.84.4.字段说明.95.MQTT 事件通知.95.1.交互流程.95.2.保留标志.105.3.订阅主题.105.4.消息格
2、式.105.5.字段说明.115.6.告警事件.115.7.StatusCode表.116.容器内 Json over Mqtt 接口说明.126.1.数据访问.126.1.1.获取设备信息.126.1.2.获取无线通信模块信息.136.1.3.重启设备.166.1.4.设置时钟.176.1.5.获取资源使用信息.186.1.6.获取无线网络信息.206.1.7.锁 定 CustomDisk.236.1.8.配置IP信息.256.1.9.配置APN信息.266.1.10.APP重启控制接口.286.2.事件通知.296.2.1.掉电告警.296.2.2.高温告警.306.2.3.低温告警.31
3、1.1.MQTTMQTT 总线总线MQTT 协议使用 3.1.1 版本。通信架构如下图所示:如上图所示,整个系统使用 MQTT 协议做为消息总线,按以下原则部署:(1)MQTT Broker部署在宿主机,客户端配置broker的IP地址为虚拟网关的IP地址,例如:终端内虚拟网桥的IP地址设置为172.17.0.1,端口号为1883,则broker的IP地址与之相同;(2)eSDK 部署在在宿主机,作为MQTT 客户端,连接同容器中的MQTTBroker,为容器中的 APP 提供高级应用开放接口;(3)APP 部署在容器中,作为 MQTT 客户端通过MQTT Broker 与eSDK 通信。2.
4、2.MQTTMQTT 主题主题MQTT主题的格式如下:app/operator/infoType/infoTarget/infoPathapp/operator/infoType/infoTarget/infoPath2.1.2.1.appappapp表示发布本消息的 APP。如果消息是由 eSDK 发布,则对应的app值为 esdk;如果是eSDK 之外的 APP 发布的,则app为该 APP 的关键字名称。2.2.2.2.operatoroperatoroperator表示操作类型,目前支持以下几种操作类型:(1)get:获取操作,适用于无输入有输出的请求/响应场景;(2)set:设置操作
5、,适用于有输入无输出的请求/响应场景;(3)action:命令操作,适用于既有输入也有输出的请求/响应场景,输入输出均可选;(4)notify:通知,适用于无需请求,主动推送的信息。2.3.2.3.infoTypeinfoTypeinfoType表示信息类型,它根据操作类型operator而定:操作类型操作类型信息类型信息类型信息类型说明信息类型说明getsetactionrequest表明消息为请求消息。response表明消息为响应消息。notifyevent表明消息为事件通知消息。后续扩展的其它通知类型,例如电力行业的实时数据上报,历史数据上报等。2.4.2.4.infoTargetin
6、foTargetinfoTarget表示信息目标,其含义与infoType相关,如下表所示:操作类型操作类型信息类型信息类型信息类型说明信息类型说明getsetactionrequest请求的目标 APP(将要接收该请求的 APP):1.如果请求 eSDK,则为eSDK;2.如果请求除 eSDK 外的其它 APP,则为该 APP 的关键字名称;3.如果为广播请求,则为*。response响应的目标 APP(需要接收该响应的 APP):对应于请求主题中的app,不允许为*。notifyevent通知的目标APP(将要接收该通知的APP):1.一般为*(即广播通知,表示所有订阅的 APP 都会接收
7、到该通知)。2.特殊情况下,可以将infoTarget指定为某个APP的关键字名称进行定向通知。请求的目标APP(将要接收该请求的APP):1.如果请求eSDK,则为eSDK。2.如果请求除eSDK外的其它 APP,则为该APP的关键字名称。3.如果为广播请求,则为*。2.5.2.5.infoPathinfoPathinfoPath表示信息对象,例如,可用clock表示终端时间,用coverStatusChange表示开盖通知。3.3.MQTTMQTT 消息消息MQTT 消息的格式统一使用 JSON 格式。3.1.3.1.消息格式消息格式MQTT 消息的格式如下表所示:token:12345,
8、timestamp:”2004-05-03T17:30:08Z”,.body:消息体3.2.3.2.字段说明字段说明字字 段段类类 型型描描述述tokenstring消息标识,相同源发出的相同类型消息的token 应该各 不 相同,可 用UUID、随机数或自增长数值等手段。这里采用8位自增长数值。timestampstring消息产生的时间戳,请参见1.1.3.3 日期时间类型。其它的消息头字段,具体的消息类型可以按需扩展。bodyjson消息体,JSON 格式,可选。3.3.3.3.日期时间类型日期时间类型本文档中的“日期时间类型”为遵循ISO8601标准的日期和时间组合表示法的字符串,eS
9、DK统一使用UTC时间,例如“2017-05-03T17:30:08.230Z”表示 2017年5月3日17点30分08秒230毫秒,也可以类似“2004-05-03T17:30:08Z”只精确到秒。3.4.3.4.数据类型数据类型对于本文档中的数据类型,遵循以下解释:类型类型 keykey类型说明类型说明boolean布尔型string字符串int整型int6464 位整型double浮点型number可以为浮点型,也可以为整型object对象类型jsonjson 类型,可以是 null、boolean、string、number 或 object 等任一类型4.4.MQTTMQTT 数据访
10、问数据访问4.1.4.1.交互流程交互流程使用 MQTT 消息获取数据(get)、设置数据(set)或命令操作(action),统称为“数据访问”。发起方产生请求,接收方回复响应。如上图所示:1、eSDK 在启动后,先向 MQTT Broker 订阅其能处理的请求。2、APP 在启动后,向 MQTT Broker 订阅其需要的响应。3、业务处理过程中,APP 向 MQTT Broker 发布数据访问请求。4、MQTT Broker 将数据访问请求转发给订阅了该请求的 eSDK。5、eSDK 对接收到的请求进行处理后,向 MQTT Broker 发布响应。6、MQTT Broker 将数据访问响
11、应转发给订阅了该响应的 APP。4.2.4.2.订阅主题订阅主题对于 eSDK 而言,典型的方式是订阅所有发向 eSDK 的请求,eSDK 订阅的主题建议为:+/+/request/esdk/#对于 APP,假定其关键字名称为 app1,可以通过以下的主题订阅 eSDK回复给它的响应消息:esdk/+/response/app1/#对于APP,假定其关键字名称为 app1,建议使用以下通用的主题订阅所有回复给它的响应消息(无论是 eSDK 回复的,还是其它的 APP 回复的,都会被订阅):+/+/response/app1/#4.3.4.3.消息格式消息格式数据访问请求与数据访问响应的消息格式
12、,如下表所示:消息类型消息类型消息格式消息格式请求token:12345,timestamp:2004-05-03T17:30:08Z,body:请求消息体正常响应token:12345,timestamp:”2004-05-03T17:30:08Z”,statusCode:200,statusDesc:OK,body:正常响应消息体异常响应token:12345,timestamp:”2004-05-03T17:30:08Z”,statusCode:403,statusDesc:Forbidden,body:errorDesc:error detail description,errorTa
13、g:错误附加信息注:数据访问章节中的消息描述只列出注:数据访问章节中的消息描述只列出“正常响应消息体正常响应消息体”。4.4.4.4.字段说明字段说明字段字段类型类型描述描述tokenstring参见字段说明,响应中的 token 必须与 请 求的token 一致,以便发起方收到响应后用token 来匹配请求。timestampstring参见字段说明。statusCodeint状态码,与 HTTP 协议的状态码定义一致。statusStrstring状态字符串,与 HTTP 协议的状态码描述一致。errorDescstring错误的具体描述,可选。errorTagjson错误的附加信息,可选
14、,服务端自行决定该内容。5.5.MQTTMQTT 事件通知事件通知5.1.5.1.交互流程交互流程eSDK 作为通知信息发布方,主动向 MQTT Broker 发布通知,MQTTBroker 将该通知转发给订阅了该通知的 APP。如上图所示:1、APP 在启动后,向 MQTT Broker 订阅其关注的通知。2、eSDK 向 MQTT Broker 发布通知。3、QTT Broker 将通知转发给订阅了该通知的 APP。5.2.5.2.保留标志保留标志对于通知消息,要求使用 retained 标志进行发布,这样,即使 APP 在通知发生后再订阅该通知,也会获取到最近一次的通知消息,从而可以刷新
15、该 APP 中的相应数据状态(这些发布的 MQTT 消息在 MQTT 中称为保留消息)。注:由于通知是使用保留标志进行发布,因此 MQTT 客户端重新连接并订阅通知时,都会收到最近一次的通知消息。如果 MQTT 客户端多次断开并重新连接,则可能会重复接收同一条通知消息。5.3.5.3.订阅主题订阅主题对于某个 APP,假定其关键字名称为 app1,它可以通过以下主题订阅来自 eSDK 的所有的事件通知(目前 eSDK 没有定向通知,因此第 2 个主题实际上无意义):esdk/notify/event/*/#esdk/notify/event/app1/#对于某个 APP,假定其关键字名称为 a
16、pp1,建议使用以下更通用的主题订阅所有的该 APP需处理的事件通知(无论这些通知是 eSDK或其它APP发布的):+/notify/event/*/#+/notify/event/app1/#5.4.5.4.消息格式消息格式消息类型消息类型消息格式消息格式通知token:12345,timestamp:2004-05-03T17:30:08Z,body:通知消息体5.5.5.5.字段说明字段说明字段字段类型类型描述描述tokenstring参见字段说明,用来对通知进行标识timestampstring参见字段说明5.6.5.6.告警事件告警事件对于所有的告警事件,其通知消息体 body 使用
17、统一的字段,含义见下表:字段字段类型类型描述描述resourcestring告警名称alt-resourcestring告警新增清除标志(1 表 示 新增,0 表示清除)event-timestring告警时间perceived-severitystring告警级别alarm-textstring告警内容5.7.5.7.StatusCodeStatusCode 表表响应的“StatusCode”字段可以选择的值如下表所示:序号序号codecode描述描述备注备注1200请求成功2202请求被接受,但是服务器未处理完。3400请求失败4401请求未认证5403请求被拒绝6404请求的资源不存在7
18、600其他错误6.6.容器内容器内 JsonJson overover MqttMqtt 接口说明接口说明6.1.6.1.数据访问数据访问6.1.1.6.1.1.获取设备信息获取设备信息6.1.1.1.6.1.1.1.请求消息请求消息APP 发布/eSDK 订阅主题app/get/request/esdk/deviceInfo请求消息体(无)示例:主题app1/get/request/esdk/deviceInfoMQTT 消息token:12345,timestamp:2018-03-28T08:33:43Z6.1.1.2.6.1.1.2.响应消息响应消息eSDK 发布/APP 订阅主题es
19、dk/get/response/app/deviceInfo正常响应消息体vendorId:BEIJING SMARTCHIP MICROELECTRONICSTECHNOLOGY COMPANY LIMITED,serialNumber:2102113374P0B4000046,softwareVersion:SV10.001,patchVersion:PV10.001,hardwareModel:SCM701,hardwareVersion:PCB0,esdkVersion:1.0.0,bootTime:2018-04-02T22:36:58Z,bootReason:manualReboo
20、t注:返回的字段是可选的,例如当系统中没有补丁时,在正常响应消息体中可能不存在注:返回的字段是可选的,例如当系统中没有补丁时,在正常响应消息体中可能不存在pathVersionpathVersion 字段。字段。示例:主题esdk/get/response/app/deviceInfo正常响应消息体token:12345,timestamp:2018-03-28T08:33:43Z,vendorId:BEIJING SMARTCHIP MICROELECTRONICSTECHNOLOGY COMPANY LIMITED,serialNumber:2102113374P0B4000046,sof
21、twareVersion:SV10.001,patchVersion:PV10.001,hardwareModel:SCM701,hardwareVersion:PCB0,esdkVersion:1.0.0,bootTime:2018-04-02T22:36:58Z,bootReason:manualRebootstatusCode:200,statusDesc:OK6.1.1.3.6.1.1.3.字段说明字段说明字段字段类型类型描述描述serialNumberstring设备序列号vendorIdstring厂商 IDhardwareModelstring硬件型号hardwareVersio
22、nstring硬件版本softwareVersionstring软件版本patchVersionstring补丁版本esdkVersionstringeSDK 版本bootTimestring启动时间bootReasonstring启动原因6.1.2.6.1.2.获取无线通信模块信息获取无线通信模块信息6.1.2.1.6.1.2.1.请求消息请求消息APP 发布/eSDK 订阅主题app/get/request/esdk/cellularModuleInfo请求消息体无示例:主题app1/get/request/esdk/cellularModuleInfo请求消息体token:12345,t
23、imestamp:2018-03-28T08:33:43Z6.1.2.2.6.1.2.2.响应消息响应消息eSDK 发布/APP 订阅主题esdk/get/response/app/cellularModuleInfo正常响应消息体(单模组)moduleName:E372,firmwareVersion:11.870.02.10.11,imei:354661034412719正常响应消息体(双模组)cellularModule1:moduleName:E372,firmwareVersion:11.870.02.10.11,imei:354661032345618”,“cellularModu
24、le2”:“moduleName”:”E372”,“firmwareVersion”:”11.870.02.10.11”,“imei”:”354661034412719”异常响应消息体errorDesc:The lte is not present.rn示例(有一个无线模块):主题esdk/get/response/app1/cellularNetworkInfoMQTT 消息token:12345,timestamp:2018-03-28T08:33:43Z,statusCode:200,statusDesc:OK,body:moduleName:N720,firmwareVersion:1
25、1.617.00.00.00,imei:867223029960861示例(有两个无线模块):主题esdk/get/response/app1/cellularNetworkInfoMQTT 消息token:12345,timestamp:2018-03-28T08:33:43Z,statusCode:200,statusDesc:OK,body:cellularModule1:moduleName:E372,firmwareVersion:11.870.02.10.11,imei:354661034412719,cellularModule2:moduleName:E372,firmware
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 融合终端边缘计算核心板eSDK接口说明 V1.52 融合 终端 边缘 计算 核心 eSDK 接口 说明 V1 52
限制150内