|
@@ -10,21 +10,22 @@
|
|
|
*******************************************************************************
|
|
|
*/
|
|
|
|
|
|
+#include "common_config.h"
|
|
|
#include "stm32f4xx.h"
|
|
|
#include "web_params_api.h"
|
|
|
-#if defined HARDWARE_BT6707 || HARDWARE_BT6709
|
|
|
+#if defined HTTP_SERVER_ENABLE
|
|
|
#include "http_server.h"
|
|
|
-#elif defined HARDWARE_BT6703
|
|
|
+#elif defined SSL_SERVER_ENABLE
|
|
|
#include "my_ssl_server.h"
|
|
|
#endif
|
|
|
#include "parameters.h"
|
|
|
#include "snmp_api.h"
|
|
|
#include "trap_api.h"
|
|
|
#include "settings_api.h"
|
|
|
-#include "common_config.h"
|
|
|
#include "snmp.h"
|
|
|
#include "log.h"
|
|
|
#include "hal.h"
|
|
|
+#include "cJSON.h"
|
|
|
|
|
|
#include "FreeRTOS.h"
|
|
|
#include "task.h"
|
|
@@ -54,113 +55,24 @@ char *HTTP_GetParamsPage(uint32_t reqNum, char *bufIn, char *bufOut, uint16_t le
|
|
|
(void)lenBufIn;
|
|
|
(void)reqNum;
|
|
|
|
|
|
+ cJSON *monitor_param = NULL;
|
|
|
+
|
|
|
memset(bufOut, 0, SEND_BUF_MAX_LEN);
|
|
|
|
|
|
// Headers для поддержки saffari
|
|
|
strcpy(bufOut, "HTTP/1.0 200 OK\r\nContent-Type:text/html\r\n\r\n");
|
|
|
|
|
|
- // Параметры UPS
|
|
|
-
|
|
|
- GetInputVoltageStr(str, &len);
|
|
|
- strcat(bufOut, "{\"AC\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetOutputVoltageStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"DC\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetInputFreqStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"in_freq\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetOutputFreqStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"out_freq\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetPowerStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"pwr\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetBatCapacityStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"bat_rem_cap\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetInternalTempStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"inner_temp\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetRuntimeStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"bat_time_left\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
-#ifdef HARDWARE_BT6709
|
|
|
-
|
|
|
- GetInputCurrentStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"in_cur\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetOutputCurrentStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"out_cur\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetVoltageAKBtStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"bat_volt\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetCapacityNominalAKBStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"bat_cap\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetDataNextChangeAKBStrRU(str, &len);
|
|
|
- strcat(bufOut, "\",\"bat_exp\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
-#endif
|
|
|
-
|
|
|
-#ifndef HARDWARE_BT6709
|
|
|
-
|
|
|
- GetDINStatusStr(str, &len, 0);
|
|
|
- strcat(bufOut, "\",\"di1\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetDOUTStatusStr(str, &len, 0);
|
|
|
- strcat(bufOut, "\",\"ro1\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetDOUTStatusStr(str, &len, 1);
|
|
|
- strcat(bufOut, "\",\"ro2\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
-#if defined HARDWARE_BT6707
|
|
|
- GetDOUTStatusStr(str, &len, 2);
|
|
|
- strcat(bufOut, "\",\"ro3\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-#endif
|
|
|
-#endif
|
|
|
-
|
|
|
- // Дополнительные параметры
|
|
|
-
|
|
|
- // Мониторинг
|
|
|
- // load_monitor (нагрузка, 0 - норма, 1 - fail)
|
|
|
- // temp_monitor (внутренняя температура, 0 - норма, 1 - fail)
|
|
|
- // connect_monitor (связь с UPSом, 0 - норма, 1 - fail)
|
|
|
-
|
|
|
- GetAlarmMonitorStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"m_alarm\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetAlarmStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"u_alarm\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- // Признак изменения сетевых настроек
|
|
|
- GetWebReinitFlag(str, &len);
|
|
|
- strcat(bufOut, "\",\"netsettings_changed\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- strncat(bufOut, "\"}", 2);
|
|
|
+ monitor_param = cJSON_CreateObject();
|
|
|
+#define XJSON_PARAMS_TAG(tag, get_param) JSON_ADD_TAG(tag, get_param, monitor_param);
|
|
|
+ WEB_PARAMS_TAGS_TABLE
|
|
|
+#undef XJSON_PARAMS_TAG
|
|
|
+ if(cJSON_PrintPreallocated(monitor_param, bufOut, SEND_BUF_MAX_LEN, 0)) {
|
|
|
+ *lenBufOut = strlen(bufOut);
|
|
|
+ } else {
|
|
|
+ *lenBufOut = 0;
|
|
|
+ }
|
|
|
+ cJSON_Delete(monitor_param);
|
|
|
|
|
|
- *lenBufOut = strlen(bufOut);
|
|
|
return bufOut;
|
|
|
}
|
|
|
|
|
@@ -179,242 +91,22 @@ char *HTTP_GetSettingsPage(uint32_t reqNum, char *bufIn, char *bufOut, uint16_t
|
|
|
(void)lenBufIn;
|
|
|
(void)reqNum;
|
|
|
|
|
|
+ cJSON *settings_param = NULL;
|
|
|
+
|
|
|
/* Headers для поддержки saffari */
|
|
|
strcpy(bufOut, "HTTP/1.0 200 OK\r\nContent-Type:text/html\r\n\r\n");
|
|
|
|
|
|
- /* SNMP */
|
|
|
- GetReadCommunity(str, &len);
|
|
|
- strcat(bufOut, "{\"read_community\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetWriteCommunity(str, &len);
|
|
|
- strcat(bufOut, "\",\"write_community\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetManagerIp(str, &len);
|
|
|
- strcat(bufOut, "\",\"managerIP\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetManagerIp2(str, &len);
|
|
|
- strcat(bufOut, "\",\"managerIP2\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetManagerIp3(str, &len);
|
|
|
- strcat(bufOut, "\",\"managerIP3\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetManagerIp4(str, &len);
|
|
|
- strcat(bufOut, "\",\"managerIP4\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetManagerIp5(str, &len);
|
|
|
- strcat(bufOut, "\",\"managerIP5\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
-#ifndef HARDWARE_BT6709
|
|
|
- /*Параметры реле и сухих контактов*/
|
|
|
- GetDINTypeActStr(str, &len, 0);
|
|
|
- strcat(bufOut, "\",\"di1\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetROTypeActStr(str, &len, 0);
|
|
|
- strcat(bufOut, "\",\"ro1\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetROTypeActStr(str, &len, 1);
|
|
|
- strcat(bufOut, "\",\"ro2\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
-#if defined HARDWARE_BT6707
|
|
|
- GetROTypeActStr(str, &len, 2);
|
|
|
- strcat(bufOut, "\",\"ro3\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-#endif
|
|
|
-#endif
|
|
|
-
|
|
|
- /* WEB */
|
|
|
- GetIpStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"ipaddr\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetGatewayStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"gw\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetMaskStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"mask\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetDhcpStateStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"dhcp\":");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
-#if defined HARDWARE_BT6707 || HARDWARE_BT6709
|
|
|
- GetTelnetPortStr(str, &len);
|
|
|
- strcat(bufOut, ",\"tn_port\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetTelnetEnableStateStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"tn_enabled\":");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
-#ifdef HARDWARE_BT6709
|
|
|
- GetSSHPortStr(str, &len);
|
|
|
- strcat(bufOut, ",\"ssh_port\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetSSHEnableStateStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"ssh_enabled\":");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-#endif // HARDWARE_BT6709
|
|
|
-#endif
|
|
|
-
|
|
|
-#ifdef HARDWARE_BT6703
|
|
|
- GetAuthEnableStateStr(str, &len);
|
|
|
- strcat(bufOut, ",\"swauth\":");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- /* RADIUS */
|
|
|
- GetRDSIpStr(str, &len);
|
|
|
- strcat(bufOut, ",\"rs_server\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetRDSPortStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"rs_port\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetRDSPasswordkStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"rs_pwd\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetRDSKeyAccesstStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"rs_key\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetRDSEnableStateStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"rs_enabled\":");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-#endif
|
|
|
-
|
|
|
-#ifdef HARDWARE_BT6709
|
|
|
- /* White list */
|
|
|
- const char *white_list_js[] = {
|
|
|
- ",\"wtl_ip1\":\"",
|
|
|
- "\",\"wtl_ip2\":\"",
|
|
|
- "\",\"wtl_ip3\":\"",
|
|
|
- "\",\"wtl_ip4\":\"",
|
|
|
- "\",\"wtl_ip5\":\"",
|
|
|
- };
|
|
|
- for (uint8_t i = 0; i < MAX_WHITE_LIST; i++) {
|
|
|
- GetWhiteListSTR(str, &len, i);
|
|
|
- strcat(bufOut, white_list_js[i]);
|
|
|
- strncat(bufOut, str, len);
|
|
|
+ settings_param = cJSON_CreateObject();
|
|
|
+#define XJSON_SETTINGS_TAG(tag, get_param) JSON_ADD_TAG(tag, get_param, settings_param);
|
|
|
+ WEB_SETTINGS_TAGS_TABLE
|
|
|
+#undef XJSON_SETTINGS_CREATE
|
|
|
+ if(cJSON_PrintPreallocated(settings_param, bufOut, SEND_BUF_MAX_LEN, 0)) {
|
|
|
+ *lenBufOut = strlen(bufOut);
|
|
|
+ } else {
|
|
|
+ *lenBufOut = 0;
|
|
|
}
|
|
|
+ cJSON_Delete(settings_param);
|
|
|
|
|
|
- strcat(bufOut, "\"");
|
|
|
-#endif
|
|
|
-
|
|
|
- /* Параметры даты и времени */
|
|
|
- GetDateStr(str, &len);
|
|
|
- strcat(bufOut, ",\"date\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetTimeStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"time\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- /* Параметры SNTP */
|
|
|
- GetSntpStateStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"ntp\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetSntpServerIpStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"ntpservip\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetSntpTimeZoneStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"utc\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetUnixTimeStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"utm\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetSntpLastDataStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"lastsynctime\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetUPSVoltCellMinStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"ups_cell_min\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetUPSVoltCellMaxStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"ups_cell_max\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
-#ifdef HARDWARE_BT6709
|
|
|
- GetDataSetAKBStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"bat_prod\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetLifeTimeAKBStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"bat_exp\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetCapacityNominalAKBStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"bat_cap\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetVoltageAKBNominalStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"bat_charge\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetUPSPowerStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"ups_max_power\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-#endif
|
|
|
-
|
|
|
-#if defined HARDWARE_BT6707 || HARDWARE_BT6709
|
|
|
- GetVACAlarmHighRangeStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"mainvolt_high\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetVACAlarmLowRangeStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"mainvolt_low\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetVACAlarmHisteStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"mainvolt_hist\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-#endif
|
|
|
- GetTemperatureAlarmHighRangeStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"temp_high\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetTemperatureAlarmLowRangeStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"temp_low\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetTemperatureAlarmHisteStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"temp_hist\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetLoadAlarmHighRangeStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"loadvolt_high\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- GetLoadAlarmHisteStr(str, &len);
|
|
|
- strcat(bufOut, "\",\"loadvolt_hist\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- /* Признак изменения сетевых настроек */
|
|
|
- GetWebReinitFlag(str, &len);
|
|
|
- strcat(bufOut, "\",\"netsettings_changed\":\"");
|
|
|
- strncat(bufOut, str, len);
|
|
|
-
|
|
|
- strncat(bufOut, "\"}", 2);
|
|
|
-
|
|
|
- *lenBufOut = strlen(bufOut);
|
|
|
return bufOut;
|
|
|
}
|
|
|
|