恒爱蓝牙小板增加一些接口给4G使用
author@CHENG <2393524978@qq.com>
Fri, 11 Oct 2024 03:59:39 +0000 (11:59 +0800)
committer@CHENG <2393524978@qq.com>
Fri, 11 Oct 2024 03:59:39 +0000 (11:59 +0800)
1.doc/K18/BLE_Watch/keil/uart.c
2.sdk/sdk/gui/lv_drivers/indev/FR8012HAQ/fr8012haq.c

index 914533e..5b64f8a 100644 (file)
@@ -340,13 +340,30 @@ void user_parse_data(void)
                }       
                if(strstr((char *)uart0_rivce_data,"\"get_data\":\"HA_req_code\""))//:获取恒爱库请求码
                {
-                       unsigned int req_len = 0;
-                       request_validation((unsigned char *)"ZHSX",4,(unsigned char *)sys_config.IMEI,strlen(sys_config.IMEI),(unsigned char *)sys_config.HA_req_code,&req_len);
-                       sys_config.HA_req_code[req_len] = 0;
+                       if(1 != is_HA_activate)
+                       {
+                               unsigned int req_len = 0;
+                               request_validation((unsigned char *)"ZHSX",4,(unsigned char *)sys_config.IMEI,strlen(sys_config.IMEI),(unsigned char *)sys_config.HA_req_code,&req_len);
+                               sys_config.HA_req_code[req_len] = 0;
+                               save_sys_config();//保存配置
+                       }
                        UART_send_buf_len = snprintf((char *)UART_send_buf,UART_SEND_MAX,"{\"cmd\":\"2\",\"HA_req_code\":\"%s\"}\n",sys_config.HA_req_code);
                        uart0_write_data(UART_send_buf, UART_send_buf_len);
-                       co_printf("HA_req_code:HA_req_code:%s \n",sys_config.HA_req_code);      
-                       save_sys_config();//保存配置
+                       co_printf("HA_req_code:HA_req_code:%s \n",sys_config.HA_req_code);
+
+                       // unsigned int req_len = 0;
+                       // request_validation((unsigned char *)"ZHSX",4,(unsigned char *)sys_config.IMEI,strlen(sys_config.IMEI),(unsigned char *)sys_config.HA_req_code,&req_len);
+                       // sys_config.HA_req_code[req_len] = 0;
+                       // UART_send_buf_len = snprintf((char *)UART_send_buf,UART_SEND_MAX,"{\"cmd\":\"2\",\"HA_req_code\":\"%s\"}\n",sys_config.HA_req_code);
+                       // uart0_write_data(UART_send_buf, UART_send_buf_len);
+                       // co_printf("HA_req_code:HA_req_code:%s \n",sys_config.HA_req_code);   
+                       // save_sys_config();//保存配置
+               }
+               if(strstr((char *)uart0_rivce_data,"\"get_data\":\"HA_key_code\""))//:获取恒爱库激活码
+               {
+                       UART_send_buf_len = snprintf((char *)UART_send_buf,UART_SEND_MAX,"{\"cmd\":\"2\",\"HA_key_code\":\"%s\"}\n",sys_config.HA_key_code);
+                       uart0_write_data(UART_send_buf, UART_send_buf_len);
+                       co_printf("HA_key_code:HA_key_code:%s \n",sys_config.HA_key_code);
                }
                //co_printf("[CHENG]:send_wear_status=%d\r\n", vc9202_alg_results.wear_status);
                // UART_send_buf_len = snprintf((char *)UART_send_buf,UART_SEND_MAX,"{\"cmd\":\"2\",\"wear_data\":\"%d\"}\n",vc9202_alg_results.wear_status);
index 06d1959..349a0d0 100644 (file)
@@ -731,6 +731,19 @@ int fr8012haq_parse_returned_data(int timeout)
                         }
                         memcpy(HA_req_code,str_tmp,num_buf_len);
                     }
+                    // 恒爱算法库激活码返回
+                    str_tmp = strstr(cmd_str_tmp,"\"HA_key_code\":\"");
+                    if(str_tmp)
+                    {
+                        memset(HA_key_code,0,sizeof(HA_key_code));
+                        str_tmp += strlen("\"HA_key_code\":\"");
+                        num_buf_len = find_c(str_tmp,'\"');
+                        if(num_buf_len >= sizeof(HA_key_code))
+                        {
+                            num_buf_len = sizeof(HA_key_code)-1;
+                        }
+                        memcpy(HA_key_code,str_tmp,num_buf_len);
+                    }
                     /*中医数据*/
                     str_tmp = strstr(cmd_str_tmp,"\"yyl_data\":\"");
                     if(str_tmp && s_FR8012HAQ_yyl_data_len < s_FR8012HAQ_yyl_data_mxa_len)
@@ -885,11 +898,19 @@ char get_is_HA_activate(void)
 //获取请求码
 char *get_HA_req_code(void )
 {
-    if(strlen(HA_req_code)>2 && is_HA_activate == 0)
-        return HA_req_code;
-    else
-        return NULL;
+    // if(strlen(HA_req_code)>2 && is_HA_activate == 0)
+    //     return HA_req_code;
+    // else
+    //     return NULL;
+    return HA_req_code;
+}
+
+//获取激活码
+char *get_HA_key_code(void )
+{
+    return HA_key_code;
 }
+
 //激活恒爱库,返回0失败,返回1成功
 int HA_lib_activate(char *key_code)
 {
@@ -927,7 +948,7 @@ void HA_lib_init(void)
     int send_data_len = 0;
     //获取sensor恒爱库激活状态
     
-    if(get_is_HA_activate() == 0)//没激活,需要激活
+    // if(get_is_HA_activate() == 0)//没激活,需要激活
     {
         //发送IMEI号
         char imei[16] = {0};
@@ -945,6 +966,18 @@ void HA_lib_init(void)
                 break;
         }
     }
+    // else
+    {
+        //获取 HA_key_code
+        count = 5;
+        while(count--)
+        {
+            UOS_SleepMs(30);
+            fr8012haq_write_data("{\"cmd\":\"2\",\"get_data\":\"HA_key_code\"}\n",sizeof("{\"cmd\":\"2\",\"get_data\":\"HA_key_code\"}\n"));
+            if(fr8012haq_parse_returned_data(500)==2)
+                break;
+        }
+    }
 }
 static void fr8012haq_isr_callback(void)
 {