diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 42d385c..2483fed 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -29,22 +29,10 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
@@ -977,7 +965,7 @@
-
+
@@ -1075,7 +1063,23 @@
1746710418606
-
+
+
+ 1746724022145
+
+
+
+ 1746724022145
+
+
+
+ 1746724037639
+
+
+
+ 1746724037639
+
+
@@ -1098,19 +1102,21 @@
-
+
+
+
file://$PROJECT_DIR$/Core/Src/OneNet.c
- 66
+ 97
file://$PROJECT_DIR$/Core/Src/OneNet.c
- 163
+ 194
diff --git a/Core/Src/OneNet.c b/Core/Src/OneNet.c
index 231554e..3d88679 100644
--- a/Core/Src/OneNet.c
+++ b/Core/Src/OneNet.c
@@ -61,44 +61,75 @@ _Bool OneNet_DevLink(void)
unsigned char OneNet_FillBuf(char* buf)
{
- cJSON* packet = cJSON_CreateObject();
+ char text[48];
- char packet_id[16];
- sprintf(packet_id, "%d", uwTick);
- cJSON_AddItemToObject(packet, "id", cJSON_CreateString(packet_id));
+ strcpy(buf, "{\"id\":\"1743082944\",\"params\":{");
- cJSON* params = cJSON_CreateObject();
- cJSON* valueObj = cJSON_CreateObject();
+ memset(text, 0, sizeof(text));
+ sprintf(text, "\"volt\":{\"value\":%.2f},", IM_Volt * 0.0001);
+ strcat(buf, text);
- cJSON_AddItemToObject(valueObj, "value", cJSON_CreateNumber(IM_Volt * 0.0001));
- cJSON_AddItemToObject(params, "volt", valueObj);
+ memset(text, 0, sizeof(text));
+ sprintf(text, "\"current\":{\"value\":%.2f},", IM_Curr * 0.0001);
+ strcat(buf, text);
- valueObj = cJSON_CreateObject();
- cJSON_AddItemToObject(valueObj, "value", cJSON_CreateNumber(IM_Curr * 0.0001));
- cJSON_AddItemToObject(params, "current", valueObj);
+ memset(text, 0, sizeof(text));
+ sprintf(text, "\"watt_P\":{\"value\":%.2f},", IM_Power * 0.0001);
+ strcat(buf, text);
- valueObj = cJSON_CreateObject();
- cJSON_AddItemToObject(valueObj, "value", cJSON_CreateNumber(IM_Power * 0.0001));
- cJSON_AddItemToObject(params, "watt_P", valueObj);
+ memset(text, 0, sizeof(text));
+ sprintf(text, "\"energy\":{\"value\":%.3f},", IM_Energy * 0.0001);
+ strcat(buf, text);
- valueObj = cJSON_CreateObject();
- cJSON_AddItemToObject(valueObj, "value", cJSON_CreateNumber(IM_Energy * 0.0001));
- cJSON_AddItemToObject(params, "energy", valueObj);
+ memset(text, 0, sizeof(text));
+ sprintf(text, "\"ic_id\":{\"value\":\"%s\"},", IC_CARD_ID);
+ strcat(buf, text);
- valueObj = cJSON_CreateObject();
- cJSON_AddItemToObject(valueObj, "value", cJSON_CreateString(IC_CARD_ID));
- cJSON_AddItemToObject(params, "ic_id", valueObj);
+ memset(text, 0, sizeof(text));
+ sprintf(text, "\"output\":{\"value\":%s}",
+ HAL_GPIO_ReadPin(RELAY1_GPIO_Port, RELAY1_Pin) == GPIO_PIN_RESET ? "true" : "false");
+ strcat(buf, text);
- valueObj = cJSON_CreateObject();
- cJSON_AddItemToObject(valueObj, "value", cJSON_CreateBool(HAL_GPIO_ReadPin(RELAY1_GPIO_Port, RELAY1_Pin) == GPIO_PIN_RESET));
- cJSON_AddItemToObject(params, "output", valueObj);
+ strcat(buf, "}}");
- cJSON_AddItemToObject(packet, "params", params);
-
- const char* json_str = cJSON_Print(packet);
- strcpy(buf, json_str);
-
- cJSON_Delete(packet);
+ // cJSON* packet = cJSON_CreateObject();
+ //
+ // char packet_id[16];
+ // sprintf(packet_id, "%d", uwTick);
+ // cJSON_AddItemToObject(packet, "id", cJSON_CreateString(packet_id));
+ //
+ // cJSON* params = cJSON_CreateObject();
+ // cJSON* valueObj = cJSON_CreateObject();
+ //
+ // cJSON_AddItemToObject(valueObj, "value", cJSON_CreateNumber(IM_Volt * 0.0001));
+ // cJSON_AddItemToObject(params, "volt", valueObj);
+ //
+ // valueObj = cJSON_CreateObject();
+ // cJSON_AddItemToObject(valueObj, "value", cJSON_CreateNumber(IM_Curr * 0.0001));
+ // cJSON_AddItemToObject(params, "current", valueObj);
+ //
+ // valueObj = cJSON_CreateObject();
+ // cJSON_AddItemToObject(valueObj, "value", cJSON_CreateNumber(IM_Power * 0.0001));
+ // cJSON_AddItemToObject(params, "watt_P", valueObj);
+ //
+ // valueObj = cJSON_CreateObject();
+ // cJSON_AddItemToObject(valueObj, "value", cJSON_CreateNumber(IM_Energy * 0.0001));
+ // cJSON_AddItemToObject(params, "energy", valueObj);
+ //
+ // valueObj = cJSON_CreateObject();
+ // cJSON_AddItemToObject(valueObj, "value", cJSON_CreateString(IC_CARD_ID));
+ // cJSON_AddItemToObject(params, "ic_id", valueObj);
+ //
+ // valueObj = cJSON_CreateObject();
+ // cJSON_AddItemToObject(valueObj, "value", cJSON_CreateBool(HAL_GPIO_ReadPin(RELAY1_GPIO_Port, RELAY1_Pin) == GPIO_PIN_RESET));
+ // cJSON_AddItemToObject(params, "output", valueObj);
+ //
+ // cJSON_AddItemToObject(packet, "params", params);
+ //
+ // const char* json_str = cJSON_Print(packet);
+ // strcpy(buf, json_str);
+ //
+ // cJSON_Delete(packet);
return strlen(buf);
}
diff --git a/Core/Src/freertos.c b/Core/Src/freertos.c
index bcff0f2..a1865ea 100644
--- a/Core/Src/freertos.c
+++ b/Core/Src/freertos.c
@@ -324,7 +324,7 @@ void Display_IM1281B(void)
char buffer[16];
- snprintf(buffer, sizeof(buffer), "%.2fV ", IM_Volt * 0.0001);
+ snprintf(buffer, sizeof(buffer), "%.1f ", IM_Volt * 0.0001);
OLED_ShowString(16, 5, buffer, 12);
snprintf(buffer, sizeof(buffer), "%.2fA ", IM_Curr * 0.0001);