查看“UDP远程升级文档”的源代码
←
UDP远程升级文档
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
== 总则 == === 协议概述 === UDP 接口是杭州东骏科技有限公司通讯模块用户连接、上报运行信息、接受模块控制命令、模块远程升级功能的接口。 == 协议命令 == === 命令结构 === {| class="wikitable" |- | 起始标识 || 长度字段 || 命令 || 分隔符 || 数据 || 结束标识 |- | 1byte || 4byte || 1byte || 1byte || 0-1024byte || 2byte |} 1:起始标识:固定值“$” 2:字段长度::ASCII 数字,从起始标识到结束标识,不足4byte 在前面补0 3:命令:当前指令的命令编码 4:分隔符:固定值”/” 5:数据:命令的具体内容 6:结束标识:\r\n === 远程升级-导引 === 该指令用来模块定时询问服务器是否需要升级,我们建议询问频率为1 次/小时。 设备发送查询命令: {| class="wikitable" |- | 命令编码 || C || 命令编号 || 0x01 || |- | 数据方向 || 上行 || || || |- |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || IMEI || ASCII || #/#分割 || |- | 2 || 项目名称 || ASCII || #/#分割 || |- | 3 || PROJECT_KEY || ASCII || #/#分割 || |- | 4 || 平台号 || ASCII || #/#分割 || |- | 5 || 版本号 || ASCII || || |} 长度或分割方式:可以是按照长度分割字段或者按照分隔符分割字段,按照长度分割即该字段为定长字段,字段前后不需要加分隔符,按照分隔符分割则该字段与下一个字段之间插入指定的分隔符。 服务端下发查询结果: {| class="wikitable" |- | 命令编码 || C || 命令编号 || 0x01 || |- | 数据方向 || 下行 || || || |- |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || 是否需要升级 || ASCII || 1byte || S-需要,F-不需要 |- | 2 || 升级包总块数 || ASCII || 3byte || 不需要升级为0 |- | 3 || 升级包总字节数 || ASCII || 6byte || 不需要升级为0 |- | 4 || 升级包名称 || ASCII || 10byte || 不需要升级为0 |- | 5 || MD5值 || ASCII || 32byte || 整个升级包做校验,大写 |- | 6 || IMEI值 || ASCII || 15byte || 设备的IMEI值 |} 查询: $ 0098 C / 868619040039495 #/# GZJ_DJ_4G #/# fH3fehhlYYpLUnQW4II87jLD3JJZTEkN #/# LONGSHANG_M25_4G #/# 0.2.2 <0x0D><0x0A> 升级应答: $ 0076 C / S 116 059112 0000000140 9875f44a93717d3fdd8943aa175bb562 868619040039495 <0x0D><0x0A> 不升级应答: $ 0076 C / F 000 000000 0000000000 00000000000000000000000000000000 868142041815052 <0x0D><0x0A> === 远程升级-下载 === 当模块询问远程升级-导引时需要升级,则模块主动通过该指令逐个下载升级包,升级包分块下载,每一块大小为512 字节,最后一块为实际剩余大小。 请求下载升级块: {| class="wikitable" |- | 命令编码 || U || 命令编号 || 0x02 || |- | 数据方向 || 上行 || || || |- |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || IMEI || ASCII || #/#分割 || |- | 2 || 升级包名称 || ASCII || #/#分割 || |- | 3 || 当前下载的块编号 || ASCII || #/#分割 || 块编号从1 开始,3 字节不足在前面补零 |- | 4 || 会话ID || ASCII || || 6 字节长度,不足在前面补零,模块生成,服务器应答时下发模块上报的会话ID |} 服务器下发升级块: {| class="wikitable" |- | 命令编码 || U || 命令编号 || 0x02 || |- | 数据方向 || 下行 || || || |- |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || 会话ID || ASCII || 6byte || 下发模块上报的会话ID |- | 2 || 升级包名称 || ASCII || 10byte || 没有查询到下载的内容则为全”0” |- | 3 || 当前块编号|| ASCII || 3byte || 不足3byte 在前面补0,没有查询到下载的内容则为0 |- | 4 || 当前块MD5 || ASCII || 32byte || 不足3 字节在前面补0,没有查询到下载的内容为全"0" |- | 5 || 升级块内容 || ASCII || 1-1024byte || 升级数据的base64 值,没有升级数据为空 |} 查询第一个升级包: $ 0052 U / 868619040039495 #/# 0000000140 #/# 001 #/ # 000001 <0x0D><0x0A> 应答查询第一个升级包: $ 0744 U / 000001 0000000140 001 a1f6b2366630a54fdc35245322178c8d ILAAIA2JAQhNBQEITwUBCFEFAQhTBQEIVQUBCAAAAAAAAAAAAAAAAAAAAABXBQEIWQUBCAAA AAC3wwEImV8BCCeJAQgniQEIJ4kBCCeJAQgniQEIJ4kBCCeJAQgniQEIJ4kBCGEyAQgniQEIJ4kBCCeJ AQgniQEIJ4kBCCeJAQgniQEIJ4kBCCeJAQgniQEIJ4kBCCeJAQgniQEIny8BCCeJAQgniQEIJ4kBCCeJAQ gniQEIo0EBCCeJAQgniQEIJ4kBCCeJAQgniQEIJ4kBCCeJAQgbYgEI8WIBCA9kAQg3MgEIJ4kBCCeJAQ gniQEIJ4kBCCeJAQgniQEIJ4kBCCeJAQgniQEIJ4kBCCeJAQiNZQEIjWYBCCeJAQgniQEIJ4kBCCeJAQgn iQEIJ4kBCN/4DNAM8Ej9AEgAR/sCAQggsAAgCLWOSAB4OLmNoACQjqORopOhikgM8DL+iEmYoAz wHv6ZoqKhpqAM8Bn+qkqqSaugDPAU/qxKrUmtoAzwD/696AhArqKuobCgDPAIvnG2s0gBaLNKAfT gYRFDAWC/80CP/ucQtQLw+f0C8Cr+A/Du+KxIACHA+KARASLA+KQhwPiMEalKwvi8EcD4lBEQvfC1h bAK8Hz9CfC6+gzww/gHRqKgDPDb/U/0AHaqSM3pAQYJIAAlAJADJM3pA1Q= <0x0D><0x0A> 查询最后一个升级包: $ 0052 U / 868619040039495 #/# 0000000140 #/# 116 #/# 000116 <0x0D><0x0A> 应答查询最后一个升级包: $ 0372 U / 000116 0000000140 1161ec029851e8a8060322d65f91a3e8 6d8Z2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8AAAAAROYBCAAAACC8IwAASM0BCOj mAQi8IwAgZIwAABTPAQgRhKJKBAAKHwECAwQGBwgJAiU5ODc2ABYcMC5xYS10Y3AuaWRvbmdq dW4uY29tAlABGYgiOCo1iAsodWSIAREev3wBCNcEAf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/w H/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8BJgY/4OUBCIBFAgQGCC0BAgME BAVUBgcICQ= <0x0D><0x0A> 升级完之后需要发确认心跳包: $ 0035 A / 868619040039495 #/# 2 #/# UPOK ^_^ <0x0D><0x0A> === 心跳 === 心跳数据时由模块主动发起,用于确认UDP 链路是否有效以及上报升级系统的运行情况,以及实时连网小区信息信号值,该指令每5 分钟1 次 设备上报心跳: {| class="wikitable" |- | 命令编码 || A || 命令编号 || 0x02 || |- | 数据方向 || 上行 || || || |- |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || IMEI || ASCII || #/#分割 || |- | 2 || 心跳内容版本号 || ASCII || #/#分割 || |- | 3 || 内容 || ASCII || #/#分割 ||日志内容中不得带有\r\n,#/#符号 |} 如果只是上报心跳没有业务数据则心跳版本为0,内容为空,升级系统启动计数为导引的询问次数,升级系统的升级次数为升级固件的次数。 版本对应的内容: {| class="wikitable" |- | 心跳版本号 || 1 || 用于模块 || M25 || |- | 说明 || 上报服务端设备的基站位置信息,升级情况 || || || |- |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || 升级系统启动计数 || ASCII || "_"分割 || |- | 2 || 升级次数计|| ASCII || "_"分割 || |- | 3 || Lac || ASCII || "_"分割 || |- | 4 || Cellid|| ASCII || "_"分割 || |- | 5 || Bcch || ASCII || "_"分割 || |- | 6 || Bsic || ASCII || "_"分割 || |- | 7 || Dbm || ASCII || || |} $ 0035 A / 868619040039495 #/# 1 #/# 1 ^_^ 1 ^_^ D103 ^_^ 66ED ^_^ 146 ^_^ 64 ^_^ -127 <0x0D><0x0A> {| class="wikitable" |- | 心跳版本号 || 2 || 用于模块 || M25 || |- | 说明 || 上报升级错误日志 || || || |- |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || 错误类型 || ASCII || "_"分割 || UPERR01:升级导引错误 UPERR02-升级下载错误 UPERR03-固件校验错误 UPERR04-硬件写入错误 UPERR05-升级未成功 UPOK-升级成功 |- | 2 || 外加说明|| ASCII || "_"分割 || 外加说明简单说明错误的内容,错误的具体判断原因,只能为英文,不得带有#/^$\r\n 等符号 |} $ 0035 A / 868619040039495 #/# 2 #/# UPOK ^_^ Upgrade_Success <0x0D><0x0A> {| class="wikitable" |- | 心跳版本号 || 100 || 用于模块 || M25 || |- | 说明 || 对时 || || || |- |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || 时间类型 || ASCII || || 0:单位为秒 1:单位为毫秒 |} $ 0034 A / 868619040039495 #/# 100 #/# 0 <0x0D><0x0A> 服务端应答心跳: {| class="wikitable" |- | 命令编码 || A || 命令编号 || 0x02 || |- | 数据方向 || 下行,心跳内容版本号>=100,需要回复,否则不需要回复 || || || |- |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || 心跳内容版本号 || ASCII || 3byte || |- | 2 || 消息体长度 || ASCII || 3byte || |- | 3 || 具体心跳回复内容 || ASCII || nbyte || |} $ 0025 A / 100 010 1603766452 <0x0D><0x0A> {| class="wikitable" |- | 心跳版本号 || 100 || 用于模块 || M25 || |- | 说明 || 对时 || || || |- |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || Unix 时间戳 || ASCII || 10-13byte || 根据时间戳类型,单位为秒或毫秒 |} $ 0025 A / 100 010 1603766452 <0x0D><0x0A> === 请求服务端消息数据 === 请求服务端消息数据协议,是用于模块目前连网信息的上报,以及请求服务端的模块控制指令,该消息建议每15 分钟发送一次 请求服务端消息数据: {| class="wikitable" |- | 命令编码 || B || 命令编号 || 0x03 || |- | 数据方向 || 上行 || || || |- |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || IMEI || ASCII || #/#分割 || |- | 2 || 当前联网地址 || ASCII || #/#分割 || |- | 3 || 当前联网端口 || ASCII || #/#分割 || |- | 4 || 模块是否重启 || ASCII || #/#分割 ||S-启用,F-禁用 |- | 5 || ICCID || ASCII || #/#分割 || |- | 6 || 信号值 || ASCII || #/#分割 || |- | 7 || 网络制式 || ASCII || #/#分割 || |- | 8 || 联网状态 || ASCII || #/#分割 || 1-已连网,2-已注网未连网,3-已注网未获取承载,4-未注网 |- | 9 || 开机后连接失败次数 || ASCII || #/#分割 || |- | 10 || 开机后总运行时 || ASCII || #/#分割 ||单位为秒 |- | 11 || 开机后总连网时间 || ASCII || #/#分割 || 单位为秒 |- | 12 || 模组供电电压当前值 || ASCII || #/#分割 ||单位0.1V,没有为0V |- | 13 || 本次测量周期的最大值 || ASCII || #/#分割 || 单位0.1V,没有为0V |- | 14 || 本次测量周期的最小值 || ASCII || #/#分割 || 单位0.1V,没有为0V |- | 15 || 开机之后传输上行的业务数据字节数 || ASCII || #/#分割 || |- | 16 || 开机之后传输下行的业务数据字节数 || ASCII || #/#分割 || |- | 17 || 模组的温度 || ASCII || #/#分割 || 1℃为单位,偏移50,即0 度为50,没有温度则为0 |} $ 0162 B / 868619040039495 #/# 0.qa-tcp.idongjun.com #/# 9876 #/# S #/# 89860459041990141892 #/# 4G #/# 21 #/# 1 #/# 0 #/# 2750 #/# 2708 #/# DJ-00025_VA_GD32F103RCT6_GZJ_DJ_4G_DJS_V0.2.3 <0x0D><0x0A> 服务端下发消息: {| class="wikitable" |- | 命令编码 || D || 命令编号 || 0x03 || |- | 数据方向 || 下行 || || || |- |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || IMEI || ASCII || 15byte || |- | 2 || 消息类型 || ASCII || 1byte ||消息类型为小写字母 |- | 3 || 消息体长度 || ASCII || 3byte || |- | 4 || 消息体 || ASCII || 0-999byte || |} 定义消息体: {| class="wikitable" |- | 消息体类型 || a || 说明 || 无下发内容,该指令无消息体 || |- | || || || || |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | || || || || |} $ 0028 D / 868619040039495 a 000 <0x0D><0x0A> {| class="wikitable" |- | 消息体类型 || b || 说明 || 修改IP 和端口 || |- | || || || || |- |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || 通讯协议标识 || ASCII || 1byte || T-TCP,U-UDP,M-Mqtt |- | 2 || IP 或域名标识 || ASCII || 1byte ||P-IP,Y-域名 |- | 3 || 连接地址 || ASCII || nbyte || |- | 4 || 端口 || ASCII || 5byte ||不足5 字节在前面补0 |} $ 0028 D / 868619040039495 b 022 T P www.dongjun.org 09876 <0x0D><0x0A> {| class="wikitable" |- | 消息体类型 || c || 说明 || 模块使能或失能 || |- | || || || || |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || 是否使能 || ASCII || 1byte || |} $ 0028 D / 868619040039495 c 001 1 <0x0D><0x0A> {| class="wikitable" |- | 消息体类型 || d || 说明 || 重启模块 || |- | || || || || |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || 是否重启 || ASCII || 1byte ||1-重启,2-不重启,3-软件重启,4-关机 |} $ 0028 D / 868619040039495 d 001 1 <0x0D><0x0A> {| class="wikitable" |- | 消息体类型 || e || 说明 || 修改设备id(需业务支持) || |- | || || || || |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || 设备id || ASCII || nbyte ||需要修改的新设备ID |} $ 0028 D / 868619040039495 e 010 D000000001 <0x0D><0x0A> 服务器消息应答: 当模块接受到服务器消息,消息类型不为a 时,需要应答服务器 {| class="wikitable" |- | 命令编码 || D || 命令编号 || 0x04 || |- | 数据方向 || 上行 || || || |- |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || IMEI || ASCII || #/#分割 || |- | 2 || 应答类型 || ASCII || #/#分割 || 应答类型为小写字母 |- | 3 || 消息体长度 || ASCII || #/#分割 || |- | 4 || 消息体 || ASCII || || |} {| class="wikitable" |- | 应答类型 || b || 说明 || 应答修改IP 和端口 || |- | || || || || |- |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || 结束标识 || ASCII || “_”分割 || 1-成功,2-失败,3-参数异常 |- | 2 || 异常原因|| ASCII || ||可以为空,说明异常的原因 |} $ 0028 D / 868619040039495 #/# b #/# 004 1 ^_^ <0x0D><0x0A> {| class="wikitable" |- | 应答类型 || c || 说明 || 应答模块使能或失能 || |- | || || || || |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || 结束标识 || ASCII || “_”分割 || 1-成功,2-失败,3-参数异常 |- | 2 || 异常原因|| ASCII || ||可以为空,说明异常的原因 |} $ 0028 D / 868619040039495 #/# c #/# 004 1 ^_^ <0x0D><0x0A> {| class="wikitable" |- | 应答类型 || d || 说明 || 应答重启模块 || |- | || || || || |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || 结束标识 || ASCII || “_”分割 || 1-成功,2-失败,3-参数异常 |- | 2 || 异常原因|| ASCII || ||可以为空,说明异常的原因 |} $ 0028 D / 868619040039495 #/# d #/# 004 1 ^_^ <0x0D><0x0A> {| class="wikitable" |- | 应答类型 || e || 说明 || 应答模块ID修改 || |- | || || || || |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || 结束标识 || ASCII || “_”分割 || 1-成功2-不支持3-ID非法 |} $ 0028 D / 868619040039495 #/# e #/# 001 1 <0x0D><0x0A> ===设备网络质量统计上报=== 设备应该没一个小时上报一次该接口,该接口统计以天为单位,每天0 点清空统计,服务端以当天最后一次上报作为采用数据,如果设备有实时时钟,则及时以实时时钟加上服务端校时为准,如果设备没有实时时钟,已服务端校时和定时器计时为准,服务器每次应答时间后设备应该校对其时间戳 {| class="wikitable" |- | 命令编码 || J || 命令编号 || 0x05 || |- | 数据方向 || 上行 || || || |- |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || IMEI || ASCII || #/#分割 || |- | 2 || 设备时间戳 || ASCII || #/#分割 || 单位为秒,如果设备时间戳与服务器时间戳相差大于1 小时则该条数据无效,服务器应答时间戳让设备对时 |- | 3 || 设备在线时间计数 || ASCII || #/#分割 || 单位为分钟 |- | 4 || 设备离线时间计数 || ASCII || #/#分割 || 单位为分钟 |- | 3 || 设备信号值最低 || ASCII || #/#分割 || 0-31 |- | 4 || 设备信号值最高 || ASCII || #/#分割 || 0-31 |- | 3 || 注网失败统计 || ASCII || #/#分割 || |- | 4 || 承载失败统计 || ASCII || #/#分割 || |- | 3 || 心跳无回应统计 || ASCII || #/#分割 || |- | 4 || 联网失败统计 || ASCII || #/#分割 || |- | 4 || 设备自计算评分 || ASCII || #/#分割 || 0-优良,1-良好,2-一般,3-异常 |} $ 0028 J / 868619040039495 #/# 1603766452 #/# 10 #/# 8 #/# 25 #/# 31 #/# 2 #/# 6 #/# 2 #/# 6 #/# 0 <0x0D><0x0A> 服务端下发消息: {| class="wikitable" |- | 命令编码 || J || 命令编号 || 0x05 || |- | 数据方向 || 下行 || || || |- |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || IMEI || ASCII || 15byte || |- | 2 || 设服务器时间戳 || ASCII || 10byte ||单位为秒 |- | 3 || 服务端设备评分 || ASCII || 1byte ||0-优良,1-良好,2-一般,3-异常 |} $ 0028 J / 868619040039495 #/# 1603766452 #/# 0 <0x0D><0x0A> === 远程升级-导引(DF_LARGE_FIRMWARE) === 该指令用来模块定时询问服务器是否需要升级,我们建议询问频率为1 次/小时。 设备发送查询命令: {| class="wikitable" |- | 命令编码 || X || 命令编号 || 0x01 || |- | 数据方向 || 上行 || || || |- |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || IMEI || ASCII || #/#分割 || |- | 2 || 项目名称 || ASCII || #/#分割 || |- | 3 || PROJECT_KEY || ASCII || #/#分割 || |- | 4 || 平台号 || ASCII || #/#分割 || |- | 5 || 版本号 || ASCII || || |} 服务端下发查询结果: {| class="wikitable" |- | 命令编码 || X || 命令编号 || 0x01 || |- | 数据方向 || 下行 || || || |- |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || 是否需要升级 || ASCII || 1byte || S-需要,F-不需要 |- | 2 || 升级包总块数 || ASCII || 5byte || 不需要升级为0 |- | 3 || 升级包总字节数 || ASCII || 6byte || 不需要升级为0 |- | 4 || 升级包名称 || ASCII || 10byte || 不需要升级为0 |- | 5 || MD5值 || ASCII || 32byte || 整个升级包做校验,大写 |- | 6 || IMEI值 || ASCII || 15byte || 设备的IMEI值 |} 查询: $ 0098 X / 868619040039495 #/# GZJ_DJ_4G #/# fH3fehhlYYpLUnQW4II87jLD3JJZTEkN #/# LONGSHANG_M25_4G #/# 0.2.2 <0x0D><0x0A> 升级应答: $ 0078 X / S 00116 059112 0000000140 9875f44a93717d3fdd8943aa175bb562 868619040039495 <0x0D><0x0A> 不升级应答: $ 0078 X / F 00000 000000 0000000000 00000000000000000000000000000000 868142041815052 <0x0D><0x0A> === 远程升级-下载(DF_LARGE_FIRMWARE) === 当模块询问远程升级-导引时需要升级,则模块主动通过该指令逐个下载升级包,升级包分块下载,每一块大小为512 字节,最后一块为实际剩余大小。 请求下载升级块: {| class="wikitable" |- | 命令编码 || Y || 命令编号 || 0x02 || |- | 数据方向 || 上行 || || || |- |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || IMEI || ASCII || #/#分割 || |- | 2 || 升级包名称 || ASCII || #/#分割 || |- | 3 || 当前下载的块编号 || ASCII || #/#分割 || 块编号从1 开始,3 字节不足在前面补零 |- | 4 || 会话ID || ASCII || || 6 字节长度,不足在前面补零,模块生成,服务器应答时下发模块上报的会话ID |} 服务器下发升级块: {| class="wikitable" |- | 命令编码 || Y || 命令编号 || 0x02 || |- | 数据方向 || 下行 || || || |- |- | 序号 || 参数名称 || 数据类型 || 长度或分割方式 || 备注 |- | 1 || 会话ID || ASCII || 6byte || 下发模块上报的会话ID |- | 2 || 升级包名称 || ASCII || 10byte || 没有查询到下载的内容则为全”0” |- | 3 || 当前块编号|| ASCII || 5byte || 不足3byte 在前面补0,没有查询到下载的内容则为0 |- | 4 || 当前块MD5 || ASCII || 32byte || 不足3 字节在前面补0,没有查询到下载的内容为全"0" |- | 5 || 升级块内容 || ASCII || 1-4096byte || 升级数据的base64 值,没有升级数据为空 |} 查询第一个升级包: $ 0054 Y / 868619040039495 #/# 0000000140 #/# 00001 #/ # 000001 <0x0D><0x0A> 应答查询第一个升级包: $ 0746 Y / 000001 0000000140 00001 a1f6b2366630a54fdc35245322178c8d ILAAIA2JAQhNBQEITwUBCFEFAQhTBQEIVQUBCAAAAAAAAAAAAAAAAAAAAABXBQEIWQUBCAAA AAC3wwEImV8BCCeJAQgniQEIJ4kBCCeJAQgniQEIJ4kBCCeJAQgniQEIJ4kBCGEyAQgniQEIJ4kBCCeJ AQgniQEIJ4kBCCeJAQgniQEIJ4kBCCeJAQgniQEIJ4kBCCeJAQgniQEIny8BCCeJAQgniQEIJ4kBCCeJAQ gniQEIo0EBCCeJAQgniQEIJ4kBCCeJAQgniQEIJ4kBCCeJAQgbYgEI8WIBCA9kAQg3MgEIJ4kBCCeJAQ gniQEIJ4kBCCeJAQgniQEIJ4kBCCeJAQgniQEIJ4kBCCeJAQiNZQEIjWYBCCeJAQgniQEIJ4kBCCeJAQgn iQEIJ4kBCN/4DNAM8Ej9AEgAR/sCAQggsAAgCLWOSAB4OLmNoACQjqORopOhikgM8DL+iEmYoAz wHv6ZoqKhpqAM8Bn+qkqqSaugDPAU/qxKrUmtoAzwD/696AhArqKuobCgDPAIvnG2s0gBaLNKAfT gYRFDAWC/80CP/ucQtQLw+f0C8Cr+A/Du+KxIACHA+KARASLA+KQhwPiMEalKwvi8EcD4lBEQvfC1h bAK8Hz9CfC6+gzww/gHRqKgDPDb/U/0AHaqSM3pAQYJIAAlAJADJM3pA1Q= <0x0D><0x0A> 查询最后一个升级包: $ 0054 Y / 868619040039495 #/# 0000000140 #/# 00116 #/# 000116 <0x0D><0x0A> 应答查询最后一个升级包: $ 0372 Y / 000116 0000000140 1161ec029851e8a8060322d65f91a3e8 6d8Z2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8AAAAAROYBCAAAACC8IwAASM0BCOj mAQi8IwAgZIwAABTPAQgRhKJKBAAKHwECAwQGBwgJAiU5ODc2ABYcMC5xYS10Y3AuaWRvbmdq dW4uY29tAlABGYgiOCo1iAsodWSIAREev3wBCNcEAf8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/w H/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8B/wH/Af8BJgY/4OUBCIBFAgQGCC0BAgME BAVUBgcICQ= <0x0D><0x0A> 升级完之后需要发确认心跳包: $ 0035 A / 868619040039495 #/# 2 #/# UPOK ^_^ <0x0D><0x0A>
返回至
UDP远程升级文档
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息