forked from gary/BCU
2
0
Fork 0

增加蓝牙消失检测,检测蓝牙消失后,重新初始化蓝牙

This commit is contained in:
Carl 2025-05-19 08:44:03 +08:00
parent 7a7bd6e768
commit dcb4f440df
6 changed files with 10746 additions and 8380 deletions

File diff suppressed because it is too large Load Diff

View File

@ -953,7 +953,7 @@ void protocol_build_json(uint16_t groupId)
cJSON_AddStringToObject(deviceObj, "devType", "4"); cJSON_AddStringToObject(deviceObj, "devType", "4");
cJSON_AddStringToObject(deviceObj, "devName", "BCU"); cJSON_AddStringToObject(deviceObj, "devName", "BCU");
cJSON_AddStringToObject(deviceObj, "devId", "001"); cJSON_AddStringToObject(deviceObj, "devId", "001");
cJSON_AddStringToObject(deviceObj, "sn", "SN123456"); cJSON_AddStringToObject(deviceObj, "sn", "SN11223344");
cJSON_AddNumberToObject(deviceObj, "currentPack", groupId); cJSON_AddNumberToObject(deviceObj, "currentPack", groupId);
cJSON_AddNumberToObject(deviceObj, "totalPack", 16); cJSON_AddNumberToObject(deviceObj, "totalPack", 16);
@ -1013,7 +1013,7 @@ void protocol_build_volt_json(uint8_t i)
cJSON_AddStringToObject(deviceObj, "devType", "4"); cJSON_AddStringToObject(deviceObj, "devType", "4");
cJSON_AddStringToObject(deviceObj, "devName", "BCU"); cJSON_AddStringToObject(deviceObj, "devName", "BCU");
cJSON_AddStringToObject(deviceObj, "devId", "001"); cJSON_AddStringToObject(deviceObj, "devId", "001");
cJSON_AddStringToObject(deviceObj, "sn", "SN123456"); cJSON_AddStringToObject(deviceObj, "sn", "SN11223344");
cJSON_AddNumberToObject(deviceObj, "currentPack", groupId); // 当前包数 cJSON_AddNumberToObject(deviceObj, "currentPack", groupId); // 当前包数
cJSON_AddNumberToObject(deviceObj, "totalPack", 16); // 总包数 cJSON_AddNumberToObject(deviceObj, "totalPack", 16); // 总包数
@ -1070,7 +1070,7 @@ void protocol_build_temp_json(uint8_t i)
cJSON_AddStringToObject(deviceObj, "devType", "4"); cJSON_AddStringToObject(deviceObj, "devType", "4");
cJSON_AddStringToObject(deviceObj, "devName", "BCU"); cJSON_AddStringToObject(deviceObj, "devName", "BCU");
cJSON_AddStringToObject(deviceObj, "devId", "001"); cJSON_AddStringToObject(deviceObj, "devId", "001");
cJSON_AddStringToObject(deviceObj, "sn", "SN123456"); cJSON_AddStringToObject(deviceObj, "sn", "SN11223344");
cJSON_AddNumberToObject(deviceObj, "currentPack", groupId); // 当前包数 cJSON_AddNumberToObject(deviceObj, "currentPack", groupId); // 当前包数
cJSON_AddNumberToObject(deviceObj, "totalPack", 16); // 总包数 cJSON_AddNumberToObject(deviceObj, "totalPack", 16); // 总包数
@ -1157,7 +1157,7 @@ void mqtt_publish_bms_data(uint32_t basetime)
// mqtt_init_flag = 0; // mqtt_init_flag = 0;
// } // }
// } // }
// 定期检测是否连接mqtt服务器成功
if (!drv_at_send_cmd("AT+QMTCONN?", "3\0", WIFI_TIMEOUT)) if (!drv_at_send_cmd("AT+QMTCONN?", "3\0", WIFI_TIMEOUT))
{ {
drv_mqtt_connect(); drv_mqtt_connect();
@ -1167,6 +1167,17 @@ void mqtt_publish_bms_data(uint32_t basetime)
// drv_mqtt_publish_no_respose("1", 1); // drv_mqtt_publish_no_respose("1", 1);
// } // }
// 定期检测是否蓝牙断连--
if (!drv_at_send_cmd("AT+QBLESTAT", "ADVERTISING\0", WIFI_TIMEOUT))
{
drv_ble_init();
}
// else //@wangk add 5-20,这段注释可以证明上述if起作用了解决蓝牙小概率会消失的问题
// {
// drv_mqtt_publish_no_respose("2", 1);
// }
// drv_wireless_send_string("AT+QMTPUB=0,1,2,0,\"BCU01\",17,\"Hello from FC41D!\""); // drv_wireless_send_string("AT+QMTPUB=0,1,2,0,\"BCU01\",17,\"Hello from FC41D!\"");
mqtt_cycle_tick = 0; mqtt_cycle_tick = 0;

File diff suppressed because it is too large Load Diff

View File

@ -107,7 +107,7 @@ void drv_eg25g_init2(void)
#define MQTT_CLIENT_ID "fc41d_client" // 客户端 ID #define MQTT_CLIENT_ID "fc41d_client" // 客户端 ID
#define MQTT_USER "user" // MQTT 用户名 #define MQTT_USER "user" // MQTT 用户名
#define MQTT_PASSWORD "password" // MQTT 密码 #define MQTT_PASSWORD "password" // MQTT 密码
#define MQTT_TOPIC "bluesun/bms/root/12345678" // 订阅/发布的主题 #define MQTT_TOPIC "bluesun/bms/period/11223344" // 订阅/发布的主题
#define MQTT_MESSAGE "Hello from FC41D!" // 发送的消息 #define MQTT_MESSAGE "Hello from FC41D!" // 发送的消息
#define WIFI_TIMEOUT 1000 #define WIFI_TIMEOUT 1000
@ -136,7 +136,7 @@ uint8_t drv_mqtt_connect()
//2、MQTT 客户端与服务器之间建立 MQTT 连接 AT+QMTCONN=<clientID>,<client_identity>,<username>,<password> //2、MQTT 客户端与服务器之间建立 MQTT 连接 AT+QMTCONN=<clientID>,<client_identity>,<username>,<password>
//snprintf(cmd, sizeof(cmd), "AT+QMTCONN=0,%s,%s,%s",MQTT_CLIENT_ID,MQTT_USER, MQTT_PASSWORD); //snprintf(cmd, sizeof(cmd), "AT+QMTCONN=0,%s,%s,%s",MQTT_CLIENT_ID,MQTT_USER, MQTT_PASSWORD);
if (!drv_at_send_cmd("AT+QMTCONN=0,\"clientBCUwifi12345678\"", "OK", WIFI_TIMEOUT)) if (!drv_at_send_cmd("AT+QMTCONN=0,\"clientBCUwifi11223344\"", "OK", WIFI_TIMEOUT))
{ {
// KIT_PRINTF("Failed to set MQTT client credentials!\r\n"); // KIT_PRINTF("Failed to set MQTT client credentials!\r\n");
return 1; return 1;

View File

@ -186,7 +186,7 @@ static uint8_t drv_wifi_init()
return 0; return 0;
} }
static uint8_t drv_ble_init() uint8_t drv_ble_init()
{ {
// 1. 初始化,蓝牙作为服务器 // 1. 初始化,蓝牙作为服务器
@ -249,7 +249,7 @@ static uint8_t drv_ble_init()
} }
//设置wifi名称必须以BSM开头后缀可以加sn码 //设置wifi名称必须以BSM开头后缀可以加sn码
if (!drv_at_send_cmd("AT+QBLENAME=BSM12345678", "OK", WIFI_TIMEOUT)) if (!drv_at_send_cmd("AT+QBLENAME=BSM11223344", "OK", WIFI_TIMEOUT))
{ {
// KIT_PRINTF("Failed to start BLE advertising!\r\n"); // KIT_PRINTF("Failed to start BLE advertising!\r\n");
return 1; return 1;
@ -289,7 +289,7 @@ uint8_t drv_qfc41d_init(void)
#define MQTT_CLIENT_ID "fc41d_client" // 客户端 ID #define MQTT_CLIENT_ID "fc41d_client" // 客户端 ID
#define MQTT_USER "user" // MQTT 用户名 #define MQTT_USER "user" // MQTT 用户名
#define MQTT_PASSWORD "password" // MQTT 密码 #define MQTT_PASSWORD "password" // MQTT 密码
#define MQTT_TOPIC "bluesun/bms/root/12345678" // 订阅/发布的主题 #define MQTT_TOPIC "bluesun/bms/period/11223344" // 订阅/发布的主题
#define MQTT_MESSAGE "Hello from FC41D!" // 发送的消息 #define MQTT_MESSAGE "Hello from FC41D!" // 发送的消息
// 连接 MQTT 服务器 // 连接 MQTT 服务器

View File

@ -68,5 +68,7 @@ uint8_t drv_mqtt_publish(char* str,uint16_t length);
uint8_t drv_mqtt_publish_no_respose(char* str,uint16_t length); uint8_t drv_mqtt_publish_no_respose(char* str,uint16_t length);
uint8_t drv_ble_init();
#endif //DRV_QFC41D_H_ #endif //DRV_QFC41D_H_