版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
边缘计算核心板eSDK接口说明
目录边缘计算核心板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. 消息格式 105.5. 字段说明 115.6. 告警事件 115.7. StatusCode表 116. 容器内JsonoverMqtt接口说明 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
MQTT总线MQTT协议使用3.1.1版本。通信架构如下图所示:如上图所示,整个系统使用MQTT协议做为消息总线,按以下原则部署:MQTTBroker部署在宿主机,客户端配置broker的IP地址为虚拟网关的IP地址,例如:终端内虚拟网桥的IP地址设置为,端口号为1883,则broker的IP地址与之相同;eSDK部署在在宿主机,作为MQTT客户端,连接同容器中的MQTTBroker,为容器中的APP提供高级应用开放接口;APP部署在容器中,作为MQTT客户端通过MQTTBroker与eSDK通信。MQTTMQTT主题的格式如下:{app}/{operator}/{infoType}/{infoTarget}/{infoPath}{app}/{operator}/{infoType}/{infoTarget}/{infoPath}{app}{app}表示发布本消息的APP。如果消息是由eSDK发布,则对应的{app}值为esdk;如果是eSDK之外的APP发布的,则{app}为该APP的关键字名称。{operator}{operator}表示操作类型,目前支持以下几种操作类型:get:获取操作,适用于无输入有输出的请求/响应场景;set:设置操作,适用于有输入无输出的请求/响应场景;action:命令操作,适用于既有输入也有输出的请求/响应场景,输入输出均可选;notify:通知,适用于无需请求,主动推送的信息。{infoType}{infoType}表示信息类型,它根据操作类型{operator}而定:操作类型信息类型信息类型说明getsetactionrequest表明消息为请求消息。response表明消息为响应消息。notifyevent表明消息为事件通知消息。…后续扩展的其它通知类型,例如电力行业的实时数据上报,历史数据上报等。{infoTarget}{infoTarget}表示信息目标,其含义与{infoType}相关,如下表所示:操作类型信息类型信息类型说明getsetactionrequest请求的目标APP(将要接收该请求的APP):如果请求eSDK,则为eSDK;如果请求除eSDK外的其它APP,则为该APP的关键字名称;如果为广播请求,则为*。response响应的目标APP(需要接收该响应的APP):对应于请求主题中的{app},不允许为*。notifyevent通知的目标APP(将要接收该通知的APP):一般为*(即广播通知,表示所有订阅的APP都会接收到该通知)。特殊情况下,可以将{infoTarget}指定为某个APP的关键字名称进行定向通知。…请求的目标APP(将要接收该请求的APP):如果请求eSDK,则为eSDK。如果请求除eSDK外的其它APP,则为该APP的关键字名称。如果为广播请求,则为*。{infoPath}{infoPath}表示信息对象,例如,可用clock表示终端时间,用coverStatusChange表示开盖通知。MQTTMQTT消息的格式统一使用JSON格式。消息格式MQTT消息的格式如下表所示:{"token":"12345","timestamp":”2004-05-03T17:30:08Z”,"body":消息体}字段说明字段类型描述tokenstringtokenUUID、随timestampstring消息产生的时间戳,请参见日期时间类型。……消息类型可以按需扩展。bodyjson日期时间类型本文档中的“日期时间类型”为遵循ISO8601标准的日期和时间组合表示法的字符串,eSDK统一使用UTC时间,例如“2017-05-03T17:30:08.230Z”表示2017年5月3日17点30分08秒230毫秒,也可以类似“2004-05-03T17:30:08Z”只精确到秒。数据类型对于本文档中的数据类型,遵循以下解释:类型key类型说明boolean布尔型string字符串int整型int6464位整型double浮点型number可以为浮点型,也可以为整型object对象类型jsonjson类型,可以是null、boolean、string、number或object等任一类型MQTT交互流程使用MQTT消息获取数据(get)、设置数据(set)或命令操作(action),统称为“数据访问”。发起方产生请求,接收方回复响应。如上图所示:eSDK在启动后,先向MQTTBroker订阅其能处理的请求。APP在启动后,向MQTTBroker订阅其需要的响应。业务处理过程中,APP向MQTTBroker发布数据访问请求。MQTTBroker将数据访问请求转发给订阅了该请求的eSDK。eSDK对接收到的请求进行处理后,向MQTTBroker发布响应。MQTTBroker将数据访问响应转发给订阅了该响应的APP。订阅主题对于eSDK而言,典型的方式是订阅所有发向eSDK的请求,eSDK订阅的主题建议为:+/+/request/esdk/#对于APP,假定其关键字名称为app1,可以通过以下的主题订阅eSDK回复给它的响应消息:esdk/+/response/app1/#对于APP,假定其关键字名称为app1,建议使用以下通用的主题订阅所有回复给它的响应消息(无论是eSDK回复的,还是其它的APP回复的,都会被订阅):+/+/response/app1/#消息格式数据访问请求与数据访问响应的消息格式,如下表所示:消息类型消息格式请求{"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":"errordetaildescription","errorTag":错误附加信息}}注:数据访问章节中的消息描述只列出“正常响应消息体”。字段说明字段类型描述tokenstringtokentoken到响应后用token来匹配请求。timestampstring参见字段说明。statusCodeint状态码,与HTTP协议的状态码定义一致。statusStrstring状态字符串,与HTTP协议的状态码描述一致。errorDescstring错误的具体描述,可选。errorTagjson错误的附加信息,可选,服务端自行决定该内容。MQTT事件通知交互流程eSDK作为通知信息发布方,主动向MQTTBroker发布通知,MQTTBroker将该通知转发给订阅了该通知的APP。如上图所示:APP在启动后,向MQTTBroker订阅其关注的通知。eSDK向MQTTBroker发布通知。QTTBroker将通知转发给订阅了该通知的APP。保留标志对于通知消息,要求使用retained标志进行发布,这样,即使APP在通知发生后再订阅该通知,也会获取到最近一次的通知消息,从而可以刷新该APP中的相应数据状态(这些发布的MQTT消息在MQTT中称为保留消息)。MQTTMQTT订阅主题esdk/notify/event/*/#esdk/notify/event/app1/#APPapp1,建议使用以下更通用的主题订阅所有的该APPeSK或其它APP发布的:+/notify/event/*/#+/notify/event/app1/#消息格式消息类型消息格式通知{"token":"12345","timestamp":"2004-05-03T17:30:08Z","body":通知消息体}字段说明字段类型描述tokenstring进行标识timestampstring参见字段说明告警事件对于所有的告警事件,其通知消息体body使用统一的字段,含义见下表:字段类型描述resourcestring告警名称alt-resourcestring(1新增,0)event-timestring告警时间perceived-severitystring告警级别alarm-textstring告警内容StatusCode表响应的“StatusCode”字段可以选择的值如下表所示:序号code描述备注1200请求成功2202请求被接受,但是服务器未处理完。3400请求失败4401请求未认证5403请求被拒绝6404请求的资源不存在7600其他错误容器内JsonoverMqtt接口说明数据访问获取设备信息请求消息APP发布/eSDK订阅主题{app}/get/request/esdk/deviceInfo请求消息体(无)示例:主题app1/get/request/esdk/deviceInfoMQTT消息{"token":"12345","timestamp":"2018-03-28T08:33:43Z"}响应消息eSDK发布/APP订阅主题esdk/get/response/{app}/deviceInfo正常响应消息体{"vendorId":"BEIJINGSMARTCHIPMICROELECTRONICSTECHNOLOGYCOMPANYLIMITED","serialNumber":"2102113374P0B4000046","softwareVersion":"SV10.001","patchVersion":"PV10.001","hardwareModel":"SCM701","hardwareVersion":"PCB0","esdkVersion":"1.0.0","bootTime":"2018-04-02T22:36:58Z","bootReason":"manualReboot"}注:返回的字段是可选的,例如当系统中没有补丁时,在正常响应消息体中可能不存在pathVersion字段。示例:主题esdk/get/response/{app}/deviceInfo正常响应消息体{"token":"12345","timestamp":"2018-03-28T08:33:43Z",{"vendorId":"BEIJINGSMARTCHIPMICROELECTRONICSTECHNOLOGYCOMPANYLIMITED","serialNumber":"2102113374P0B4000046","softwareVersion":"SV10.001","patchVersion":"PV10.001","hardwareModel":"SCM701","hardwareVersion":"PCB0","esdkVersion":"1.0.0","bootTime":"2018-04-02T22:36:58Z","bootReason":"manualReboot"}"statusCode":200,"statusDesc":"OK"}字段说明字段类型描述serialNumberstring设备序列号vendorIdstring厂商IDhardwareModelstring硬件型号hardwareVersionstring硬件版本softwareVersionstring软件版本patchVersionstring补丁版本esdkVersionstringeSDK版本bootTimestring启动时间bootReasonstring启动原因获取无线通信模块信息请求消息APP发布/eSDK订阅主题{app}/get/request/esdk/cellularModuleInfo请求消息体无示例:主题app1/get/request/esdk/cellularModuleInfo请求消息体{"token":"12345","timestamp":"2018-03-28T08:33:43Z"}响应消息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”},“cellularModule2”:{“moduleName”:”E372”,“firmwareVersion”:”11.870.02.10.11”,“imei”:”354661034412719”}}异常响应消息体{"errorDesc":"Thelteisnotpresent.\r\n"} 示例(有一个无线模块):主题esdk/get/response/app1/cellularNetworkInfoMQTT消息{"token":"12345","timestamp":"2018-03-28T08:33:43Z","statusCode":200,"statusDesc":"OK","body":{"moduleName":"N720","firmwareVersion":"11.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","firmwareVersion":"11.870.02.10.11","imei":"354661034412719"}}}如果终端没有安装LTE模块,则可能错误返回,如下所示:主题esdk/get/response/app1/cellularNetworkInfoMQTT消息{"token":"12345","timestamp":"2018-03-28T08:32:45Z","body":{"errorDesc":"Thelteisnotpresent.\r\n"},"statusCode":500,"statusDesc":"InternalServerError"}字段说明字段类型描述cellularModule1json无线通信模块1信息。如果只有一个无线通信模块,则该字段消息体直接在body消息体中出现,参考示例。cellularModule2json无线通信模块2信息,如果不存在第二个无线通信模块,则该字段不出现。moduleNamestring无线通信模块名称firmwareVersionstring无线通信模块的固件版本imeistring无线通信模块的国际移动设备识别码(IMEI)重启设备请求消息APP发布/eSDK订阅主题{app}/action/request/esdk/reboot请求消息体(可选){"delay":3}示例:主题app1/action/request/esdk/rebootMQTT消息{"token":"12345","timestamp":"2018-03-28T08:41:51Z","body":{"delay":12}}响应消息eSDK发布/APP订阅主题esdk/action/response/{app}/reboot正常响应消息体(无)示例:主题esdk/action/response/{app}/rebootMQTT消息{"token":"12345","statusDesc":"OK","statusCode":200,"timestamp":"2018-03-28T08:41:51Z"}字段说明字段类型描述delayint在多少秒之后重启,可选。0表示响应后立即重启,没有指定时,使用缺省值3设置时钟请求消息APP发布/eSDK订阅主题{app}/set/request/esdk/clock请求消息体{"dateTime":"2014-05-03T17:30:08Z","timeZone":"Asia/Shanghai"}注:以上的dateTime与timeZone可以只存在一个,或两个同时存在。当dateTime与timeZone同时存在时,先设置dateTime,再设置timeZone。UTC对应的时区名为"UTC"。示例:主题app1/set/request/esdk/clockMQTT消息体{"token":"12345","timestamp":"2018-03-28T08:30:08Z","body":{"dateTime":"2018-03-2808:30:08"}}主题app1/set/request/esdk/clockMQTT消息体{"token":"12345","timestamp":"2018-03-28T08:30:08Z","body":{"timeZone":"Asia/Shanghai"}}主题app1/set/request/esdk/clockMQTT消息体{"token":"12345","timestamp":"2018-03-28T08:30:08Z","body":{"dateTime":"2018-03-2808:30:08","timeZone":"UTC"}}响应消息eSDK发布/APP订阅主题Esdkset/set/response/{app}/clock正常响应消息体(无)示例:主题esdk/set/response/{app}/clockMQTT消息{"token":"12345","timestamp":"2018-03-28T08:30:08Z","statusCode":200,"statusDesc":"OK"}获取资源使用信息请求消息APP发布/eSDK订阅主题{app}/get/request/esdk/resourceInfo请求消息体(无)示例:主题app1/get/request/esdk/resourceInfoMQTT消息体{"token":"12345","timestamp":"2018-03-28T08:33:43Z"}响应消息eSDK发布/APP订阅主题esdk/get/response/{app}/resourceInfo正常响应消息体{"host":{"cpuUsage":30,"memUsage":50,"diskUsage":17},"test1":{"cpuUsage":10,"memUsage":20,"diskUsage":17},"test2":{"cpuUsage":10,"memUsage":30,"diskUsage":17}}示例:主题esdk/get/response/app1/resourceInfoMQTT消息{"token":"12345","statusDesc":"OK","statusCode":200,"timestamp":"2018-03-28T08:33:43Z","body":{"host":{"cpuUsage":4,"memUsage":29,"diskUsage":17},"test01":{"cpuUsage":0,"memUsage":21,"diskUsage":17}}}字段说明字段类型描述hostobject主系统的资源使用率test…object个容器对应于一个对象cpuUsageintCPU使用率(百分比)memUsageint内存使用率(百分比)diskUsageint磁盘使用率(百分比)请求消息APP发布/eSDK订阅主题{app}/get/request/esdk/cellularNetworkInfo请求消息体(无)示例:主题app1/get/request/esdk/cellularNetworkInfoMQTT消息体{"token":"12345","timestamp":"2018-03-28T08:33:43Z"}响应消息eSDK发布/APP订阅主题esdk/get/response/{app}/cellularNetworkInfo正常响应消息体(单模组){"mno":"CHINAMOBILE","imsi":"460016002731442","iccid":"98681011274300909893","mode":"LTE","apn":"apn1","rssi":"-55dBm","ipAddress":"","cellularStatus":"dataOnly"}正常响应消息体(单模组){"cellularModule1":{"mno":"CHINAMOBILE","imsi":"460016002731442","iccid":"98681011274300909893","mode":"LTE","apn":"apn1","rssi":"-55dBm","ipAddress":"","cellularStatus":"dataOnly"}"cellularModule2":{"mno":"CHINAMOBILE","imsi":"460016002731442","iccid":"98681011274300909893","mode":"LTE","apn":"apn1","rssi":"-55dBm","ipAddress":"","cellularStatus":"dataOnly"}}示例(只有一个模块):主题esdk/get/response/app1/cellularNetworkInfo正常响应消息体"token":"12345","timestamp":"2018-03-28T08:33:43Z""statusCode":200,"statusDesc":"OK","body":{"mno":"CHINAMOBILE","imsi":"460016002731442","iccid":"98681011274300909893","mode":"LTE","apn":"apn1","rssi":"-55dBm","ipAddress":"","cellularStatus":"Combined"}示例(有两个模块):主题esdk/get/response/app1/cellularNetworkInfo正常响应消息体"token":"12345","timestamp":"2018-03-28T08:33:43Z""statusCode":200,"statusDesc":"OK","body":{"cellularModule1":{"mno":"CHINAMOBILE","imsi":"460016002731442","iccid":"98681011274300909893","mode":"LTE","apn":"apn1","rssi":"-55dBm","ipAddress":"","cellularStatus":"dataOnly"}"cellularModule2":{"mno":"CHINAMOBILE","imsi":"460016002731442","iccid":"98681011274300909893","mode":"LTE","apn":"apn1","rssi":"-55dBm","ipAddress":"","cellularStatus":"dataOnly"}}如果终端没有安装LTE模块,则可能错误返回,如下所示:主题esdk/get/response/app1/cellularNetworkInfoMQTT消息{"token":"12345","timestamp":"2018-03-28T08:32:45Z","statusCode":500,"statusDesc":"InternalServerError","body":{"errorDesc":"Thelteisnotpresent.\r\n"}}字段说明字段类型描述cellularModule1json无线通信模块1信息。如果只有一个无线通信模块,则该字段消息体直接在body消息体中出现,参考示例。cellularModule2json无线通信模块2信息,如果不存在第二个无线通信模块,则该字段不出现。imsistringSIM卡的国际移动用户识别码(IMSI)。modestring主网制式(子网制式)。主网制式:Noservice、GSM,WCDMA、TD-SCDMA和LTE子网制式:GSM、GPRS、EDGE、IS95A、IS95B、CDMA20001X、EVDORel.0、EVDORel.A、EVDORel.B;WCDMA、HSDPA、HSUPA、HSPA、HSPA+、DC-HSPA+;TD-SCDMA、TD-HSDPATD-HSUPA、TD-HSPA、TD-HSPA+;LTEapnstring当前使用的APN。iccidstring集成电路卡识别码,即SIM卡卡号。rssistring当前的RSSI(接收信号强度指示)。ipAddressstring移动网络IP地址。cellularStatusstring通信服务状态。Invalid:无服务NoservicesCS:仅CS服务(语音业务)PS:仅PS服务(数据业务)Combined:PS+CS服务Packet-switched:尙未注册CS或PS服务(NotregisteredtoCSorPS;searchingnow,NotsupportCDMA)锁定CustomDisk主系统将指定一个固定大小的磁盘空间区域(称为CustomDisk),该磁盘区域与容器的生命周期无关(即使容器不存在或被删除,该磁盘中的文件仍然会保留)。例如,可用于交采校准参数等出厂配置信息的保存。这些磁盘区域中的内容一般是在出厂或工程初始安装时设定。当该区域内容已经设置好后,APP可以调用eSDK的本接口将该磁盘区域锁定。一旦锁定,APP就再也不能更改该磁盘区域中的内容。说明:CustomDisk在容器中的路径为/etc/custom;锁文件名为/etc/custom/.lock,可通过本eSDK命令进行加锁,也可以在容器中通过touch/etc/custom/.lock进行加锁。CustomDisk在Host中的路径为/mnt/custom。在Host中可以通过touch/mnt/custom/.lock命令加锁,通过rm/mnt/custom/.lock命令解锁。CustomDisk被锁定后,必须重启终端锁定方可生效。请求消息APP发布/eSDK订阅主题{app}/action/request/esdk/lockCustomDisk请求消息体(无) 示例:主题app1/action/request/esdk/lockCustomDisk请求消息体{"token":"12345","timestamp":"2018-03-28T08:41:51Z"}响应消息eSDK发布/APP订阅主题esdk/action/response/{app}/lockCustomDisk请求消息体(无) 示例:主题esdk/action/response/app1/lockCustomDisk请求消息体{"token":"12345","statusDesc":"OK","statusCode":200,"timestamp":"2018-03-28T08:41:51Z"}配置IP信息对终端本地网卡IP信息进行配置。如果终端在本地有两个网卡,则默认对第一个网卡进行配置。请求消息APP发布/eSDK订阅主题{app}/set/request/esdk/ifconfigIP请求消息体{"IPCfg":"1","IPAddr":"01","NetMask":"","Gateway":"54"}示例:主题app1/set/request/esdk/ifconfigIPMQTT消息体{"token":"12345","timestamp":"2018-03-28T08:33:43Z","body":{"IPCfg":"1","IPAddr":"01","NetMask":"","Gateway":"54"}}响应消息eSDK发布/APP订阅主题esdk/set/response/{app}/ifconfigIP正常响应消息体无示例:主题esdk/set/response/app1/ifconfigIPMQTT消息{"token":"12345","statusDesc":"OK","statusCode":200,"timestamp":"2018-03-28T08:33:43Z",}字段说明字段类型描述IPCfgStringIP配置方式DHCP(0),静态(1),PPPoE(2),可选字段。IPAddrStringIP地址,必选字段。NetMaskString子网掩码,必选字段。GatewayString网关地址,可选字段。配置APN信息对终端本地无线通信模块APN进行配置。如果本地没有无线通信模块,则返回错误信息404。如果本地有双模组无线通信模块,则默认对第一个模组进行配置。请求消息APP发布/eSDK订阅主题{app}/set/request/esdk/cfgNet请求消息体{"APN":"CMNET""VPNUsr":"card","VPNPsw":"card","NetType":"0","NetNumber":2}示例:主题app1/set/request/esdk/cfgNetMQTT消息体{"token":"12345","timestamp":"2018-03-28T08:33:43Z","body":{"APN":"CMNET","VPNUsr":"card","VPNPsw":"card","NetType":"0","NetNumber":2}}响应消息eSDK发布/APP订阅主题esdk/set/response/{app}/cfgNet正常响应消息体无示例:主题esdk/set/response/app1/cfgNetMQTT消息{“token”:“12345”,“statusDesc”:“OK”,“statusCode”:200,“timestamp”:“2018-03-28T08:33:43Z”,}字段说明字段类型描述APNStringAPNVPNUsrString用户名VPNPswString密码NetTypeString网络类型:自适应(0),锁定2G(1),锁定3G(2),锁定4G(3)NetNumberint模组序号,1或者2。可选字段。对于多模组无线模块,可以用该字段来区分是对哪一个模组进行配置。该字段缺省默认对第一个模组进行配置。APP重启控制接口该接口可以通过eSDK对APP进行启动(start)、停止(stop)和重启(restart)操作。请求消息APP发布/eSDK订阅主题{app}/set/request/esdk/operate请求消息体{"RequestType":"restart","container":"container1","name":"yxd_698"//pro_104}示例:主题app1/set/request/esdk/operateMQTT消息体1{"token":"12345","timestamp":"2018-03-28T08:33:43Z","body":{"RequestType":"restart","container":"container1","name":"yxd_698"//pro_104}}MQTT消息体2{"token":"12345","timestamp":"2018-03-28T08:33:43Z","body":{"RequestType":"restart","name":"yxd_698"//pro_104}}响应消息eSDK发布/APP订阅主题esdk/set/response/{app}/operate正常响应消息体1{"RequestType":"restart","container":"container1","name":"yxd_698"//pro_104}正常响应消息体2{"RequestType":"restart","name":"yxd_698"//pro_104}示例:主题esdk/set/response/app1/operateMQTT消息{"token":"12345","statusDesc":"OK","statusCode":200,"timestamp":"2018-03-28T08:33:43Z","Body":{"RequestType":"restart","container":"container1","name":"yxd_698"}}字段说明字段类型描述RequestTypeString请求类型,重启“restart”,停止“stop”或者启动“start”。必选字段。containerString容器名称,用来指定APP所在的容器。可选字段。nameStringAPP名称。必选字段。事件通知掉电告警当终端的交流电源断开后,终端仍可使用电池或超级电容运行一段时间,终端在检测到外部交流电源被断开后,系统将会发布掉电告警发生事件:eSDK发布/APP订阅主题esdk/notify/event/*/powerFailWarning通知消息体{"resource":"PowerFailWarning","alt-resource":1,"event-time":"2018-01-03T17:30:08Z","perceived-severity":"Warning","al
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024至2030年中国纸杯托行业投资前景及策略咨询研究报告
- 2024年导靴项目可行性研究报告
- 道路桥梁施工合同三篇
- 教师个人行动计划
- 园区外立面绿化方案
- 多元文化背景下的选课制度研究
- 砖砌体工程验收合同
- 砂石产品批发合同示例
- 智能家居行业虚拟化解决方案合同
- 个人承揽合同中的法律风险防范
- 湖南省郴州市选调生考试(行政职业能力测验)综合能力测试题及答案一套
- 中班散文诗《冬天是什么?》课件
- 国家开放大学《心理健康教育》形考任务1-9参考答案
- 部编版四年级语文上册(梅兰芳蓄须)
- 《法学导论》期末考试试卷与答案
- 脊柱外科护理创意
- 7 大雁归来 公开课一等奖创新教学设计
- 中国农业银行员工违反规章制度处理办法
- 烟草县局内管培训课件
- 2022农房设计和建设技术导则
- 发豆芽实验报告范文
评论
0/150
提交评论