V1.5: OTA确认后立即补发状态+fwver(版本序号即时刷新);485首次重量上报失败改重试(发布成功才置标志)
This commit is contained in:
parent
9ee82719ca
commit
e6f25bfa0b
|
|
@ -768,7 +768,15 @@ int air780e_ota_confirm(void)
|
||||||
|
|
||||||
if (!info.app_confirmed) {
|
if (!info.app_confirmed) {
|
||||||
/* 本地确认先行(版本号 + 确认标志落盘),防止通知发送失败导致 BL 误判回滚 */
|
/* 本地确认先行(版本号 + 确认标志落盘),防止通知发送失败导致 BL 误判回滚 */
|
||||||
if (info.new_version > 0) ota_ver_save(info.new_version);
|
if (info.new_version > 0) {
|
||||||
|
ota_ver_save(info.new_version);
|
||||||
|
/* 版本号刚更新,立即补发一次状态 + fwver:
|
||||||
|
* 否则平台要等下次触发才能看到新版本序号 */
|
||||||
|
relayStatueUpdata();
|
||||||
|
char vb[24];
|
||||||
|
snprintf(vb, sizeof(vb), "%s:%u", FIRMWARE_VERSION_STR, (unsigned)MqttInfoStr.Ver);
|
||||||
|
NET_publish_version(vb);
|
||||||
|
}
|
||||||
int ok = 0;
|
int ok = 0;
|
||||||
for (int i = 0; i < 3 && !ok; i++) {
|
for (int i = 0; i < 3 && !ok; i++) {
|
||||||
W25Q64_OTA_SetConfirmed();
|
W25Q64_OTA_SetConfirmed();
|
||||||
|
|
|
||||||
|
|
@ -135,13 +135,13 @@ static int feed_scale_read_frame(uint8_t *buf, uint16_t max_len)
|
||||||
return (int)len;
|
return (int)len;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 上报当前状态到平台: 开关、重量、单次投料量、去皮重量 */
|
/* 上报当前状态到平台: 开关、重量、单次投料量、去皮重量。返回 0=已发出 */
|
||||||
static void feed_scale_report_weight(const char *header)
|
static int feed_scale_report_weight(const char *header)
|
||||||
{
|
{
|
||||||
(void)header;
|
(void)header;
|
||||||
/* 云平台物模型字段:weight=剩余料重(净重),zero=空载重量(去皮),onceWt=单次投料量 */
|
/* 云平台物模型字段:weight=剩余料重(净重),zero=空载重量(去皮),onceWt=单次投料量 */
|
||||||
/* sw1 与 feeding 均上报继电器 1 状态,平台两个开关都能同步刷新 */
|
/* sw1 与 feeding 均上报继电器 1 状态,平台两个开关都能同步刷新 */
|
||||||
NET_publish_status(
|
int rc = NET_publish_status(
|
||||||
MqttInfoStr.Relay_State[1] ? 1 : 0,
|
MqttInfoStr.Relay_State[1] ? 1 : 0,
|
||||||
MqttInfoStr.Relay_State[1] ? 1 : 0,
|
MqttInfoStr.Relay_State[1] ? 1 : 0,
|
||||||
MqttInfoStr.Relay_State[2] ? 1 : 0,
|
MqttInfoStr.Relay_State[2] ? 1 : 0,
|
||||||
|
|
@ -154,6 +154,7 @@ static void feed_scale_report_weight(const char *header)
|
||||||
(float)last_weight / 10.0f,
|
(float)last_weight / 10.0f,
|
||||||
(float)once_weight / 10.0f,
|
(float)once_weight / 10.0f,
|
||||||
(float)zero_weight / 10.0f);
|
(float)zero_weight / 10.0f);
|
||||||
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t g_feed_scale_on = 0;
|
uint8_t g_feed_scale_on = 0;
|
||||||
|
|
@ -362,10 +363,13 @@ void feedScaleProcess(void)
|
||||||
last_raw_weight = cur_weight; /* 保存原始毛重 */
|
last_raw_weight = cur_weight; /* 保存原始毛重 */
|
||||||
last_weight = cur_weight > zero_weight ? (cur_weight - zero_weight) : 0; /* 净重 */
|
last_weight = cur_weight > zero_weight ? (cur_weight - zero_weight) : 0; /* 净重 */
|
||||||
if (!first_query_reported) {
|
if (!first_query_reported) {
|
||||||
/* 首次上电: 查询到一次有效重量后上报平台 */
|
/* 首次上电: 查询到一次有效重量后上报平台。
|
||||||
first_query_reported = 1;
|
* 发布成功才置标志——发布被丢弃(AT忙)时下轮查询继续重试,
|
||||||
feed_scale_report_weight("iot.prop.post");
|
* 避免重启后平台重量一直是 0 直到下次碰巧发出去 */
|
||||||
log_info("> FEED: 首次重量已上报");
|
if (feed_scale_report_weight("iot.prop.post") == 0) {
|
||||||
|
first_query_reported = 1;
|
||||||
|
log_info("> FEED: 首次重量已上报");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (feed_state == FEED_RUNNING) {
|
if (feed_state == FEED_RUNNING) {
|
||||||
|
|
|
||||||
|
|
@ -269,11 +269,11 @@ void NET_process(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void NET_publish_status(int sw1, int feeding, int sw2, int sw3, int sw4,
|
int NET_publish_status(int sw1, int feeding, int sw2, int sw3, int sw4,
|
||||||
float weight_kg, float once_wt_kg, float zero_kg)
|
float weight_kg, float once_wt_kg, float zero_kg)
|
||||||
{
|
{
|
||||||
if (g_net_tx_busy) { log_info("> NET: 状态上报被丢弃 (发送忙)"); return; }
|
if (g_net_tx_busy) { log_info("> NET: 状态上报被丢弃 (发送忙)"); return -1; }
|
||||||
if (net_at_trylock() != 0) { log_info("> NET: 状态上报被丢弃 (AT 忙)"); return; }
|
if (net_at_trylock() != 0) { log_info("> NET: 状态上报被丢弃 (AT 忙)"); return -1; }
|
||||||
/* ver 字段:固件版本号,平台据此可识别设备是否发生了 OTA 回退 */
|
/* ver 字段:固件版本号,平台据此可识别设备是否发生了 OTA 回退 */
|
||||||
/* sw1 与 feeding 都映射继电器 1 状态(无秤模式两者等效),
|
/* sw1 与 feeding 都映射继电器 1 状态(无秤模式两者等效),
|
||||||
* 两个字段都上报,平台的 sw1 开关和 feeding 状态才能同步刷新 */
|
* 两个字段都上报,平台的 sw1 开关和 feeding 状态才能同步刷新 */
|
||||||
|
|
@ -300,6 +300,7 @@ void NET_publish_status(int sw1, int feeding, int sw2, int sw3, int sw4,
|
||||||
net_wifi_publish_up(json);
|
net_wifi_publish_up(json);
|
||||||
}
|
}
|
||||||
net_at_unlock();
|
net_at_unlock();
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void NET_publish_response(const char *cmd_id, int ok, const char *msg)
|
void NET_publish_response(const char *cmd_id, int ok, const char *msg)
|
||||||
|
|
|
||||||
|
|
@ -49,8 +49,8 @@ void NET_init(void);
|
||||||
void NET_process(void);
|
void NET_process(void);
|
||||||
void NET_LockInit(void); /* 网络 AT 会话互斥锁初始化(调度器启动前调用一次) */
|
void NET_LockInit(void); /* 网络 AT 会话互斥锁初始化(调度器启动前调用一次) */
|
||||||
net_backend_t NET_GetActiveBackend(void);
|
net_backend_t NET_GetActiveBackend(void);
|
||||||
void NET_publish_status(int sw1, int feeding, int sw2, int sw3, int sw4,
|
int NET_publish_status(int sw1, int feeding, int sw2, int sw3, int sw4,
|
||||||
float weight_kg, float once_wt_kg, float zero_kg);
|
float weight_kg, float once_wt_kg, float zero_kg); /* 返回 0=已发出 */
|
||||||
void NET_publish_response(const char *cmd_id, int ok, const char *msg);
|
void NET_publish_response(const char *cmd_id, int ok, const char *msg);
|
||||||
int NET_publish_power(int on);
|
int NET_publish_power(int on);
|
||||||
void NET_publish_version(const char *ver); /* 上报代码版本字符串(FIRMWARE_VERSION_STR) */ /* 返回 0=已发出,-1=通道忙被丢弃 */
|
void NET_publish_version(const char *ver); /* 上报代码版本字符串(FIRMWARE_VERSION_STR) */ /* 返回 0=已发出,-1=通道忙被丢弃 */
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ extern UART_HandleTypeDef huart3;
|
||||||
* 由平台侧自行计时控制
|
* 由平台侧自行计时控制
|
||||||
*/
|
*/
|
||||||
/*===== 固件版本号(开机横幅打印用,改版本只动这里) =====*/
|
/*===== 固件版本号(开机横幅打印用,改版本只动这里) =====*/
|
||||||
#define FIRMWARE_VERSION_STR "1.5.6"
|
#define FIRMWARE_VERSION_STR "1.5.7"
|
||||||
|
|
||||||
#define PRODUCT_WITH_FEED_SCALE 1 /* 默认带秤(EEPROM 172 可改,蓝牙 SCALE0/1 切换) */
|
#define PRODUCT_WITH_FEED_SCALE 1 /* 默认带秤(EEPROM 172 可改,蓝牙 SCALE0/1 切换) */
|
||||||
|
|
||||||
|
|
@ -53,7 +53,7 @@ extern UART_HandleTypeDef huart3;
|
||||||
//#define MQTT_USERNAME "698227263545354343"
|
//#define MQTT_USERNAME "698227263545354343"
|
||||||
//#define MQTT_PASSWORD "b612c2839c135934"
|
//#define MQTT_PASSWORD "b612c2839c135934"
|
||||||
|
|
||||||
//RTOS版-投料机-无蠕变磅秤-01
|
////RTOS版-投料机-无蠕变磅秤-01
|
||||||
#define MQTT_CLIENT_ID "46c080c385c3652e"
|
#define MQTT_CLIENT_ID "46c080c385c3652e"
|
||||||
#define MQTT_USERNAME "766990788193702677"
|
#define MQTT_USERNAME "766990788193702677"
|
||||||
#define MQTT_PASSWORD "6ae9622b7034326b"
|
#define MQTT_PASSWORD "6ae9622b7034326b"
|
||||||
|
|
|
||||||
375
V1.5/debug.txt
375
V1.5/debug.txt
|
|
@ -1,34 +1,138 @@
|
||||||
|
[INFO] > 运行时间: 0天--00小时--35分钟
|
||||||
|
[INFO] > MQTT:
|
||||||
|
+MSUB: "/iot/data/down/5791a8579d459290",174 byte,{"id":"937bd2c97b68db53","header":"iot.ota.upgrade.post","body":{"crc16":"3b5f","ver":3,"url":"http://58.17.14.95:81/ota/pull/6d668140ed45caef.bin",
|
||||||
|
[INFO] > OTA 升级命令!
|
||||||
|
[INFO] > OTA 版本: 当前=2, 新版本=3, crc16=0x3B5F
|
||||||
|
[INFO] > OTA 下载地址: http://58.17.14.95:81/ota/pull/6d668140ed45caef.bin
|
||||||
|
[INFO] > OTA: 58.17.14.95:81/ota/pull/6d668140ed45caef.bin
|
||||||
|
[INFO] > OTA: 进入
|
||||||
|
[INFO] > 4G: 复位...
|
||||||
|
[INFO] > 4G: 复位完成
|
||||||
|
[INFO] > OTA: 网络...
|
||||||
|
[INFO] > OTA: 第二次 AT 测试
|
||||||
|
[INFO] > OTA: 第二次 AT 成功
|
||||||
|
[INFO] > OTA: 等待网络附着...
|
||||||
|
[INFO] > 4G: PDN 已激活
|
||||||
|
[INFO] > SAPBR...
|
||||||
|
[INFO] > OTA: MQTT 就绪
|
||||||
|
[INFO] > HTTP: http://58.17.14.95:81/ota/pull/6d668140ed45caef.bin
|
||||||
|
[INFO] > HEAD...
|
||||||
|
[INFO] > 大小=81452B
|
||||||
|
[INFO] **************************************
|
||||||
|
[INFO] * OTA 升级开始 *
|
||||||
|
[INFO] * 大小: 81452 字节 *
|
||||||
|
[INFO] **************************************
|
||||||
|
[INFO] > 正在擦除 W25Q64 新槽位...
|
||||||
|
[INFO] > W25Q64 新槽位擦除完成
|
||||||
|
[INFO] [下载] 开始 >>>
|
||||||
|
[INFO] > DL 偏移=0
|
||||||
|
[INFO] > [ 3%] 3072/81452B
|
||||||
|
[INFO] > DL 偏移=3072
|
||||||
|
[INFO] > [ 7%] 6144/81452B
|
||||||
|
[INFO] > DL 偏移=6144
|
||||||
|
[INFO] > [ 11%] 9216/81452B
|
||||||
|
[INFO] > DL 偏移=9216
|
||||||
|
[INFO] > [ 15%] 12288/81452B
|
||||||
|
[INFO] > DL 偏移=12288
|
||||||
|
[INFO] > [ 18%] 15360/81452B
|
||||||
|
[INFO] > DL 偏移=15360
|
||||||
|
[INFO] > [ 22%] 18432/81452B
|
||||||
|
[INFO] > DL 偏移=18432
|
||||||
|
[INFO] > [ 26%] 21504/81452B
|
||||||
|
[INFO] > DL 偏移=21504
|
||||||
|
[INFO] > [ 30%] 24576/81452B
|
||||||
|
[INFO] > DL 偏移=24576
|
||||||
|
[INFO] > [ 33%] 27648/81452B
|
||||||
|
[INFO] > DL 偏移=27648
|
||||||
|
[INFO] > [ 37%] 30720/81452B
|
||||||
|
[INFO] > DL 偏移=30720
|
||||||
|
[INFO] > [ 41%] 33792/81452B
|
||||||
|
[INFO] > DL 偏移=33792
|
||||||
|
[INFO] > [ 45%] 36864/81452B
|
||||||
|
[INFO] > DL 偏移=36864
|
||||||
|
[INFO] > [ 49%] 39936/81452B
|
||||||
|
[INFO] > DL 偏移=39936
|
||||||
|
[INFO] > [ 52%] 43008/81452B
|
||||||
|
[INFO] > DL 偏移=43008
|
||||||
|
[INFO] > [ 56%] 46080/81452B
|
||||||
|
[INFO] > DL 偏移=46080
|
||||||
|
[INFO] > [ 60%] 49152/81452B
|
||||||
|
[INFO] > DL 偏移=49152
|
||||||
|
[INFO] > [ 64%] 52224/81452B
|
||||||
|
[INFO] > DL 偏移=52224
|
||||||
|
[INFO] > [ 67%] 55296/81452B
|
||||||
|
[INFO] > DL 偏移=55296
|
||||||
|
[INFO] > [ 71%] 58368/81452B
|
||||||
|
[INFO] > DL 偏移=58368
|
||||||
|
[INFO] > [ 75%] 61440/81452B
|
||||||
|
[INFO] > DL 偏移=61440
|
||||||
|
[INFO] > [ 79%] 64512/81452B
|
||||||
|
[INFO] > DL 偏移=64512
|
||||||
|
[INFO] > [ 82%] 67584/81452B
|
||||||
|
[INFO] > DL 偏移=67584
|
||||||
|
[INFO] > [ 86%] 70656/81452B
|
||||||
|
[INFO] > DL 偏移=70656
|
||||||
|
[INFO] > [ 90%] 73728/81452B
|
||||||
|
[INFO] > DL 偏移=73728
|
||||||
|
[INFO] > [ 94%] 76800/81452B
|
||||||
|
[INFO] > DL 偏移=76800
|
||||||
|
[INFO] > [ 98%] 79872/81452B
|
||||||
|
[INFO] > DL 偏移=79872
|
||||||
|
[INFO] > [100%] 81452/81452B
|
||||||
|
[INFO] > W25Q64 CRC16=0x3B5F (服务器=0x3B5F)
|
||||||
|
[INFO] >>> 校验 81452B...
|
||||||
|
[INFO] [ OK ] 固件校验通过!
|
||||||
|
[INFO] **************************************
|
||||||
|
[INFO] * OTA 下载完成! *
|
||||||
|
[INFO] * 正在重启进入 BootLoader... *
|
||||||
|
[INFO] **************************************
|
||||||
|
[INFO] > OTA 结果已发送(不等OK): success=1
|
||||||
[INFO]
|
[INFO]
|
||||||
[INFO] * * * * * * * * * * * * * * * * * *
|
[INFO] * * * * * * * * * * * * * * * * * *
|
||||||
[INFO] * BootLoader *
|
[INFO] * BootLoader *
|
||||||
[INFO] * Flash: 256KB *
|
[INFO] * Flash: 256KB *
|
||||||
[INFO] * * * * * By Helei * * * * * *
|
[INFO] * * * * * By Helei * * * * * *
|
||||||
[INFO] [BL] 上次复位原因: 软件
|
[INFO] [BL] 上次复位原因: 软件
|
||||||
|
[INFO] [BL] 外部 Flash 中有新固件:ver=3 size=81452 crc=0x3B5F
|
||||||
[INFO] > 固件校验通过
|
[INFO] > 固件校验通过
|
||||||
|
[INFO] [BL] 擦除备份槽...
|
||||||
|
[INFO] [BL] 备份 APP1 -> 外部 Flash 0x000000,大小=229376
|
||||||
|
[INFO] [BL] 备份完成,crc=0x8225
|
||||||
|
[INFO] [BL] 正在更新 APP1...
|
||||||
|
[INFO] > 擦除 112 页,起始地址 0x8008000...
|
||||||
|
[INFO] > 擦除完成(112 页)
|
||||||
|
[INFO] [BL] 拷贝外部 Flash 0x040000 -> APP1 0x08008000,大小=81452
|
||||||
|
[INFO] > 进度: 16/79 KB (20%)
|
||||||
|
[INFO] > 进度: 32/79 KB (40%)
|
||||||
|
[INFO] > 进度: 48/79 KB (60%)
|
||||||
|
[INFO] > 进度: 64/79 KB (80%)
|
||||||
|
[INFO] [ OK ] 拷贝完成
|
||||||
|
[INFO] > 固件校验通过
|
||||||
|
[INFO] [BL] APP1 更新成功,crc=0x3B5F,跳转运行
|
||||||
[INFO] [BL] 正在跳转到 APP1 @0x08008000...
|
[INFO] [BL] 正在跳转到 APP1 @0x08008000...
|
||||||
[INFO]
|
[INFO]
|
||||||
[INFO] * * * * * * * * * * * * * * * * * *
|
[INFO] * * * * * * * * * * * * * * * * * *
|
||||||
[INFO] * 版本: 1.5.7 (RTOS) *
|
[INFO] * 版本: 1.5.9 (RTOS) *
|
||||||
[INFO] * * * * * * * By Helei * * * *
|
[INFO] * * * * * * * By Helei * * * *
|
||||||
[INFO] > EEPROM 探测: 写=0xA5, 读=0xA5
|
[INFO] > EEPROM 探测: 写=0xA5, 读=0xA5
|
||||||
[INFO] > EEPROM 读取 err=0, Magic=0xDEADBEEF, Ver=1
|
[INFO] > EEPROM 读取 err=0, Magic=0xDEADBEEF, Ver=2
|
||||||
[INFO] EEPROM 配置有效, Ver=1
|
[INFO] EEPROM 配置有效, Ver=2
|
||||||
[INFO] > 服务器: 58.17.14.95:1880
|
[INFO] > 服务器: 58.17.14.95:1880
|
||||||
[INFO] > 客户端ID: 5791a8579d459290
|
[INFO] > 客户端ID: 5791a8579d459290
|
||||||
[INFO] > 用户名: 766990788193702677
|
[INFO] > 用户名: 766990788193702677
|
||||||
[INFO] > 版本序号: 1
|
[INFO] > 版本序号: 2
|
||||||
[INFO] > W25Q64 初始化成功, ID=0xEF4017
|
[INFO] > W25Q64 初始化成功, ID=0xEF4017
|
||||||
[INFO] > 历史重启记录(新→旧):
|
[INFO] > 历史重启记录(新→旧):
|
||||||
[INFO] [1] 重启原因: 软件复位(未标记) 运行时间: 0天00小时19分
|
[INFO] [1] 重启原因: OTA升级完成 运行时间: 0天00小时35分
|
||||||
[INFO] [2] 重启原因: 卡死看门狗溢出 运行时间: 0天00小时00分
|
[INFO] [2] 重启原因: OTA升级完成 运行时间: 0天00小时07分
|
||||||
[INFO] [3] 重启原因: 卡死看门狗溢出 运行时间: 0天00小时00分
|
[INFO] [3] 重启原因: 按键复位 运行时间: 0天00小时00分
|
||||||
[INFO] [4] 重启原因: 卡死看门狗溢出 运行时间: 0天00小时00分
|
[INFO] [4] 重启原因: 软件复位(未标记) 运行时间: 0天00小时19分
|
||||||
[INFO] [5] 重启原因: OTA升级完成 运行时间: 0天00小时08分
|
[INFO] [5] 重启原因: 卡死看门狗溢出 运行时间: 0天00小时00分
|
||||||
[INFO] [6] 重启原因: 4G初始化失败 运行时间: 0天00小时00分
|
[INFO] [6] 重启原因: 卡死看门狗溢出 运行时间: 0天00小时00分
|
||||||
[INFO] [7] 重启原因: 被平台踢下线 运行时间: 0天00小时08分
|
[INFO] [7] 重启原因: 卡死看门狗溢出 运行时间: 0天00小时00分
|
||||||
[INFO] [8] 重启原因: 被平台踢下线 运行时间: 0天00小时05分
|
[INFO] [8] 重启原因: OTA升级完成 运行时间: 0天00小时08分
|
||||||
[INFO] [9] 重启原因: 串口RESET命令 运行时间: 0天00小时01分
|
[INFO] [9] 重启原因: 4G初始化失败 运行时间: 0天00小时00分
|
||||||
[INFO] [10] 重启原因: 卡死看门狗溢出 运行时间: 0天00小时00分
|
[INFO] [10] 重启原因: 被平台踢下线 运行时间: 0天00小时08分
|
||||||
[INFO] SW1:关
|
[INFO] SW1:关
|
||||||
[INFO] SW2:关
|
[INFO] SW2:关
|
||||||
[INFO] SW3:关
|
[INFO] SW3:关
|
||||||
|
|
@ -59,249 +163,8 @@
|
||||||
[INFO] SW4:关(恢复)
|
[INFO] SW4:关(恢复)
|
||||||
[INFO] > Main: MQTT Ready 后首次状态上报
|
[INFO] > Main: MQTT Ready 后首次状态上报
|
||||||
[INFO] > FEED: 首次查询已发送
|
[INFO] > FEED: 首次查询已发送
|
||||||
[INFO] > OTA 已确认(MQTT Ready + 首次发布成功 + 延迟9s)
|
|
||||||
[INFO] > 运行时间: 0天--00小时--01分钟
|
|
||||||
[INFO] > GPS: 未定位(run=1 fix=0),跳过
|
|
||||||
[INFO] > 运行时间: 0天--00小时--02分钟
|
|
||||||
[INFO] > 运行时间: 0天--00小时--03分钟
|
|
||||||
[INFO] > 运行时间: 0天--00小时--04分钟
|
|
||||||
[INFO]
|
|
||||||
[INFO] * * * * * * * * * * * * * * * * * *
|
|
||||||
[INFO] * BootLoader *
|
|
||||||
[INFO] * Flash: 256KB *
|
|
||||||
[INFO] * * * * * By Helei * * * * * *
|
|
||||||
[INFO] [BL] 上次复位原因: 上电 按键
|
|
||||||
[INFO] > 固件校验通过
|
|
||||||
[INFO] [BL] 正在跳转到 APP1 @0x08008000...
|
|
||||||
[INFO]
|
|
||||||
[INFO] * * * * * * * * * * * * * * * * * *
|
|
||||||
[INFO] * 版本: 1.5.7 (RTOS) *
|
|
||||||
[INFO] * * * * * * * By Helei * * * *
|
|
||||||
[INFO] > EEPROM 探测: 写=0xA5, 读=0xA5
|
|
||||||
[INFO] > EEPROM 读取 err=0, Magic=0xDEADBEEF, Ver=1
|
|
||||||
[INFO] EEPROM 配置有效, Ver=1
|
|
||||||
[INFO] > 服务器: 58.17.14.95:1880
|
|
||||||
[INFO] > 客户端ID: 5791a8579d459290
|
|
||||||
[INFO] > 用户名: 766990788193702677
|
|
||||||
[INFO] > 版本序号: 1
|
|
||||||
[INFO] > W25Q64 初始化成功, ID=0xEF4017
|
|
||||||
[INFO] > 历史重启记录(新→旧):
|
|
||||||
[INFO] [1] 重启原因: 按键复位 运行时间: 0天00小时00分
|
|
||||||
[INFO] [2] 重启原因: 软件复位(未标记) 运行时间: 0天00小时19分
|
|
||||||
[INFO] [3] 重启原因: 卡死看门狗溢出 运行时间: 0天00小时00分
|
|
||||||
[INFO] [4] 重启原因: 卡死看门狗溢出 运行时间: 0天00小时00分
|
|
||||||
[INFO] [5] 重启原因: 卡死看门狗溢出 运行时间: 0天00小时00分
|
|
||||||
[INFO] [6] 重启原因: OTA升级完成 运行时间: 0天00小时08分
|
|
||||||
[INFO] [7] 重启原因: 4G初始化失败 运行时间: 0天00小时00分
|
|
||||||
[INFO] [8] 重启原因: 被平台踢下线 运行时间: 0天00小时08分
|
|
||||||
[INFO] [9] 重启原因: 被平台踢下线 运行时间: 0天00小时05分
|
|
||||||
[INFO] [10] 重启原因: 串口RESET命令 运行时间: 0天00小时01分
|
|
||||||
[INFO] SW1:关
|
|
||||||
[INFO] SW2:关
|
|
||||||
[INFO] SW3:关
|
|
||||||
[INFO] SW4:关
|
|
||||||
[INFO] > 产品模式: 称重投料(带秤)
|
|
||||||
[INFO] > GPS 定位: 开启
|
|
||||||
[INFO] > FEED: 初始化, 去皮=1.0KG, 单次投料=1.0KG
|
|
||||||
[INFO] > 电能: HLW8032 就绪 (UART5 PD2)
|
|
||||||
[INFO] > OLED: 初始化完成
|
|
||||||
[INFO] > 4G: 初始化...
|
|
||||||
[INFO] > 4G: 复位...
|
|
||||||
[INFO] > 4G: 复位完成
|
|
||||||
[INFO] > 4G: 网络...
|
|
||||||
[WARN] > AT 超时 [r1]: AT
|
|
||||||
[INFO] > 4G: ICCID 89860325247911236319
|
|
||||||
[INFO] > 4G: CGATT 已附着
|
|
||||||
[INFO] > 4G: 信号 58% (rssi=18)
|
|
||||||
[INFO] > 4G: GNSS 已开启
|
|
||||||
[INFO] > 4G: 网络 OK
|
|
||||||
[INFO] > 4G: MQTT...
|
|
||||||
[INFO] > 4G: MQTT OK
|
|
||||||
[INFO] > 4G: Ready
|
|
||||||
[INFO] > 4G: 首次发布成功
|
|
||||||
[INFO] > BLE: 配置已缓存(Bt1),跳过设置
|
|
||||||
[INFO] SW1:关(不恢复,投喂安全保护)
|
|
||||||
[INFO] SW2:关(恢复)
|
|
||||||
[INFO] SW3:关(恢复)
|
|
||||||
[INFO] SW4:关(恢复)
|
|
||||||
[INFO] > Main: MQTT Ready 后首次状态上报
|
|
||||||
[INFO] > FEED: 首次查询已发送
|
|
||||||
[INFO] > OTA 已确认(MQTT Ready + 首次发布成功 + 延迟9s)
|
|
||||||
[INFO] > 运行时间: 0天--00小时--01分钟
|
|
||||||
[INFO] > GPS: 未定位(run=1 fix=0),跳过
|
|
||||||
[INFO] > 运行时间: 0天--00小时--02分钟
|
|
||||||
[INFO] > 运行时间: 0天--00小时--03分钟
|
|
||||||
[INFO] > 运行时间: 0天--00小时--04分钟
|
|
||||||
[INFO] > 运行时间: 0天--00小时--05分钟
|
|
||||||
[INFO] > 运行时间: 0天--00小时--06分钟
|
|
||||||
[INFO] > GPS: 未定位(run=1 fix=0),跳过
|
|
||||||
[INFO] > 运行时间: 0天--00小时--07分钟
|
|
||||||
[INFO] > MQTT:
|
|
||||||
+MSUB: "/iot/data/down/5791a8579d459290",174 byte,{"id":"96a459ebd6d35334","header":"iot.ota.upgrade.post","body":{"crc16":"e786","ver":2,"url":"http://58.17.14.95:81/ota/pull/6d342f16358716a6.bin",
|
|
||||||
[INFO] > OTA 升级命令!
|
|
||||||
[INFO] > OTA 版本: 当前=1, 新版本=2, crc16=0xE786
|
|
||||||
[INFO] > OTA 下载地址: http://58.17.14.95:81/ota/pull/6d342f16358716a6.bin
|
|
||||||
[INFO] > OTA: 58.17.14.95:81/ota/pull/6d342f16358716a6.bin
|
|
||||||
[INFO] > OTA: 进入
|
|
||||||
[INFO] > 4G: 复位...
|
|
||||||
[INFO] > 4G: 复位完成
|
|
||||||
[INFO] > OTA: 网络...
|
|
||||||
[INFO] > OTA: 第二次 AT 测试
|
|
||||||
[INFO] > OTA: 第二次 AT 成功
|
|
||||||
[INFO] > OTA: 等待网络附着...
|
|
||||||
[INFO] > 4G: CGATT 已附着
|
|
||||||
[INFO] > SAPBR...
|
|
||||||
[INFO] > OTA: MQTT 就绪
|
|
||||||
[INFO] > HTTP: http://58.17.14.95:81/ota/pull/6d342f16358716a6.bin
|
|
||||||
[INFO] > HEAD...
|
|
||||||
[INFO] > 大小=81292B
|
|
||||||
[INFO] **************************************
|
|
||||||
[INFO] * OTA 升级开始 *
|
|
||||||
[INFO] * 大小: 81292 字节 *
|
|
||||||
[INFO] **************************************
|
|
||||||
[INFO] > 正在擦除 W25Q64 新槽位...
|
|
||||||
[INFO] > W25Q64 新槽位擦除完成
|
|
||||||
[INFO] [下载] 开始 >>>
|
|
||||||
[INFO] > DL 偏移=0
|
|
||||||
[INFO] > [ 3%] 3072/81292B
|
|
||||||
[INFO] > DL 偏移=3072
|
|
||||||
[INFO] > [ 7%] 6144/81292B
|
|
||||||
[INFO] > DL 偏移=6144
|
|
||||||
[INFO] > [ 11%] 9216/81292B
|
|
||||||
[INFO] > DL 偏移=9216
|
|
||||||
[INFO] > [ 15%] 12288/81292B
|
|
||||||
[INFO] > DL 偏移=12288
|
|
||||||
[INFO] > [ 18%] 15360/81292B
|
|
||||||
[INFO] > DL 偏移=15360
|
|
||||||
[INFO] > [ 22%] 18432/81292B
|
|
||||||
[INFO] > DL 偏移=18432
|
|
||||||
[INFO] > [ 26%] 21504/81292B
|
|
||||||
[INFO] > DL 偏移=21504
|
|
||||||
[INFO] > [ 30%] 24576/81292B
|
|
||||||
[INFO] > DL 偏移=24576
|
|
||||||
[INFO] > [ 34%] 27648/81292B
|
|
||||||
[INFO] > DL 偏移=27648
|
|
||||||
[INFO] > [ 37%] 30720/81292B
|
|
||||||
[INFO] > DL 偏移=30720
|
|
||||||
[INFO] > [ 41%] 33792/81292B
|
|
||||||
[INFO] > DL 偏移=33792
|
|
||||||
[INFO] > [ 45%] 36864/81292B
|
|
||||||
[INFO] > DL 偏移=36864
|
|
||||||
[INFO] > [ 49%] 39936/81292B
|
|
||||||
[INFO] > DL 偏移=39936
|
|
||||||
[INFO] > [ 52%] 43008/81292B
|
|
||||||
[INFO] > DL 偏移=43008
|
|
||||||
[INFO] > [ 56%] 46080/81292B
|
|
||||||
[INFO] > DL 偏移=46080
|
|
||||||
[INFO] > [ 60%] 49152/81292B
|
|
||||||
[INFO] > DL 偏移=49152
|
|
||||||
[INFO] > [ 64%] 52224/81292B
|
|
||||||
[INFO] > DL 偏移=52224
|
|
||||||
[INFO] > [ 68%] 55296/81292B
|
|
||||||
[INFO] > DL 偏移=55296
|
|
||||||
[INFO] > [ 71%] 58368/81292B
|
|
||||||
[INFO] > DL 偏移=58368
|
|
||||||
[INFO] > [ 75%] 61440/81292B
|
|
||||||
[INFO] > DL 偏移=61440
|
|
||||||
[INFO] > [ 79%] 64512/81292B
|
|
||||||
[INFO] > DL 偏移=64512
|
|
||||||
[INFO] > [ 83%] 67584/81292B
|
|
||||||
[INFO] > DL 偏移=67584
|
|
||||||
[INFO] > [ 86%] 70656/81292B
|
|
||||||
[INFO] > DL 偏移=70656
|
|
||||||
[INFO] > [ 90%] 73728/81292B
|
|
||||||
[INFO] > DL 偏移=73728
|
|
||||||
[INFO] > [ 94%] 76800/81292B
|
|
||||||
[INFO] > DL 偏移=76800
|
|
||||||
[INFO] > [ 98%] 79872/81292B
|
|
||||||
[INFO] > DL 偏移=79872
|
|
||||||
[INFO] > [100%] 81292/81292B
|
|
||||||
[INFO] > W25Q64 CRC16=0xE786 (服务器=0xE786)
|
|
||||||
[INFO] >>> 校验 81292B...
|
|
||||||
[INFO] [ OK ] 固件校验通过!
|
|
||||||
[INFO] **************************************
|
|
||||||
[INFO] * OTA 下载完成! *
|
|
||||||
[INFO] * 正在重启进入 BootLoader... *
|
|
||||||
[INFO] **************************************
|
|
||||||
[INFO] > OTA 结果已发送(不等OK): success=1
|
|
||||||
[INFO]
|
|
||||||
[INFO] * * * * * * * * * * * * * * * * * *
|
|
||||||
[INFO] * BootLoader *
|
|
||||||
[INFO] * Flash: 256KB *
|
|
||||||
[INFO] * * * * * By Helei * * * * * *
|
|
||||||
[INFO] [BL] 上次复位原因: 软件
|
|
||||||
[INFO] [BL] 外部 Flash 中有新固件:ver=2 size=81292 crc=0xE786
|
|
||||||
[INFO] > 固件校验通过
|
|
||||||
[INFO] [BL] 擦除备份槽...
|
|
||||||
[INFO] [BL] 备份 APP1 -> 外部 Flash 0x000000,大小=229376
|
|
||||||
[INFO] [BL] 备份完成,crc=0xC6DC
|
|
||||||
[INFO] [BL] 正在更新 APP1...
|
|
||||||
[INFO] > 擦除 112 页,起始地址 0x8008000...
|
|
||||||
[INFO] > 擦除完成(112 页)
|
|
||||||
[INFO] [BL] 拷贝外部 Flash 0x040000 -> APP1 0x08008000,大小=81292
|
|
||||||
[INFO] > 进度: 16/79 KB (20%)
|
|
||||||
[INFO] > 进度: 32/79 KB (40%)
|
|
||||||
[INFO] > 进度: 48/79 KB (60%)
|
|
||||||
[INFO] > 进度: 64/79 KB (80%)
|
|
||||||
[INFO] [ OK ] 拷贝完成
|
|
||||||
[INFO] > 固件校验通过
|
|
||||||
[INFO] [BL] APP1 更新成功,crc=0xE786,跳转运行
|
|
||||||
[INFO] [BL] 正在跳转到 APP1 @0x08008000...
|
|
||||||
[INFO]
|
|
||||||
[INFO] * * * * * * * * * * * * * * * * * *
|
|
||||||
[INFO] * 版本: 1.5.8 (RTOS) *
|
|
||||||
[INFO] * * * * * * * By Helei * * * *
|
|
||||||
[INFO] > EEPROM 探测: 写=0xA5, 读=0xA5
|
|
||||||
[INFO] > EEPROM 读取 err=0, Magic=0xDEADBEEF, Ver=1
|
|
||||||
[INFO] EEPROM 配置有效, Ver=1
|
|
||||||
[INFO] > 服务器: 58.17.14.95:1880
|
|
||||||
[INFO] > 客户端ID: 5791a8579d459290
|
|
||||||
[INFO] > 用户名: 766990788193702677
|
|
||||||
[INFO] > 版本序号: 1
|
|
||||||
[INFO] > W25Q64 初始化成功, ID=0xEF4017
|
|
||||||
[INFO] > 历史重启记录(新→旧):
|
|
||||||
[INFO] [1] 重启原因: OTA升级完成 运行时间: 0天00小时07分
|
|
||||||
[INFO] [2] 重启原因: 按键复位 运行时间: 0天00小时00分
|
|
||||||
[INFO] [3] 重启原因: 软件复位(未标记) 运行时间: 0天00小时19分
|
|
||||||
[INFO] [4] 重启原因: 卡死看门狗溢出 运行时间: 0天00小时00分
|
|
||||||
[INFO] [5] 重启原因: 卡死看门狗溢出 运行时间: 0天00小时00分
|
|
||||||
[INFO] [6] 重启原因: 卡死看门狗溢出 运行时间: 0天00小时00分
|
|
||||||
[INFO] [7] 重启原因: OTA升级完成 运行时间: 0天00小时08分
|
|
||||||
[INFO] [8] 重启原因: 4G初始化失败 运行时间: 0天00小时00分
|
|
||||||
[INFO] [9] 重启原因: 被平台踢下线 运行时间: 0天00小时08分
|
|
||||||
[INFO] [10] 重启原因: 被平台踢下线 运行时间: 0天00小时05分
|
|
||||||
[INFO] SW1:关
|
|
||||||
[INFO] SW2:关
|
|
||||||
[INFO] SW3:关
|
|
||||||
[INFO] SW4:关
|
|
||||||
[INFO] > 产品模式: 称重投料(带秤)
|
|
||||||
[INFO] > GPS 定位: 开启
|
|
||||||
[INFO] > FEED: 初始化, 去皮=1.0KG, 单次投料=1.0KG
|
|
||||||
[INFO] > 电能: HLW8032 就绪 (UART5 PD2)
|
|
||||||
[INFO] > OLED: 初始化完成
|
|
||||||
[INFO] > 4G: 初始化...
|
|
||||||
[INFO] > 4G: 复位...
|
|
||||||
[INFO] > 4G: 复位完成
|
|
||||||
[INFO] > 4G: 网络...
|
|
||||||
[WARN] > AT 超时 [r1]: AT
|
|
||||||
[INFO] > 4G: ICCID 89860325247911236319
|
|
||||||
[INFO] > 4G: PDN 已激活
|
|
||||||
[INFO] > 4G: 信号 61% (rssi=19)
|
|
||||||
[INFO] > 4G: GNSS 已开启
|
|
||||||
[INFO] > 4G: 网络 OK
|
|
||||||
[INFO] > 4G: MQTT...
|
|
||||||
[INFO] > 4G: MQTT OK
|
|
||||||
[INFO] > 4G: Ready
|
|
||||||
[INFO] > 4G: 首次发布成功
|
|
||||||
[INFO] > BLE: 配置已缓存(Bt1),跳过设置
|
|
||||||
[INFO] SW1:关(不恢复,投喂安全保护)
|
|
||||||
[INFO] SW2:关(恢复)
|
|
||||||
[INFO] SW3:关(恢复)
|
|
||||||
[INFO] SW4:关(恢复)
|
|
||||||
[INFO] > Main: MQTT Ready 后首次状态上报
|
|
||||||
[INFO] > FEED: 首次查询已发送
|
|
||||||
[INFO] > EEPROM 写入成功
|
[INFO] > EEPROM 写入成功
|
||||||
[INFO] > OTA 版本已保存并校验: 2
|
[INFO] > OTA 版本已保存并校验: 3
|
||||||
[INFO] > OTA 确认标志已写入
|
[INFO] > OTA 确认标志已写入
|
||||||
[INFO] > OTA 结果已上报: success=1
|
[INFO] > OTA 结果已上报: success=1
|
||||||
[INFO] > OTA 已确认(MQTT Ready + 首次发布成功 + 延迟9s)
|
[INFO] > OTA 已确认(MQTT Ready + 首次发布成功 + 延迟9s)
|
||||||
|
|
|
||||||
|
|
@ -164,3 +164,7 @@
|
||||||
result.post(success=1, 任务id) + confirm.post,送达后清回 0xFF
|
result.post(success=1, 任务id) + confirm.post,送达后清回 0xFF
|
||||||
- OTA 进度上报改可靠发送:progress.post 等 OK 确认(失败自动重试 1 次,每 10% 最多多花 ~3s),
|
- OTA 进度上报改可靠发送:progress.post 等 OK 确认(失败自动重试 1 次,每 10% 最多多花 ~3s),
|
||||||
平台"升级中"标志可置位;若无应答打印 WARN
|
平台"升级中"标志可置位;若无应答打印 WARN
|
||||||
|
- 修复 OTA 后版本序号平台不刷新:OTA 确认保存版本号后立即补发一次状态+fwver
|
||||||
|
(原先要等踢线/重启/拨开关触发上报才更新)
|
||||||
|
- 修复重启后磅秤重量平台一直为 0:首次重量上报被 AT 忙丢弃后不重试,
|
||||||
|
改为发布成功才置标志,失败下轮查询继续重试
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue