还剩54页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
电能量终端与电能量主站交MQTT互协议method string是请求的类型,字符串,取值参见样例报文,报文发送的时间戳长整型数值,UTC时间(距离1970年1月1日0时0分秒0毫杪这个时间点的timestamp long是毫秒数),单位毫秒,例如2020-07-1610:01:
31.256对应报文内容,是对象类型,注意与数组类型的格式区分,具体可以自行从网络上狭取相关信息,本文不冉赘述,body JSON对象否当然也可以严格按照本例报文格式海,内、详见各报文定/返回码,整型数值,长度为3,取值和含义见表4,当终端上送应答报文时字段必需填写,主动上code int送和主动请求id则没有要求返回信息,字符串,上送应答报文时,如果标识码不是300/500,该字段必需填写,内容为对错msg string误或异常的简略描述表3设备标识属性说明名称类型是否必选描述整型数值,用于表示当前操作对应的是终端中的哪个设备,0表示终端自己,1-n表示对应序号的sn int是电表例如读取参数时请求的sn为0,表示读取终端的参数;设置参数时请求的sn为2,表示设置电表序号为2的电表的参数,以此类推表4返回码说明状态标识含义说明100已发送起始态200终端已接收中间态300已处理中间态400已超时未执行可为中间态也可为最终态500执行成功最终态600执行失败601未识别的请求大消息格式错误z602最终态603消息签名验证不通过1700:设备故障最终态
5.
6.报文字段规定・报文采用JSON格式描述本文中对于JSON字段命名方式约束如下:・设备名称采用首字母大写;变量名、属性名第一个单词首字母小写,剩余单词首字母大写;・method字段约束如下——为全大写单词,单词中间用下划线分隔开;——所有下发命令以CMDJ开头;——所有上报事件均以EVENT」’开头;——所有应答报文与请求报文字段相同,使用topic区分全部使用英文单词,禁止使用拼音;•每个单词长度尽量不要超过10个字符,否则尽量使用简写;•单词简写时应尽可能望文知意,以满足易读性为首要选择,其次尽量缩短长度•
六、报文交互流程及示例
1.终端id请求如果终端没有设置终端id且希望通过系统获取终端id时,接入服务器后向指定主题写入终端id请求报文,如果一段时间后没有收到终端id设置报文,则需要重新发送请求直至获取到当获取到终端id后,不可以再通过此流程重新获取终端ide功能终端id请求终端3主站/二川可主题/vl/ertu/
192.
168.
34.53:2345/getid(注,此处ip端口都是不例,卜同不赘述)\、报文,,4ef7ce3faa7649c6al230ccffac03aa5,,z;method:ERTUJNIT-GETID“body”:{ipaddr:
192.
168.
34.53:2345\L}}、(注,此处mid和timestamp都是ZF例,需要自行生成,以下所有应答报文和主动上送报文相同,不冉赘述)
2.终端id设置只有当终端id没有设置时才需要监听对应的主题,获取到id后,将id保存到终端本地,并根据id启动对设备控制、设备参数等相应主题的监听功能终端id设置方向主站3终端主题/vl/ertu/
192.
168.
34.53:2345/setid报文mid,:8ac0ab5349214c6f899982ccab78d674/ertuld1,:、/method:ERTU INITSETID,expire:20,“body”:{ertuldnipaddr:
192.
168.
34.53:2345(注这里为了格式方便在报文头和body中都包含了ertuld,终端应当使用body中的数据处理)川可终端9主站主题/vl/ertu/
192.
168.
34.53:2345/setidresponse报文(nmid,,:8ac0ab5349214c6f899982ccab78d674,,1ertuld:method:nERTU_INIT_SETIDnzcode:500,msgn:ertuld setsucess,body11:{yipaddr11:”
192.
168.
34.53:2345”,(注统一将返回码和返回信息放在报文头,以下应答报文相同不赘述)
3.设备升级主站下发设备升级报文至终端,终端接收升级包后,应答升级包已下载、已升级成功/失败如升级包过大,主站可对文件进行分段传输,每下发一个升级包,终端应答升级包已接收,升级包接收完全后终端开始升级并反馈升级结果主站下发升级包时,不进行同步等待,根据终端应答确认升级包下发的成功与否确认接收升级包的响应报文中,返回码为300;确认升级成功的报文返回码为500设备升级主要针对系统层面的升级终端主站设备升级调求(分包)设备升级晌应(已下)1tn.设备升级请求(分包)2设备升级峭应(已下依)
27.坡备升级请求(分包)n:设蓄升级晌应(已下)Itn设备升级响应(升级状态)一设备升级请求属性描述名称描述类型说明taskld此次升级的任务id string单次升级流程中任务id不变,终端回复报文中的此属性应当与下发报文保持一致version此次升级版本string升级文件应放在哪个路径卜,如果path文件存储位置string终端升级无需此属性可以无视size文件块大小]int本次上送的文件块大小,单位KBfileNumber文件总数int整型数值,总共有多少升级文件整型数值,此报文中数据块对应的fileNo文件序号int文件序号整型数值,此报文中数据块对应的fileBlockNu分块总数intmber文件共有多少个数据块blockNo分块序号int整型数值,此报文中数据块在其对应的文件中的数据块序号md5md5校验码string此报文中数据块的md5校验码name数据块名称stringcontent数据块内容string功能设备升级.方向主站3终端主题(注,此处终端id都是示例,卜同不赘述){\、报文nmidn:ndfea20296ef34244be824500265fdaebn,ertuld11:,“method”CMD_SYS_UPGRADE”expire:20,“timestamp”“body”:{params:[、(taskld:Ila6271ab8194f879cal78692765d2ba,;version1:vl.l“file”:{path:7home/upgrade/,,/size:256,fileNumber11:5,“fileNo LfileBlockNumber:3,“blockNo”:2ZmdS:Ia2b3c4dz,“name”filel/5”“content abcdefgl24$##$%升级包转16进制,,}\、班9主站.、^、方|可主题{1jk报文“mid”:“dfea20296ef34244be824500265fdaeb,ertuld1method:CMD.SYS.UPGRADE,timestamp1,code:300”msg:filel/5received,body:{ntaskIdH:Ila6271ab8194f879cal78692765d2ba/nfileNumbern:5,,fileNo:lzfileBlockNumber1:3Z”blockNo”:2,备注传输过程中正常接收到数据包且未收到所有数据包时,返回code应当为300;如果已经收到所有数据包,则进行解压和升级操作,然后发送code为500的数据包回复报文,如果升级失败,则返回code为600的数据包版本日期改动v
0.52020-07-161根据模型文档增加部分设备参数,增加了终端对于不支持的参数应当作出的处理逻辑2细化了报文头、设备配置、设备状态、数据上送、数据召唤部分的报文参数描述,主要是报文参数类型和取值的部分3增加了升级功能关于code的[描J-4修正了样例报文中的诸多错误,增加了具体要求的备注v
0.62020-08-161增加了终端参数中新的终端厂家参数Q2电表参数增加了数据上报功能的上报数据类型的参数3数据上报和数据召唤内容细化v
0.72020-08-211数据上报和数据召唤增加数据类型,修改原先数据类型的名称以便可以直观看出数据分类2数据上报和数据召唤的应答报
4.设备控制主站通过设备控制命令,实现对终端重启操作(可扩充其他功能)搂港主站设笛控制调求设备控制请求响应设备控制人//功能1方3」主站3终端主题报文“mid292bfc75b6dd462b878d8a64e6539466znertuldn,,,method,,:nCMD CTL”expire:20,body:{action1:os-reboot}川可终端T主站主题报文“mid”,,292bfc75b6dd462b878d8a64e6539466,1/ertuld1method:CMD_CTL,/code:500,/msg:reboot in5seconds1,body:{action1:os-reboot
5.设备参数读取终遣主站I I!设备暂敛调求设备参数请求响应body对应的消息内容终端参数属性名称(可能会根据需求补充)是否可名称描述类型说明编辑devType设备类型string否设备型号manuName终端厂家string否用拼音代表对应1家jicheng表不枳成电子huian表示上海惠安huali表示华立weisidun表示威思顿yisituo表不易司拓yubang表示煜邦hezong表纵heji表示合济nanrui表示南瑞(备注新厂家应当联系文档维护人员添加厂家对应的项目)devVersion终端版本string否终端当前使用的版本如v4或者自己的版本号meterNum表计数目int否整型数值pulseNum脉冲数目int否整型数值portNum网口数目int否整型数值comNum串口数目int否整型数值232和485的数目之和long否时间戳,长整型数值,UTC时间(距离1970年1月1ertuTime终端时钟日时0分0秒0毫杪这个时间点的毫秒数),单位毫秒,例如2020-07-1610:01:
31.256对应devSn出厂序列号string否int是整型数值,单位分钟(注reportPeriod主动上报间隔意此项目为必须要支持编辑的项目)电表参数属性名称(可能会根据需求补充)是否可名称.类型说明编辑meterNo int是整型数值、表序号通信地址/测量点string是commAddr地址int是整型数值,例如2代表两位小数电能量小数位energyDigit
0.01voltageDigit电压小数位int否同上currentDigit电流小数位int否同上powerDigit功率小数位int否同上DL/T645-1997string是DL/T645-2007DL/T
698.45ABBDLMS^^yELSTER lECHO^^k/ANSI、protocol电表规约IEC61850IONISKRAMODBUS(注如果J家支持其他规约,应当联系文档维护人员添加厂家所支持的项目)port使用端口int是抄表端口,即第几路485端口energyPeriod电能量存储周期int是单位分钟instantPeriod瞬时量存储周期int是单位分钟modelCode型号string否wiringMode接线方式string否baudrate波特率string否hardVer硬件版本string否softVer软件版本string否string是表示此电表的哪些任务类型需要主动上送,格式为用英文逗号隔开的所有需要上送任务类型(编号参见11数据上报中的定义),例如V正主动上送任务类型taskTypeW_15MIN,MEAS_15MIN,TARIFF_DAY表示15分钟底码数据、15分钟遥测数据、日冻结数据需要主动上送如果为空或空字符串,则表示没有数据需要主动上送注如果终端不支持上表中的某些属性,当接收到对这些属性的请求时,应当统一返回默认值,string默认为空字符串,number默认为・1,当接收到对这些属性的设置时,应当忽略这些属性并在返回的msg属性中注明注2:如果某些属性的可编辑性与上表冲突时以终端为准,当接收到对这些属性的设置时,应当忽略这些属性并在返回的msg属性中注明功能设备参数请求方同主站3终端主题报文”mid“uc3eb0ffcea56406bb6fb5db4e6673b6d,,zertuldn,method:“CMD_CFG_GET”expire11:20,“timestamp”body:{sn11:1终端今主站\、Z I IJ R主题报文“mid”,,c3eb0ffcea56406bb6fb5db4e6673b6d,,method:CMD/FG—GET”code:500,msg:n,body11:{sn:1,commAddr:yyybbb,assetNo:n1234567abcdefg,,/modelCode:jcOOl,1•wiringMode1:V,powerDigit:2,voltageDigit11:3,currentDigit1:2,,“protocol“DLMS”,,taskType:,,VIEW_15MIN MEAS_15MIN TARIFF_DAYz/
6.设备参数设置主站向终端下发参数设置命令,可实现对终端参数的修改配置设备参数参考设备参数读取中列出的属性终器主站II:设备参数设置!设备,数设■晌应功能设备参数设置川可主站今终端主题报文mid1:28b86dec2c0b474485b03b7f680df4ae,;method:CMD CFGUPDATE MMMM■expire1:20,body:/params:[nattr:commAddr,Hvalue:,,12345678901jkMsnM:1,attrn:powerDigit,value3}]}注此处支持多电表同时设置参数,但原则上一帧报文内不会同时设置多个电表的电表参数的情况,value值的类型与读取时上送的数值一致方向终端今主站主题报文“mid”n28b86dec2c0b474485b03b7f680df4ae,;timestamp1code:500,“msg cfgupdate success,body:{1:
7.设备上报
7.
1.设备配置上报设备连接代理服务器成功后,上报设备配置信息配置信息描述如下表(可能会根据需求补充)名称描述类型说明文增加分帧相关属性注每个版本的新增内容会用红色标识出来范围本部分规定了电能量终端与电能量主站之间的交互协议,包含电能量主站对电能量终端的设备管理、应用管理以及相互之间的数据交互、控制命令交互等cpunum cpu数目int整型数值frequency cpu主频float浮点型数值,单位GHzcache cpu缓存int整型数值,单位KBphy物理内存int整型数值,单位MBvirt虚拟内存int整型数值,单位MBdisk硬盘人小float浮点型数值,单位MBdistro操作系统名称string整型数值,/》version操作系统版本int.kernel操作系统内核版本stringstringethernet以太网(注如果1家支持其他类型type通道类型的通道,应当联系文档维护人员添加厂家所支持的类型)name通道名称string报文格式如下功能设备配置上报Z IJ终端与主站J R主题报文“mid”,,9ec0372fc45849dcac8ec6fl98fedb8a/,method:EVENT_SYS_CONFIG”“timestamp”body:{cpu11:{cpunum:4,frequency1:
1.8,cache:1024mem:{/phy:128,Virt:128/disk1,:256,”os“:{;distro:RedHatversion:7,kernel:“
4.10-17”、},,links1,:[{type:ethernet,name:ethl1}]72设备状态上报终端定时上报当前运行状态,系统资源开销情况状态信息描述如下表(可能会根据需求补充)名称描述类型说明cpu cpu使用率.float Z浮点型数值,单位%phy已使用物理内存float浮点型数值,单位MBvirt已使用虚拟内存’floa^^浮点型数值,单位MBdisk已使用硬盘大小float浮点型数值,单位MBstringethernet以太网(注如果J家支持其他类type型的通道,应当联系文档维护人员添加1家所支持的类型)name通道名称stringstring up在使用status通道状态down未使用报文格式如下功能设备状态上报方向终端今主站主题报文“mid:le31aafc601a44e7bdc61d320641174d/method:EVENT SYSSTATUS,:、/bodyi1:{cpu,1:38,5,7^/、mem,1:{\nphyn:
128.3Z“virt”:
128.2disk:
256.0,,links:[type:ethernet,;“name ethlstatus1:up H}]
7.
3.事件上报电能量终端主动上报终端、电表的事件信息,包括系统重启、系统断电、电表通信中断、失压、断相等等终端事件编码电表事件编码1A相TV失压开始1相TV失压结束2B相TV失压开始3B相TV失压结束4C相TV失压开始5C相TV失压结束6A相TV欠压开始7A相TV欠压结束8B相TV欠压开始9B相TV欠压结束10C相TV欠压开始11C相TV欠压结束12A相TA失流开始13A相TA失流结束14B相TA失流开始
15.B相TA失流结束C相TA失流开始个17\C相TA失流结束1819/终端与电表通信中断、.终端与电表通信恢复20电压逆相序、21电压逆相序恢复、221电獭障23电源故障恢复24参数修改开始25参数修改结束26电池欠压27电池欠压恢复28A相TA反相开始29A相TA反相结束30B相TA反相开始31B相TA反相结束32C相TA反相开始33C相TA反相结束34电压不平衡35电压不平衡恢复36电流不平衡
37.电流不平衡恢复S9\电流逆相序电流逆相序恢复40功能设备事件上报>|主站、、、方1可主题报文“mid”:n849013fadc32473b9094d429bddabc8b,,/ertuld11method:EVENT_SYS_ALARM/“timestamp”“body”:{sn:T,;event:2msg1:parameter changed}
8.应用升级(废弃)主站下发设备升级报文至终端,终端接收升级包后,应答升级包已下载、已升级成功/失败如升级包过大,主站可对文件进行分段传输,每下发一个升级包,终端均应反馈升级包已下载,升级包接收完全后终端开始升级并反馈升级结果确认接收升级包的响应报文中,返回码为200;确认升级成功的报文返回码为500o应用升级主要针对终端采集应用终球主站Y一■・■:应用—an—:.应.升―(分::一用升缀响颜(已下R2)一:]■;一度第升号谪一(分包n);■■■■■■:—兄・・血(已下)Un.!!功能应用升级方向主站分终端主题终端叩/vl/ertu/id/p/control报文{,n n“mid”“123123”ertuldn1;“method”CMD APPUPDATE“expire”:20,H“body”{[“paramsn nname:measure_app,“version:n nfile:{n11path:/home/upgrade/,“size”:256,n H,n nH nmd5:1a2b3c4d”fileNumber:5,n n nfileNo:r;n n n nname:filcl/55n ncontent:abcdefgl24$##$%,}duration:0▼方向终端今主站主题终端/vl/ertu/id/app/response报文{“mid”:“123123”,H nertuldn“method”CMD APPUPDATE**,“body”:{\”印n neNumber”:5,.leNo:”1Imsg:filel/5received”,“code”:“300”//、、JL规范性引用文件下列文件对于本文件的应用是必不可少的凡是注日期的引用文件,仅所注日期的版本适用于本文件凡是不注日期的引用文件,其最新版本包括所有的修改单适用于本文件•MQTTV31MQTT V
3.1协议规范MQTT V
3.1ProtocolSpecification•RFC793传输控制协议Transmission ControlProtocol.STD7,IETF RFC793/•正EE
802.1AR IEEE本地和城域网标准-安全设备标识IEEEStandard forLocal andmetropolitan areanetworks-Secure DeviceIdentity•RFC3629UTF-8,ISO10646的转换格式UTF-8,a transformationformatof ISO10646•RFC6455WebSocket协议The WebSocketProtocol•RFC7252约束应用协议The ConstrainedApplication ProtocolCoAP•RFC6101安全套接字层SSL协议版本
3.0The Secure SocketsLayer SSLProtocol Version
3.0•RFC8446传输层安全性TLS协议版本
1.3The TransportLayerSecurity TLSProtocol•IEEE1588-2008用于网络测量与控制系统的精确时钟同步协议
9.应用控制(废弃)应用控制可实现对终端上的应用程序进行启动、关闭、重启等功能终送主站I II:应用控制请求应用控制谪求响应功能应用控制方向主站终端3主题终端/vl/ertu/id/app/control报文,“mid””123123”H nertuldn,“method”CMD APPCONTROL”expire:20,n ntimestampM^^kbody:{AH napp:mearsure-app,action:restart”方向终端今主站\主题终端/vl/ertu/id/app/response报文“mid”:“123123,H nertuldn,“method”CMD APPCONTROL”expire”:20,“timestamp”“body”{i
10.应用状态查询(废弃)终箫主站:应用状态青询请求;应用状态自询明应功能应用状态方向主站终端3主题终端/vl/ertu/id/app/control报文{“mid”:“123123”,H nertuldn,“method”CMD APPSTATUS”expire”:20,“timestamp”M Hbody:^L\1nn“app mearsure-app方向终端主站3主题终端/vl/crtu/id/app/response报文,“mid””123123”H nertuld“method“M“body”:{app{n Mnnnname**:measure-app version:vl.r;5,status:on“resource:{H ncpu:1231“mem”128}终端抄读电表之后,主动上送数据,数据时间,数据标明数据的类型关于分帧当数据太多无法通过同一帧上送时,可以将数据分为多段分帧上送,不同帧的mid必须相同,仅有帧序号不同,一批分帧只能包含一个数据类型的数据,且相同时间点的数据不能分割到不同帧上送,例如,当前帧最后一条数据只能放下2019-04-16T22:30:00的15分钟底码的正向有功,那么应当将整个2019-04-16T22:30:00的15分钟数据放入下-帧数据信息描述如下表名称描述类型说明frameCount本次上送数据总帧数int总帧数,如果无需分帧则此属性固定frameNo int当前帧的序号,从1开始,如果无需分帧则此属性固定为1dataType string内容见卜表数据发生时间\\dataTime string格式为yyyy-MM-ddTHH:mm:ss,其中T为填充符,小时为24小时制,例如2019-04-16722:30:00dataType数据类型string内容见卜表name数据项名称string内容见卜表value数据项数值string数据异常状态数据异常的原因,共有以下几种异常state string状态(voltagejoss失压不分相位)phasejoss断相(不分相位)currentjoss(失流不分相位)sequence_error相序错误battery_low电池欠压clockjnaccurate时钟超差connectionjost终端与电表通信中断data_invalid数据无效可能有复数个状态,当有复数个状态时,应当用英文逗号隔开,如电池欠压且时钟超差时,此属性值应为“battery_low,clockjnaccurate如果数据状态正常则这个属性应为空字符串””数据类型,表示此帧上送的是什么类型数据(根据需求扩充任务项,其中底码和日冻结数据是需要优先完成的任务项)名称描述VIEW_15MIN15分钟底码数据MEAS_15MIN15分钟遥测数据TARIFF_15MIN15分钟冻结数据TARIFF_DAY日冻结数据TARIFF_MONTH月冻结数据DEMAND_DAY日需量数据DEMAND_MONTH月需量数据数据项名称,表示这是上送数据中的哪一个项目(原名称过于冗长,现统一使用简化后名称)原名称简化后描述单位对应数据类型\,positive_active PAVIEW_15MIN正向有功电量KW-Hreverse_active RAVIEW_15MIN K反问有功电量KW-HPR、V正w115MINpositive_reactive正向无功电量KW-HRR/reverse_reactive V正WJL5MIN反向无功电量KW-HTARIFF」5MINPAO正向有功总电量KW-HTARIFF_DAYTARIFF_MONTHTARIFF_15MINPAI.positive_active_sharp正「可有功尖电量KW-HTARIFF_DAYTARIFF_MONTHTARIFF_15MINpositive_active_peak PA2正向有功峰电量KW-HTARIFF_DAYTARIFF_MONTHTARIFF_15MINpositive_active_flat PA3正向有功平电量KW-HTARIFF_DAYTARIFF_MONTHTARIFF_15MINpositive_active_vally PA4正向有功谷电量KW-HTARIFF_DAYTARIFF_MONTHTARIFF_15MINRAO反向启功总电量KW-HTARIFF_DAY_\TARIFF MONTHTARIFF_15MIN.re verse_a ctive_sharp RAI反问启功尖电量KW-HTARIFF_DAYlTARIFF_MONTHTARIFF_15MINRA2/reve rse_a ctive_pe ak反问启功峰电量KW-HTARIFF_DAYTARIFF_MONTHTARIFF_15MINRA3\reverse_active_flat反问卷功平电量KW-HTARIFF_DAYTARIFF_MONTHTARIFF_15MINrevers e_a ctive_va IIy RA4反问启功谷电量KW-HTARIFF_DAYTARIFF_MONTHTARIFF_15MINPRO正向无功总电量KW-HTARIFF.DAYTARIFF_MONTHpositive_reactive_sharp PR1TARIFF_15MIN正向无功尖电量KW-HTARIFF_DAYTARIFF_MONTHTARIFF_15MINpositive_reactive_peak PR2正向无功峰电量KW-HTARIFF_DAYTARIFF_MONTHTARIFF_15MINpositive_reactive_flat PR3正向无功平电量KW-HTARIFF_DAY、TARIFF_MONTHPR
4、TARIFF_15MINpositive_reactive_vally正向无功谷电量KW-H_TARIFF DAYTARIFF_MONTHTARIFF_15MINRRO、反向无功总电量KW-HTARIFF_DAYTARIFF_MONTHTARIFF_15MINreverse_reactive_sharp RR1反向无功尖电量KW-HTARIFF_DAYTARIFF_MONTHTARIFF_15MINreverse_reactive_peak RR2反向无功峰电量KW-HTARIFF_DAYTARIFF_MONTHreverse_reactive_flat RR3TARIFF_15MIN反向无功平电量KW-HTARIFF_DAYTARIFF_MONTHTARIFF_15MINreverse_reactive_vally RR4反向无功谷电量KW-HTARIFF_DAYTARIFF_MONTHvoltage_a UAMEAS_15MIN A相电压Vvoltage_b UBMEAS」5MIN B相电压VMEAS_15MIN、voltage_c UCC相电压Vcurrent_a IAMEAS_15MIN AA相电流》IB、current_b MEAShl5MIN B相电流AIC/current_c MEAS_15MIN C相电流Apower_coef FACMEAS_15MIN功率因数Wactive_power PMEAS_15MIN有功功率WQ、reactive_power MEASJL5MIN无功功率WDPA、positive_active_demand DEMAN D_DAY正3」有功需量KWDEMAND_MONTHre verse_a ctive_d emandDRA DEMAN D_DAY反向有功需量KWDEMAND_MONTHpositive_reactive_demand DPRDEMAND_DAY正向无功需量KWDEMAND_MONTHreverse_reactive_demand DRRDEMAND_DAY反向无功需量KWDEMAND.MONTHStandard fora PrecisionClock SynchronizationProtocol forNetworkedMeasurement andControl Systems
三、术语和定义下列术语和定义适用于本文件应用消息servicelication message通过网络传输应用数据,应用消息通过协议传输时,它们有关联的服务质量订阅subscription和主题订阅包含一个主题过滤器(topic Filter)和一个最大的服务质量(QoS)等级订阅与单个会话(Session)关联会话可以包含多于一个的订阅会话的每个订阅都有一个不同的主题过滤器,每个主题过滤器需设置对应的QoS值会话session客户端和服务端之间的状态交互一些会话持续时长与网络连接一样,另些可以在客户端和服务端的多个连续网络连接间扩展主题topic连接到一个应用程序消息的标签,该标签与服务器的订阅相匹配服务器会将消息发送给订阅所匹配标签的每个客户端主题过滤器topic filter主题名通配符筛选器,在订阅表达式中使用,表示订阅所匹配到的多个主题发布publish是指从客户端与服务端之间传输一个应用消息
四、缩略语以下是类型为【底码数据】,包含有【正向有功】【反向有功】【正向无功】【反向无功】四个数据项的上送报文,其他类型参考上表类推功能数据主动上送月1可终端今主站主题报文“mid d9dd803e34b94a918fee08a6cd28aal3zmethod:nDATA_FORMATnzbody:{frameCount:2,、^^^^^fframeNo:1,,HdataTypen:MEWJL5MIN”data:[、;“dataTime2019-01-01700:00:00content1:[;“name”TAvalue:
1.0000,nstaten:nn},,“name”“RA”value:
2.0000,nstateH:nn},,“name”“PR”value:
0.0000,,,state:,voltage_lossu},,name1:“RR”,value:
0.0000”state:batteryjow^atajnvalid}]},;ndataTime:2019-01-01700:15:00content:[;;name:PA value:
1.0000“state:},;name:RA value11:20000”,“state:},,name:“PR”;value:n
5.0000state11:},,“name”“RR”value:
6.0000”,state11:]}]
12.数据召唤\主站mu\,数据召哦请求♦-QI III\I/.//,I S•I4ss数据召唉的近;请求信息描述如下表L名称类型说明描述dataType数据类型string内容见数据上送部分的描述startTime要采集数据的开始时间string格式为yyyy-MM-ddTHH:mm:ss,其中T为填充符,小时为24小时制endTime要聚集数据的结束时间string格式为yyyy-MM-ddTHH:mm:ss,其中T为填充符,小时为24小时制功能数据召唤川可主站少终端主题报文“mid27bfad3fdlc3499b8bdf61189e0741clnz/,method:”CMD_CALL_DATA”body:{nsnn/C\,dataType:MEW—ISMIN”params:{HstartTimen:2019-01-01T00:00:00zendTimen:2019-01-01T00:15:00”、}川可终端个主站主题报文“mid27bfad3fdlc3499b8bdf61189e0741clnzmethod:CMD CALLDATA,;code11:500“body”:{sn:1,frameCount:2,frameNo:1,dataType:MEWJLSMIN,、“data”[dataTime1:2019-01-01700:00:00,content:[;“name”TA“value,,
1.0000,,z“state:”},,“name”“RA”;value:
2.0000nstateH:nn},,“name”“PR”value:
5.0000,nstateH:nn},,“name”“RR”value:
6.0000,state11:]},;dataTime1:2019-01-01700:15:00content1,:[;“name”TAvalue:
1.0000,“state:},;name:RAvalue1:
2.0000,“state:”},,name:“PR”“value
5.0000,“state:},,name1:“RR”value1:
6.0000”,state11:]]下列缩略语适用于本文件MQTT:消息队列遥测传输Message QueuingTelemetry TransportJSON:JS对象描述JavaScript ObjectNotation IP:互联网协议Internet ProtocolQoS:服务质量Quality ofService SSL:安全套接字层协议SecureSocketsLayer ProtocolCoAP:约束应用协议Constrained servicelicationProtocol TLS:传输层安全性Transport LayerSecurity Protocol
五、报文格式X X
5.
1.概述K电能量终端与电能量主站交互协议运行在TCP/IP之上,保留原有的通过IEC102协议族交互的方式,增加MQTT协议满足设备管理、业务交互、应用管理等需求,基于发布/订阅消息模式,提供一对多的消息发布系统架构如图1所示52交互方式设MQTT备量理应用管理业务交互
5.
3.交互流程中的约束
1.终端id指终端在档案中对应的11位数字id此id作为终端的唯一标识,在交0图1系统架构图互过程中起到识别每个终端的作用,将在MQTT主题名称中体现终端可通过手动设置的方式设置终端id,也可以先接入MQTT服务器,然后通过终端id请求流程获取,终端id一经设置不可以再通过请求流程获取
2.终端id请求流程如下
①终端接入MQTT服务器并监听终端自身ip地址对应的终端id设置主题,例如/vl/ertu/
192.
168.
34.53:2345/setid
②向指定主题,例如/vl/ertu/
192.
168.
34.53:2345/getid,写入终端id请求报文
③如果超过一定时间没有收到终端id设置报文,需要重复步骤
②直到获取到终端id设置报文
④当获取到终端id设置报文时,将获取到的id设置到终端中存储并持久化,根据获得的终端id监听对应主题的报文以及上送数据到对应主题,终止对终端id设置主题的监听
3.终端连接的电表的序号必须与主站档案一致,电表序号作为电表的唯一标识在主站与某个终端的交互过程中起到识别每个电表的作用
4.已设置id的终端连接MQTT服务器后,立即订阅相关主题,然后进入接收命令/主动上送的状态,无需额外的确认或获取id流程
5.
4.主站请求报文格式本协议规定MQTT报文均以JSON格式表述,如果从未接触过json需先自行了解json相关内容,报文通用头部包含字段如下表所示表1请求报文通用报头说明名称类型是否必选描述报文的唯一id,字符串,长度为32,生成方式为先生成一个uuid然后后去除中间的,例如uuid为cb334f8e-99d0-418b-aeab-67e0f5c6fc85时,mid应为mid string是cb334f8e99d0418baeab67e0f5c6fc85当终端o回复主站报文时,回复报文的mid应与主站下发请求报文的id一致,终端土动请求id或主动上报时由终端自行生成终端的唯一id,整型数值,长度固定为11,终端请求id流程中部分报文不包含此字段,以样例报ertuld int是文为准method string是请求的类型,字符串,取值参见样例报文报文发送的时间戳,长整型数值,UTC时间(距离1970年1月1日时0分0秒0毫秒这个时间点的是timestamp long毫秒数),单位毫秒,例如2020-07-1610:01:
31.256又寸应主站请求报文过期的相对时间(相对上一个字段,timestamp所对应的时间点),整型数值,单位秒否expire int,不包含该字段或者该字段为-1时表示永不过期,如果请求报文已过期应当忽视此次请求报文内容,是对象类型,注意与数组类型的格式区分,具体可以自行从网络上获取相关信息,本文不冉贽述,body JSON对象否当然也可以严格按照不例报文格式处理,内容详见各报文定义
5.
5.终端应答报文格式表2应答报文通用报头说明名称类型是否必选描述报文的唯一id,字符串,长度为32,生成方式为,先生成一个uuid然后后去除中间的例如uuid为cb334f8e-99d0-418b-aeab-67e0f5c6fc85时,mid应为是mid stringcb334f8e99d0418baeab67e0f5c6fc85当终端o回复主站报文时,回复报文的mid应与主站下发请求报文的id一致,终端主动请求id或主动上报时由终端自行生成终端的唯一id,整型数值,长度固定为11,终端请求id流程中部分报文不包含此字段,以样例报ertuld int是文为准。