Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
R
RT200T_ESP32
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
RT200T
RT200T_ESP32
Commits
12945184
Commit
12945184
authored
May 27, 2024
by
李茂军
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:添加hhttp文件
parent
4a77af30
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
1416 additions
and
102 deletions
+1416
-102
Dockerfile
RT200T_2_ESP32/.devcontainer/Dockerfile
+47
-0
devcontainer.json
RT200T_2_ESP32/.devcontainer/devcontainer.json
+45
-0
CMakeLists.txt
RT200T_2_ESP32/CMakeLists.txt
+2
-2
CMakeLists.txt
RT200T_2_ESP32/main/CMakeLists.txt
+1
-0
Protocol_User.c
RT200T_2_ESP32/main/Protocol_User.c
+29
-0
main_user.c
RT200T_2_ESP32/main/main_user.c
+18
-9
sdkconfig
RT200T_2_ESP32/sdkconfig
+290
-91
CMakeLists.txt
RT200T_2_ESP32/source/wifi/CMakeLists.txt
+4
-0
favicon.ico
RT200T_2_ESP32/source/wifi/favicon.ico
+0
-0
favicon.ico
RT200T_2_ESP32/source/wifi/html/favicon.ico
+0
-0
index.html
RT200T_2_ESP32/source/wifi/html/index.html
+20
-0
ota.html
RT200T_2_ESP32/source/wifi/html/ota.html
+103
-0
http_server.c
RT200T_2_ESP32/source/wifi/http_server.c
+386
-0
http_server.h
RT200T_2_ESP32/source/wifi/http_server.h
+30
-0
ota_page.html
RT200T_2_ESP32/source/wifi/ota_page.html
+119
-0
softap.c
RT200T_2_ESP32/source/wifi/softap.c
+145
-0
softap.h
RT200T_2_ESP32/source/wifi/softap.h
+24
-0
wifi_service.c
RT200T_2_ESP32/source/wifi/wifi_service.c
+123
-0
wifi_service.h
RT200T_2_ESP32/source/wifi/wifi_service.h
+30
-0
No files found.
RT200T_2_ESP32/.devcontainer/Dockerfile
0 → 100644
View file @
12945184
FROM
espressif/idf
ARG
DEBIAN_FRONTEND=nointeractive
ARG
CONTAINER_USER=esp
ARG
USER_UID=1000
ARG
USER_GID=$USER_UID
RUN
apt-get update
\
&&
apt
install
-y
-q
\
cmake
\
git
\
libglib2.0-0
\
libnuma1
\
libpixman-1-0
\
&&
rm
-rf
/var/lib/apt/lists/
*
# QEMU
ENV
QEMU_REL=esp_develop_8.2.0_20240122
ENV
QEMU_SHA256=e7c72ef5705ad1444d391711088c8717fc89f42e9bf6d1487f9c2a326b8cfa83
ENV
QEMU_DIST=qemu-xtensa-softmmu-${QEMU_REL}-x86_64-linux-gnu.tar.xz
ENV
QEMU_URL=https://github.com/espressif/qemu/releases/download/esp-develop-8.2.0-20240122/${QEMU_DIST}
ENV
LC_ALL=C.UTF-8
ENV
LANG=C.UTF-8
RUN
wget
--no-verbose
${
QEMU_URL
}
\
&&
echo
"
${
QEMU_SHA256
}
*
${
QEMU_DIST
}
"
|
sha256sum
--check
--strict
-
\
&&
tar
-xf
$QEMU_DIST
-C
/opt
\
&&
rm
${
QEMU_DIST
}
ENV
PATH=/opt/qemu/bin:${PATH}
RUN
groupadd
--gid
$USER_GID
$CONTAINER_USER
\
&&
adduser
--uid
$USER_UID
--gid
$USER_GID
--disabled-password
--gecos
""
${
CONTAINER_USER
}
\
&&
usermod
-a
-G
root
$CONTAINER_USER
&&
usermod
-a
-G
dialout
$CONTAINER_USER
RUN
chmod
-R
775 /opt/esp/python_env/
USER
${CONTAINER_USER}
ENV
USER=${CONTAINER_USER}
WORKDIR
/home/${CONTAINER_USER}
RUN
echo
"source /opt/esp/idf/export.sh > /dev/null 2>&1"
>>
~/.bashrc
ENTRYPOINT
[ "/opt/esp/entrypoint.sh" ]
CMD
["/bin/bash", "-c"]
\ No newline at end of file
RT200T_2_ESP32/.devcontainer/devcontainer.json
0 → 100644
View file @
12945184
//
For
format
details
,
see
https
:
//aka.ms/devcontainer.json.
For
config
options
,
see
the
README
at
:
//
https
:
//github.com/microsoft/vscode-dev-containers/tree/v
0.183
.
0
/containers/ubuntu
{
"name"
:
"ESP-IDF QEMU"
,
"build"
:
{
"dockerfile"
:
"Dockerfile"
},
//
Add
the
IDs
of
extensions
you
want
installed
when
the
container
is
created
"workspaceMount"
:
"source=${localWorkspaceFolder},target=${localWorkspaceFolder},type=bind"
,
/*
the
path
of
workspace
folder
to
be
opened
after
container
is
running
*/
"workspaceFolder"
:
"${localWorkspaceFolder}"
,
"mounts"
:
[
"source=extensionCache,target=/root/.vscode-server/extensions,type=volume"
],
"customizations"
:
{
"vscode"
:
{
"settings"
:
{
"terminal.integrated.defaultProfile.linux"
:
"bash"
,
"idf.espIdfPath"
:
"/opt/esp/idf"
,
"idf.customExtraPaths"
:
""
,
"idf.pythonBinPath"
:
"/opt/esp/python_env/idf5.3_py3.10_env/bin/python"
,
"idf.toolsPath"
:
"/opt/esp"
,
"idf.gitPath"
:
"/usr/bin/git"
},
"extensions"
:
[
"espressif.esp-idf-extension"
],
},
"codespaces"
:
{
"settings"
:
{
"terminal.integrated.defaultProfile.linux"
:
"bash"
,
"idf.espIdfPath"
:
"/opt/esp/idf"
,
"idf.customExtraPaths"
:
""
,
"idf.pythonBinPath"
:
"/opt/esp/python_env/idf5.3_py3.10_env/bin/python"
,
"idf.toolsPath"
:
"/opt/esp"
,
"idf.gitPath"
:
"/usr/bin/git"
},
"extensions"
:
[
"espressif.esp-idf-extension"
],
}
},
"runArgs"
:
[
"--privileged"
]
}
\ No newline at end of file
RT200T_2_ESP32/CMakeLists.txt
View file @
12945184
...
...
@@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.16)
# (Not part of the boilerplate)
# This example uses an extra component for common functions such as Wi-Fi and Ethernet connection.
set
(
EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common
)
set
(
EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common
"./source/wifi"
)
include
(
$ENV{IDF_PATH}/tools/cmake/project.cmake
)
project
(
QJ500-7C
)
project
(
RT200T-2
)
RT200T_2_ESP32/main/CMakeLists.txt
View file @
12945184
...
...
@@ -8,5 +8,6 @@ idf_component_register(SRCS "app_BT_User.c" "bt_app_main.c" "bt_app_hf.c" "bt_ap
"MCU_Core_Protocol.c"
"app_Ble_User.c"
"main_user.c"
"../source/wifi"
INCLUDE_DIRS
"."
EMBED_TXTFILES
${
project_dir
}
/server_certs/ca_cert.pem
)
RT200T_2_ESP32/main/Protocol_User.c
View file @
12945184
...
...
@@ -383,3 +383,32 @@ void Prot_Send_Msg_Process(void )
}
}
}
void
SetUpgradeStart
(
void
)
{
// uint32_t fills;
// G031toBoot();
// vTaskDelay(pdMS_TO_TICKS(100));
// G031tReset();
// vTaskDelay(pdMS_TO_TICKS(200));
// TaskSchOnUpdateNAT32G031();//关闭任务
// fills=temp_Size%16;
// if (fills!=0)
// {
// memset(&_acN32G031dat[temp_Size],0xFF,16-fills);
// Flash_Size+=(16-fills);//下载数据需要对齐16字节
// }
// UpgradeStep=0;
}
void
SetUpgradeFlashSize
(
uint32_t
size
)
{
// Flash_Size=size;
// temp_Size=0;
}
void
Cache_data
(
unsigned
char
*
p
,
uint32_t
len
)
{
// memcpy(&_acN32G031dat[temp_Size],p,len);
// temp_Size+=len;
}
RT200T_2_ESP32/main/main_user.c
View file @
12945184
...
...
@@ -28,7 +28,7 @@
#include "app_BT_User.h"
#include "bt_app_hf.h"
#include "wifi_service.h"
#define TAG "MAIN_USER"
extern
esp_bd_addr_t
peer_addr
;
...
...
@@ -122,20 +122,29 @@ static void Sys_Run_Tasks(void *arg)
}
vTaskDelete
(
NULL
);
}
TaskHandle_t
wifi_service_hdl
;
static
void
wifi_service_task
(
void
*
arg
)
{
while
(
1
)
{
wifi_service_timer
();
wifi_service
();
vTaskDelay
(
pdMS_TO_TICKS
(
100
));
}
}
void
app_main
(
void
)
{
Protocol_User_Ctrl_Init
();
BT_User_Init
();
Ble_User_Init
();
Get_Mac_Init
();
bsp_BT_Init
();
//
BT_User_Init();
//
Ble_User_Init();
//
Get_Mac_Init();
//
bsp_BT_Init();
// bsp_Ble_Init();
bsp_Uart_Init
();
printf
(
"KL30 INIT OVER~~~~~~
\r\n
"
);
xTaskCreatePinnedToCore
(
Sys_Run_Tasks
,
"Sys_Run_Tasks"
,
4096
,
NULL
,
3
,
NULL
,
1
);
//
printf("KL30 INIT OVER~~~~~~\r\n");
// xTaskCreatePinnedToCore(Sys_Run_Tasks, "Sys_Run_Tasks", 4096, NULL, 3, NULL, 1);
xTaskCreatePinnedToCore
(
wifi_service_task
,
"wifi_service_task"
,
4096
,
NULL
,
5
,
&
wifi_service_hdl
,
1
);
}
...
...
RT200T_2_ESP32/sdkconfig
View file @
12945184
#
# Automatically generated file. DO NOT EDIT.
# Espressif IoT Development Framework (ESP-IDF) Project Configuration
# Espressif IoT Development Framework (ESP-IDF)
5.2.1
Project Configuration
#
CONFIG_SOC_BROWNOUT_RESET_SUPPORTED="Not determined"
CONFIG_SOC_TWAI_BRP_DIV_SUPPORTED="Not determined"
...
...
@@ -8,13 +8,16 @@ CONFIG_SOC_DPORT_WORKAROUND="Not determined"
CONFIG_SOC_CAPS_ECO_VER_MAX=301
CONFIG_SOC_ADC_SUPPORTED=y
CONFIG_SOC_DAC_SUPPORTED=y
CONFIG_SOC_UART_SUPPORTED=y
CONFIG_SOC_MCPWM_SUPPORTED=y
CONFIG_SOC_GPTIMER_SUPPORTED=y
CONFIG_SOC_SDMMC_HOST_SUPPORTED=y
CONFIG_SOC_BT_SUPPORTED=y
CONFIG_SOC_PCNT_SUPPORTED=y
CONFIG_SOC_WIFI_SUPPORTED=y
CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y
CONFIG_SOC_TWAI_SUPPORTED=y
CONFIG_SOC_EFUSE_SUPPORTED=y
CONFIG_SOC_EMAC_SUPPORTED=y
CONFIG_SOC_ULP_SUPPORTED=y
CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y
...
...
@@ -24,6 +27,9 @@ CONFIG_SOC_RTC_MEM_SUPPORTED=y
CONFIG_SOC_I2S_SUPPORTED=y
CONFIG_SOC_RMT_SUPPORTED=y
CONFIG_SOC_SDM_SUPPORTED=y
CONFIG_SOC_GPSPI_SUPPORTED=y
CONFIG_SOC_LEDC_SUPPORTED=y
CONFIG_SOC_I2C_SUPPORTED=y
CONFIG_SOC_SUPPORT_COEXISTENCE=y
CONFIG_SOC_AES_SUPPORTED=y
CONFIG_SOC_MPI_SUPPORTED=y
...
...
@@ -31,6 +37,12 @@ CONFIG_SOC_SHA_SUPPORTED=y
CONFIG_SOC_FLASH_ENC_SUPPORTED=y
CONFIG_SOC_SECURE_BOOT_SUPPORTED=y
CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y
CONFIG_SOC_BOD_SUPPORTED=y
CONFIG_SOC_ULP_FSM_SUPPORTED=y
CONFIG_SOC_CLK_TREE_SUPPORTED=y
CONFIG_SOC_MPU_SUPPORTED=y
CONFIG_SOC_WDT_SUPPORTED=y
CONFIG_SOC_SPI_FLASH_SUPPORTED=y
CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5
CONFIG_SOC_XTAL_SUPPORT_26M=y
CONFIG_SOC_XTAL_SUPPORT_40M=y
...
...
@@ -47,41 +59,46 @@ CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=9
CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12
CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2
CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4
CONFIG_SOC_ADC_DIGI_MONITOR_NUM=0
CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=2
CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=20
CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9
CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12
CONFIG_SOC_
RTC_SLOW_CLOCK_SUPPORT_8MD256
=y
CONFIG_SOC_
ADC_SHARED_POWER
=y
CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y
CONFIG_SOC_IDCACHE_PER_CORE=y
CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=5
CONFIG_SOC_CPU_CORES_NUM=2
CONFIG_SOC_CPU_INTR_NUM=32
CONFIG_SOC_CPU_HAS_FPU=y
CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y
CONFIG_SOC_CPU_BREAKPOINTS_NUM=2
CONFIG_SOC_CPU_WATCHPOINTS_NUM=2
CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64
CONFIG_SOC_DAC_
PERIPH
_NUM=2
CONFIG_SOC_DAC_
CHAN
_NUM=2
CONFIG_SOC_DAC_RESOLUTION=8
CONFIG_SOC_DAC_DMA_16BIT_ALIGN=y
CONFIG_SOC_GPIO_PORT=1
CONFIG_SOC_GPIO_PIN_COUNT=40
CONFIG_SOC_GPIO_VALID_GPIO_MASK=0xFFFFFFFFFF
CONFIG_SOC_GPIO_IN_RANGE_MAX=39
CONFIG_SOC_GPIO_OUT_RANGE_MAX=33
CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA
CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y
CONFIG_SOC_I2C_NUM=2
CONFIG_SOC_I2C_FIFO_LEN=32
CONFIG_SOC_I2C_CMD_REG_NUM=16
CONFIG_SOC_I2C_SUPPORT_SLAVE=y
CONFIG_SOC_I2C_SUPPORT_APB=y
CONFIG_SOC_CLK_APLL_SUPPORTED=y
CONFIG_SOC_APLL_MULTIPLIER_OUT_MIN_HZ=350000000
CONFIG_SOC_APLL_MULTIPLIER_OUT_MAX_HZ=500000000
CONFIG_SOC_APLL_MIN_HZ=5303031
CONFIG_SOC_APLL_MAX_HZ=125000000
CONFIG_SOC_I2C_STOP_INDEPENDENT=y
CONFIG_SOC_I2S_NUM=2
CONFIG_SOC_I2S_HW_VERSION_1=y
CONFIG_SOC_I2S_SUPPORTS_APLL=y
CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y
CONFIG_SOC_I2S_SUPPORTS_PDM=y
CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y
CONFIG_SOC_I2S_PDM_MAX_TX_LINES=1
CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y
CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1
CONFIG_SOC_I2S_SUPPORTS_ADC_DAC=y
CONFIG_SOC_I2S_SUPPORTS_ADC=y
CONFIG_SOC_I2S_SUPPORTS_DAC=y
...
...
@@ -96,7 +113,7 @@ CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y
CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y
CONFIG_SOC_LEDC_SUPPORT_HS_MODE=y
CONFIG_SOC_LEDC_CHANNEL_NUM=8
CONFIG_SOC_LEDC_TIMER_BIT_WID
E_NUM
=20
CONFIG_SOC_LEDC_TIMER_BIT_WID
TH
=20
CONFIG_SOC_MCPWM_GROUPS=2
CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3
CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3
...
...
@@ -107,6 +124,8 @@ CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3
CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y
CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3
CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3
CONFIG_SOC_MMU_PERIPH_NUM=2
CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=3
CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000
CONFIG_SOC_MPU_REGIONS_MAX_NUM=8
CONFIG_SOC_PCNT_GROUPS=1
...
...
@@ -127,11 +146,13 @@ CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y
CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y
CONFIG_SOC_SDM_GROUPS=1
CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8
CONFIG_SOC_SDM_CLK_SUPPORT_APB=y
CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y
CONFIG_SOC_SPI_AS_CS_SUPPORTED=y
CONFIG_SOC_SPI_PERIPH_NUM=3
CONFIG_SOC_SPI_DMA_CHAN_NUM=2
CONFIG_SOC_SPI_MAX_CS_NUM=3
CONFIG_SOC_SPI_SUPPORT_CLK_APB=y
CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64
CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192
CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y
...
...
@@ -146,9 +167,12 @@ CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y
CONFIG_SOC_TOUCH_VERSION_1=y
CONFIG_SOC_TOUCH_SENSOR_NUM=10
CONFIG_SOC_TOUCH_PAD_MEASURE_WAIT_MAX=0xFF
CONFIG_SOC_TWAI_CONTROLLER_NUM=1
CONFIG_SOC_TWAI_BRP_MIN=2
CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y
CONFIG_SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT=y
CONFIG_SOC_UART_NUM=3
CONFIG_SOC_UART_HP_NUM=3
CONFIG_SOC_UART_SUPPORT_APB_CLK=y
CONFIG_SOC_UART_SUPPORT_REF_TICK=y
CONFIG_SOC_UART_FIFO_LEN=128
...
...
@@ -156,10 +180,13 @@ CONFIG_SOC_UART_BITRATE_MAX=5000000
CONFIG_SOC_SPIRAM_SUPPORTED=y
CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y
CONFIG_SOC_SHA_SUPPORT_PARALLEL_ENG=y
CONFIG_SOC_SHA_ENDIANNESS_BE=y
CONFIG_SOC_SHA_SUPPORT_SHA1=y
CONFIG_SOC_SHA_SUPPORT_SHA256=y
CONFIG_SOC_SHA_SUPPORT_SHA384=y
CONFIG_SOC_SHA_SUPPORT_SHA512=y
CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4
CONFIG_SOC_MPI_OPERATIONS_NUM=y
CONFIG_SOC_RSA_MAX_BIT_LEN=4096
CONFIG_SOC_AES_SUPPORT_AES_128=y
CONFIG_SOC_AES_SUPPORT_AES_192=y
...
...
@@ -168,24 +195,41 @@ CONFIG_SOC_SECURE_BOOT_V1=y
CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32
CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y
CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y
CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y
CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y
CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y
CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y
CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y
CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y
CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y
CONFIG_SOC_PM_SUPPORT_MODEM_PD=y
CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y
CONFIG_SOC_CLK_APLL_SUPPORTED=y
CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y
CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y
CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y
CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y
CONFIG_SOC_SDMMC_USE_IOMUX=y
CONFIG_SOC_SDMMC_NUM_SLOTS=2
CONFIG_SOC_WIFI_WAPI_SUPPORT=y
CONFIG_SOC_WIFI_CSI_SUPPORT=y
CONFIG_SOC_WIFI_MESH_SUPPORT=y
CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y
CONFIG_SOC_WIFI_NAN_SUPPORT=y
CONFIG_SOC_BLE_SUPPORTED=y
CONFIG_SOC_BLE_MESH_SUPPORTED=y
CONFIG_SOC_BT_CLASSIC_SUPPORTED=y
CONFIG_SOC_BLUFI_SUPPORTED=y
CONFIG_SOC_ULP_HAS_ADC=y
CONFIG_SOC_PHY_COMBO_MODULE=y
CONFIG_IDF_CMAKE=y
CONFIG_IDF_TOOLCHAIN="gcc"
CONFIG_IDF_TARGET_ARCH_XTENSA=y
CONFIG_IDF_TARGET_ARCH="xtensa"
CONFIG_IDF_TARGET="esp32"
CONFIG_IDF_INIT_VERSION="5.2.1"
CONFIG_IDF_TARGET_ESP32=y
CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000
...
...
@@ -193,7 +237,7 @@ CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000
# Build type
#
CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y
# CONFIG_APP_BUILD_TYPE_
ELF_
RAM is not set
# CONFIG_APP_BUILD_TYPE_RAM is not set
CONFIG_APP_BUILD_GENERATE_BINARIES=y
CONFIG_APP_BUILD_BOOTLOADER=y
CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y
...
...
@@ -206,6 +250,14 @@ CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y
#
# Bootloader config
#
#
# Bootloader manager
#
CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y
CONFIG_BOOTLOADER_PROJECT_VER=1
# end of Bootloader manager
CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set
...
...
@@ -213,11 +265,11 @@ CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set
# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set
# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set
CONFIG_BOOTLOADER_LOG_LEVEL_WARN=y
# CONFIG_BOOTLOADER_LOG_LEVEL_INFO is not set
# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set
CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y
# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set
# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set
CONFIG_BOOTLOADER_LOG_LEVEL=
2
CONFIG_BOOTLOADER_LOG_LEVEL=
3
#
# Serial Flash Configurations
...
...
@@ -265,7 +317,11 @@ CONFIG_ESP_ROM_HAS_CRC_LE=y
CONFIG_ESP_ROM_HAS_CRC_BE=y
CONFIG_ESP_ROM_HAS_MZ_CRC32=y
CONFIG_ESP_ROM_HAS_JPEG_DECODE=y
CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y
CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y
CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y
CONFIG_ESP_ROM_HAS_SW_FLOAT=y
CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=-1
#
# Serial flasher config
...
...
@@ -357,6 +413,7 @@ CONFIG_EXAMPLE_WIFI_AUTH_OPEN=y
CONFIG_EXAMPLE_WIFI_CONNECT_AP_BY_SIGNAL=y
# CONFIG_EXAMPLE_WIFI_CONNECT_AP_BY_SECURITY is not set
# CONFIG_EXAMPLE_CONNECT_ETHERNET is not set
CONFIG_EXAMPLE_CONNECT_IPV4=y
CONFIG_EXAMPLE_CONNECT_IPV6=y
CONFIG_EXAMPLE_CONNECT_IPV6_PREF_LOCAL_LINK=y
# CONFIG_EXAMPLE_CONNECT_IPV6_PREF_GLOBAL is not set
...
...
@@ -367,7 +424,7 @@ CONFIG_EXAMPLE_CONNECT_IPV6_PREF_LOCAL_LINK=y
#
# Compiler options
#
CONFIG_COMPILER_OPTIMIZATION_DE
FAULT
=y
CONFIG_COMPILER_OPTIMIZATION_DE
BUG
=y
# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set
# CONFIG_COMPILER_OPTIMIZATION_PERF is not set
# CONFIG_COMPILER_OPTIMIZATION_NONE is not set
...
...
@@ -385,7 +442,11 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set
# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set
# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set
# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set
# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set
# CONFIG_COMPILER_DUMP_RTL_FILES is not set
CONFIG_COMPILER_RT_LIB_GCCLIB=y
CONFIG_COMPILER_RT_LIB_NAME="gcc"
# end of Compiler options
#
...
...
@@ -423,6 +484,7 @@ CONFIG_BT_BLUEDROID_PINNED_TO_CORE_0=y
CONFIG_BT_BLUEDROID_PINNED_TO_CORE=0
CONFIG_BT_BTU_TASK_STACK_SIZE=4352
# CONFIG_BT_BLUEDROID_MEM_DEBUG is not set
CONFIG_BT_BLUEDROID_ESP_COEX_VSC=y
CONFIG_BT_CLASSIC_ENABLED=y
# CONFIG_BT_CLASSIC_BQB_ENABLED is not set
# CONFIG_BT_A2DP_ENABLE is not set
...
...
@@ -434,7 +496,6 @@ CONFIG_BT_HFP_AG_ENABLE=y
CONFIG_BT_HFP_AUDIO_DATA_PATH_PCM=y
# CONFIG_BT_HFP_AUDIO_DATA_PATH_HCI is not set
# CONFIG_BT_HID_ENABLED is not set
CONFIG_BT_SSP_ENABLED=y
CONFIG_BT_BLE_ENABLED=y
CONFIG_BT_GATTS_ENABLE=y
# CONFIG_BT_GATTS_PPCP_CHAR_GAP is not set
...
...
@@ -641,6 +702,7 @@ CONFIG_BT_BLE_ESTAB_LINK_CONN_TOUT=30
CONFIG_BT_MAX_DEVICE_NAME_LEN=32
# CONFIG_BT_BLE_RPA_SUPPORTED is not set
CONFIG_BT_BLE_RPA_TIMEOUT=900
# CONFIG_BT_BLE_42_FEATURES_SUPPORTED is not set
# CONFIG_BT_BLE_HIGH_DUTY_ADV_INTERVAL is not set
# end of Bluedroid Options
...
...
@@ -695,12 +757,15 @@ CONFIG_BTDM_SCAN_DUPL_CACHE_SIZE=100
CONFIG_BTDM_SCAN_DUPL_CACHE_REFRESH_PERIOD=0
# CONFIG_BTDM_BLE_MESH_SCAN_DUPL_EN is not set
CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED=y
# CONFIG_BTDM_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set
CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y
CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM=100
CONFIG_BTDM_BLE_ADV_REPORT_DISCARD_THRSHOLD=20
CONFIG_BTDM_RESERVE_DRAM=0xdb5c
CONFIG_BTDM_CTRL_HLI=y
# end of Controller Options
# CONFIG_BT_HCI_LOG_DEBUG_EN is not set
# end of Bluetooth
# CONFIG_BLE_MESH is not set
...
...
@@ -769,6 +834,7 @@ CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y
#
# GPTimer Configuration
#
CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y
# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set
# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set
# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set
...
...
@@ -809,6 +875,29 @@ CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y
# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set
# CONFIG_I2S_ENABLE_DEBUG_LOG is not set
# end of I2S Configuration
#
# DAC Configuration
#
# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set
# CONFIG_DAC_ISR_IRAM_SAFE is not set
# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set
# CONFIG_DAC_ENABLE_DEBUG_LOG is not set
CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y
# end of DAC Configuration
#
# LEDC Configuration
#
# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set
# end of LEDC Configuration
#
# I2C Configuration
#
# CONFIG_I2C_ISR_IRAM_SAFE is not set
# CONFIG_I2C_ENABLE_DEBUG_LOG is not set
# end of I2C Configuration
# end of Driver Configurations
#
...
...
@@ -850,6 +939,12 @@ CONFIG_ADC_CALI_LUT_ENABLE=y
CONFIG_ADC_DISABLE_DAC_OUTPUT=y
# end of ADC and ADC Calibration
#
# Wireless Coexistence
#
CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y
# end of Wireless Coexistence
#
# Common ESP-related
#
...
...
@@ -888,6 +983,10 @@ CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y
#
# GDB Stub
#
CONFIG_ESP_GDBSTUB_ENABLED=y
# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set
CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y
CONFIG_ESP_GDBSTUB_MAX_TASKS=32
# end of GDB Stub
#
...
...
@@ -954,10 +1053,12 @@ CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y
CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y
CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y
CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y
CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y
# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set
CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y
CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4
# CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR is not set
# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set
# end of MAC Config
#
...
...
@@ -968,7 +1069,9 @@ CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y
# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set
CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y
# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set
CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000
CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=2000
# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set
# CONFIG_ESP_SLEEP_DEBUG is not set
CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y
# end of Sleep Config
...
...
@@ -985,7 +1088,7 @@ CONFIG_RTC_CLK_CAL_CYCLES=1024
#
# Peripheral Control
#
# CONFIG_PERIPH_CTRL_FUNC_IN_IRAM is not set
CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y
# end of Peripheral Control
#
...
...
@@ -1020,11 +1123,17 @@ CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
CONFIG_ESP_NETIF_TCPIP_LWIP=y
# CONFIG_ESP_NETIF_LOOPBACK is not set
CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y
# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set
# CONFIG_ESP_NETIF_L2_TAP is not set
# CONFIG_ESP_NETIF_BRIDGE_EN is not set
# end of ESP NETIF Adapter
#
# Partition API Configuration
#
# end of Partition API Configuration
#
# PHY
#
...
...
@@ -1037,6 +1146,7 @@ CONFIG_ESP_PHY_RF_CAL_PARTIAL=y
# CONFIG_ESP_PHY_RF_CAL_NONE is not set
# CONFIG_ESP_PHY_RF_CAL_FULL is not set
CONFIG_ESP_PHY_CALIBRATION_MODE=0
# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set
# end of PHY
#
...
...
@@ -1069,6 +1179,12 @@ CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240
# Memory
#
# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set
#
# Non-backward compatible options
#
# CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM is not set
# end of Non-backward compatible options
# end of Memory
#
...
...
@@ -1082,7 +1198,7 @@ CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0
CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set
# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set
CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0
#
# Memory protection
...
...
@@ -1101,7 +1217,6 @@ CONFIG_ESP_CONSOLE_UART_DEFAULT=y
# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set
# CONFIG_ESP_CONSOLE_NONE is not set
CONFIG_ESP_CONSOLE_UART=y
CONFIG_ESP_CONSOLE_MULTIPLE_UART=y
CONFIG_ESP_CONSOLE_UART_NUM=0
CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
CONFIG_ESP_INT_WDT=y
...
...
@@ -1153,6 +1268,11 @@ CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y
CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y
CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584
CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1
# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set
CONFIG_ESP_TIMER_TASK_AFFINITY=0x0
CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y
CONFIG_ESP_TIMER_ISR_AFFINITY=0x1
CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y
# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set
CONFIG_ESP_TIMER_IMPL_TG0_LAC=y
# end of High resolution timer (esp_timer)
...
...
@@ -1160,39 +1280,59 @@ CONFIG_ESP_TIMER_IMPL_TG0_LAC=y
#
# Wi-Fi
#
CONFIG_ESP32_WIFI_ENABLED=y
CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y
CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10
CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32
# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set
CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y
CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1
CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32
CONFIG_ESP_WIFI_ENABLED=y
CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10
CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32
# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set
CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y
CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1
CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32
CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y
# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set
CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0
CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5
# CONFIG_ESP32_WIFI_CSI_ENABLED is not set
CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y
CONFIG_ESP32_WIFI_TX_BA_WIN=6
CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
CONFIG_ESP32_WIFI_RX_BA_WIN=6
CONFIG_ESP32_WIFI_NVS_ENABLED=y
CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y
# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set
CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752
CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32
CONFIG_ESP32_WIFI_IRAM_OPT=y
CONFIG_ESP32_WIFI_RX_IRAM_OPT=y
CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y
CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y
# CONFIG_ESP_WIFI_CSI_ENABLED is not set
CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y
CONFIG_ESP_WIFI_TX_BA_WIN=6
CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y
CONFIG_ESP_WIFI_RX_BA_WIN=6
CONFIG_ESP_WIFI_NVS_ENABLED=y
CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y
# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set
CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752
CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32
CONFIG_ESP_WIFI_IRAM_OPT=y
# CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set
CONFIG_ESP_WIFI_RX_IRAM_OPT=y
CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y
CONFIG_ESP_WIFI_ENABLE_SAE_PK=y
CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y
CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y
# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set
CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y
# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set
CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y
# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set
CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7
# CONFIG_ESP_WIFI_NAN_ENABLE is not set
CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y
CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y
# CONFIG_ESP_WIFI_WAPI_PSK is not set
# CONFIG_ESP_WIFI_11KV_SUPPORT is not set
# CONFIG_ESP_WIFI_MBO_SUPPORT is not set
# CONFIG_ESP_WIFI_DPP_SUPPORT is not set
# CONFIG_ESP_WIFI_11R_SUPPORT is not set
# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set
#
# WPS Configuration Options
#
# CONFIG_ESP_WIFI_WPS_STRICT is not set
# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set
# end of WPS Configuration Options
# CONFIG_ESP_WIFI_DEBUG_PRINT is not set
# CONFIG_ESP_WIFI_TESTING_OPTIONS is not set
CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y
# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set
# end of Wi-Fi
...
...
@@ -1209,18 +1349,11 @@ CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y
# FAT Filesystem support
#
CONFIG_FATFS_VOLUME_COUNT=2
CONFIG_FATFS_LFN_NONE=y
# CONFIG_FATFS_LFN_HEAP is not set
# CONFIG_FATFS_LFN_STACK is not set
# CONFIG_FATFS_SECTOR_512 is not set
# CONFIG_FATFS_SECTOR_1024 is not set
# CONFIG_FATFS_SECTOR_2048 is not set
CONFIG_FATFS_SECTOR_4096=y
CONFIG_FATFS_SECTORS_PER_CLUSTER_1=y
# CONFIG_FATFS_SECTORS_PER_CLUSTER_2 is not set
# CONFIG_FATFS_SECTORS_PER_CLUSTER_4 is not set
# CONFIG_FATFS_SECTORS_PER_CLUSTER_8 is not set
# CONFIG_FATFS_SECTORS_PER_CLUSTER_16 is not set
# CONFIG_FATFS_SECTORS_PER_CLUSTER_32 is not set
# CONFIG_FATFS_SECTORS_PER_CLUSTER_64 is not set
# CONFIG_FATFS_SECTORS_PER_CLUSTER_128 is not set
# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set
CONFIG_FATFS_CODEPAGE_437=y
# CONFIG_FATFS_CODEPAGE_720 is not set
...
...
@@ -1243,17 +1376,13 @@ CONFIG_FATFS_CODEPAGE_437=y
# CONFIG_FATFS_CODEPAGE_936 is not set
# CONFIG_FATFS_CODEPAGE_949 is not set
# CONFIG_FATFS_CODEPAGE_950 is not set
CONFIG_FATFS_AUTO_TYPE=y
# CONFIG_FATFS_FAT12 is not set
# CONFIG_FATFS_FAT16 is not set
CONFIG_FATFS_CODEPAGE=437
CONFIG_FATFS_LFN_NONE=y
# CONFIG_FATFS_LFN_HEAP is not set
# CONFIG_FATFS_LFN_STACK is not set
CONFIG_FATFS_FS_LOCK=0
CONFIG_FATFS_TIMEOUT_MS=10000
CONFIG_FATFS_PER_FILE_CACHE=y
# CONFIG_FATFS_USE_FASTSEEK is not set
CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0
# CONFIG_FATFS_IMMEDIATE_FSYNC is not set
# end of FAT Filesystem support
#
...
...
@@ -1275,12 +1404,15 @@ CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536
# CONFIG_FREERTOS_USE_TICK_HOOK is not set
CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16
# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set
CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc"
CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1
CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048
CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10
CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1
# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set
# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set
# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set
# end of Kernel
#
...
...
@@ -1288,6 +1420,8 @@ CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
#
CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y
# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y
# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set
# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set
CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y
CONFIG_FREERTOS_ISR_STACKSIZE=1536
...
...
@@ -1298,15 +1432,15 @@ CONFIG_FREERTOS_CORETIMER_0=y
# CONFIG_FREERTOS_CORETIMER_1 is not set
CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y
# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set
# CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH is not set
# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set
CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y
CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y
# end of Port
CONFIG_FREERTOS_PORT=y
CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF
CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
CONFIG_FREERTOS_DEBUG_OCDAWARE=y
CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y
CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y
# end of FreeRTOS
#
...
...
@@ -1317,6 +1451,8 @@ CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y
# CONFIG_HAL_ASSERTION_SILENT is not set
# CONFIG_HAL_ASSERTION_ENABLE is not set
CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2
CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y
CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y
# end of Hardware Abstraction Layer (HAL) and Low Level (LL)
#
...
...
@@ -1328,7 +1464,10 @@ CONFIG_HEAP_POISONING_DISABLED=y
CONFIG_HEAP_TRACING_OFF=y
# CONFIG_HEAP_TRACING_STANDALONE is not set
# CONFIG_HEAP_TRACING_TOHOST is not set
# CONFIG_HEAP_USE_HOOKS is not set
# CONFIG_HEAP_TASK_TRACKING is not set
# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set
# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set
# end of Heap memory debugging
#
...
...
@@ -1345,6 +1484,7 @@ CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y
# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set
# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set
CONFIG_LOG_MAXIMUM_LEVEL=3
# CONFIG_LOG_MASTER_LEVEL is not set
CONFIG_LOG_COLORS=y
CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set
...
...
@@ -1353,6 +1493,7 @@ CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
#
# LWIP
#
CONFIG_LWIP_ENABLE=y
CONFIG_LWIP_LOCAL_HOSTNAME="QJ500-7C"
# CONFIG_LWIP_NETIF_API is not set
CONFIG_LWIP_TCPIP_TASK_PRIO=18
...
...
@@ -1361,7 +1502,10 @@ CONFIG_LWIP_TCPIP_TASK_PRIO=18
CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y
# CONFIG_LWIP_L2_TO_L3_COPY is not set
# CONFIG_LWIP_IRAM_OPTIMIZATION is not set
# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set
CONFIG_LWIP_TIMERS_ONDEMAND=y
CONFIG_LWIP_ND6=y
# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set
CONFIG_LWIP_MAX_SOCKETS=10
# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set
# CONFIG_LWIP_SO_LINGER is not set
...
...
@@ -1374,6 +1518,7 @@ CONFIG_LWIP_IP4_FRAG=y
CONFIG_LWIP_IP6_FRAG=y
# CONFIG_LWIP_IP4_REASSEMBLY is not set
# CONFIG_LWIP_IP6_REASSEMBLY is not set
CONFIG_LWIP_IP_REASS_MAX_PBUFS=10
# CONFIG_LWIP_IP_FORWARD is not set
# CONFIG_LWIP_STATS is not set
CONFIG_LWIP_ESP_GRATUITOUS_ARP=y
...
...
@@ -1395,9 +1540,11 @@ CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1
CONFIG_LWIP_DHCPS=y
CONFIG_LWIP_DHCPS_LEASE_UNIT=60
CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8
CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y
# end of DHCP server
# CONFIG_LWIP_AUTOIP is not set
CONFIG_LWIP_IPV4=y
CONFIG_LWIP_IPV6=y
# CONFIG_LWIP_IPV6_AUTOCONFIG is not set
CONFIG_LWIP_IPV6_NUM_ADDRESSES=3
...
...
@@ -1454,8 +1601,6 @@ CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF
# CONFIG_LWIP_PPP_SUPPORT is not set
CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3
CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5
CONFIG_LWIP_ND6=y
# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set
# CONFIG_LWIP_SLIP_SUPPORT is not set
#
...
...
@@ -1480,8 +1625,6 @@ CONFIG_LWIP_SNTP_MAX_SERVERS=1
CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000
# end of SNTP
CONFIG_LWIP_BRIDGEIF_MAX_PORTS=50
#
# DNS
#
...
...
@@ -1489,6 +1632,7 @@ CONFIG_LWIP_DNS_MAX_SERVERS=3
# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set
# end of DNS
CONFIG_LWIP_BRIDGEIF_MAX_PORTS=50
CONFIG_LWIP_ESP_LWIP_ASSERT=y
#
...
...
@@ -1503,6 +1647,9 @@ CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y
CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y
# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set
# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set
CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y
# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set
# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set
CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y
# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set
# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set
...
...
@@ -1553,6 +1700,7 @@ CONFIG_MBEDTLS_CMAC_C=y
CONFIG_MBEDTLS_HARDWARE_AES=y
# CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER is not set
CONFIG_MBEDTLS_HARDWARE_MPI=y
# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set
CONFIG_MBEDTLS_HARDWARE_SHA=y
CONFIG_MBEDTLS_ROM_MD5=y
# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set
...
...
@@ -1637,7 +1785,7 @@ CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM=y
# CONFIG_MBEDTLS_CHACHA20_C is not set
# CONFIG_MBEDTLS_HKDF_C is not set
# CONFIG_MBEDTLS_THREADING_C is not set
# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set
CONFIG_MBEDTLS_ERROR_STRINGS=y
# end of mbedTLS
#
...
...
@@ -1676,12 +1824,34 @@ CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y
# NVS
#
# CONFIG_NVS_ASSERT_ERROR_CHECK is not set
# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set
# end of NVS
#
# OpenThread
#
# CONFIG_OPENTHREAD_ENABLED is not set
#
# Thread Operational Dataset
#
CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP"
CONFIG_OPENTHREAD_MESH_LOCAL_PREFIX="fd00:db8:a0:0::/64"
CONFIG_OPENTHREAD_NETWORK_CHANNEL=15
CONFIG_OPENTHREAD_NETWORK_PANID=0x1234
CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe"
CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff"
CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53"
# end of Thread Operational Dataset
CONFIG_OPENTHREAD_XTAL_ACCURACY=130
# CONFIG_OPENTHREAD_SPINEL_ONLY is not set
# CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE is not set
#
# Thread Address Query Config
#
# end of Thread Address Query Config
# end of OpenThread
#
...
...
@@ -1756,6 +1926,11 @@ CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192
#
# Auto-detect flash chips
#
CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y
CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y
CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y
CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y
CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y
CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y
CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y
CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y
...
...
@@ -1834,11 +2009,6 @@ CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set
# end of Unity unit testing library
#
# Root Hub configuration
#
# end of Root Hub configuration
#
# Virtual file system
#
...
...
@@ -1846,7 +2016,9 @@ CONFIG_VFS_SUPPORT_IO=y
CONFIG_VFS_SUPPORT_DIR=y
CONFIG_VFS_SUPPORT_SELECT=y
CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y
# CONFIG_VFS_SELECT_IN_RAM is not set
CONFIG_VFS_SUPPORT_TERMIOS=y
CONFIG_VFS_MAX_COUNT=8
#
# Host File System I/O (Semihosting)
...
...
@@ -1874,36 +2046,23 @@ CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y
# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set
# end of Wi-Fi Provisioning Manager
#
# Supplicant
#
CONFIG_WPA_MBEDTLS_CRYPTO=y
CONFIG_WPA_MBEDTLS_TLS_CLIENT=y
# CONFIG_WPA_WAPI_PSK is not set
# CONFIG_WPA_DEBUG_PRINT is not set
# CONFIG_WPA_TESTING_OPTIONS is not set
# CONFIG_WPA_WPS_STRICT is not set
# CONFIG_WPA_11KV_SUPPORT is not set
# CONFIG_WPA_MBO_SUPPORT is not set
# CONFIG_WPA_DPP_SUPPORT is not set
# CONFIG_WPA_11R_SUPPORT is not set
# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set
# end of Supplicant
# end of Component config
# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set
# Deprecated options for backward compatibility
# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set
# CONFIG_NO_BLOBS is not set
# CONFIG_ESP32_NO_BLOBS is not set
# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set
# CONFIG_ESP32_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set
# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set
# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set
CONFIG_LOG_BOOTLOADER_LEVEL_WARN=y
# CONFIG_LOG_BOOTLOADER_LEVEL_INFO is not set
# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set
CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y
# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set
# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set
CONFIG_LOG_BOOTLOADER_LEVEL=
2
CONFIG_LOG_BOOTLOADER_LEVEL=
3
# CONFIG_APP_ROLLBACK_ENABLE is not set
# CONFIG_FLASH_ENCRYPTION_ENABLED is not set
# CONFIG_FLASHMODE_QIO is not set
...
...
@@ -1913,6 +2072,7 @@ CONFIG_FLASHMODE_DIO=y
CONFIG_MONITOR_BAUD=115200
CONFIG_OPTIMIZATION_LEVEL_DEBUG=y
CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y
CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y
# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set
# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set
CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y
...
...
@@ -2142,15 +2302,21 @@ CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_NUM=100
CONFIG_BLE_ADV_REPORT_DISCARD_THRSHOLD=20
CONFIG_ADC2_DISABLE_DAC=y
# CONFIG_MCPWM_ISR_IN_IRAM is not set
CONFIG_SW_COEXIST_ENABLE=y
CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y
CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y
# CONFIG_EVENT_LOOP_PROFILING is not set
CONFIG_POST_EVENTS_FROM_ISR=y
CONFIG_POST_EVENTS_FROM_IRAM_ISR=y
CONFIG_GDBSTUB_SUPPORT_TASKS=y
CONFIG_GDBSTUB_MAX_TASKS=32
CONFIG_OTA_ALLOW_HTTP=y
# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set
CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y
CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4
# CONFIG_ESP_SYSTEM_PD_FLASH is not set
CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000
CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000
CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y
CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y
# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set
...
...
@@ -2225,7 +2391,40 @@ CONFIG_ESP32_BROWNOUT_DET_LVL=0
# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set
CONFIG_IPC_TASK_STACK_SIZE=1024
CONFIG_TIMER_TASK_STACK_SIZE=3584
CONFIG_SW_COEXIST_ENABLE=y
CONFIG_ESP32_WIFI_ENABLED=y
CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10
CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32
# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set
CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y
CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1
CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32
# CONFIG_ESP32_WIFI_CSI_ENABLED is not set
CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y
CONFIG_ESP32_WIFI_TX_BA_WIN=6
CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
CONFIG_ESP32_WIFI_RX_BA_WIN=6
CONFIG_ESP32_WIFI_RX_BA_WIN=6
CONFIG_ESP32_WIFI_NVS_ENABLED=y
CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y
# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set
CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752
CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32
CONFIG_ESP32_WIFI_IRAM_OPT=y
CONFIG_ESP32_WIFI_RX_IRAM_OPT=y
CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y
CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y
CONFIG_WPA_MBEDTLS_CRYPTO=y
CONFIG_WPA_MBEDTLS_TLS_CLIENT=y
# CONFIG_WPA_WAPI_PSK is not set
# CONFIG_WPA_11KV_SUPPORT is not set
# CONFIG_WPA_MBO_SUPPORT is not set
# CONFIG_WPA_DPP_SUPPORT is not set
# CONFIG_WPA_11R_SUPPORT is not set
# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set
# CONFIG_WPA_WPS_STRICT is not set
# CONFIG_WPA_DEBUG_PRINT is not set
# CONFIG_WPA_TESTING_OPTIONS is not set
# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set
# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set
CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y
...
...
RT200T_2_ESP32/source/wifi/CMakeLists.txt
0 → 100644
View file @
12945184
idf_component_register
(
SRCS
"wifi_service.c"
"softap.c"
"http_server.c"
INCLUDE_DIRS
"."
"../../main"
PRIV_REQUIRES nvs_flash esp_netif esp_wifi esp_http_server app_update driver
EMBED_FILES
"favicon.ico"
"ota_page.html"
)
RT200T_2_ESP32/source/wifi/favicon.ico
0 → 100644
View file @
12945184
6.28 KB
RT200T_2_ESP32/source/wifi/html/favicon.ico
0 → 100644
View file @
12945184
6.28 KB
RT200T_2_ESP32/source/wifi/html/index.html
0 → 100644
View file @
12945184
<!DOCTYPE html>
<html
lang=
"zh-CN"
>
<head>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1"
charset=
"utf-8"
>
<title>
ESP32
</title>
</head>
<body>
<h2>
ESP32
</h2>
<hr><br>
<button
id=
"ota"
type=
"button"
onclick=
"ota()"
>
ESP32 固件升级
</button>
<script>
function
ota
()
{
window
.
location
.
href
=
"http://192.168.4.1/ota"
;
}
</script>
</body>
</html>
\ No newline at end of file
RT200T_2_ESP32/source/wifi/html/ota.html
0 → 100644
View file @
12945184
<!DOCTYPE html>
<html
lang=
"zh-CN"
>
<head>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1"
charset=
"utf-8"
>
<title>
固件升级
</title>
</head>
<body>
<h2>
固件升级
</h2>
<hr>
<a
href=
"http://192.168.4.1"
style=
"font-size: smaller;"
>
[返回首页]
</a><br><br>
<!-- 选择文本按钮 -->
<label
for=
"newFile"
>
加载文件:
</label>
<input
id=
"newFile"
type=
"file"
accept=
".bin"
onchange=
"checkFile()"
>
<br><br>
<!-- 上传操作 -->
<label
for=
"otaStart"
>
执行操作:
</label>
<button
id=
"otaStart"
type=
"button"
onclick=
"otaStart()"
>
开始升级
</button>
<button
id=
"reload"
type=
"button"
onclick=
"reload()"
>
刷新界面
</button>
<br><br>
<!-- 进度显示 -->
<label
for=
"otaPercent"
>
进度显示:
</label>
<input
id=
"otaPercent"
type=
"text"
value=
"0.00%"
style=
"width: 75px;border: none;font-size:large;"
>
<progress
id=
"otaProgress"
value=
"0"
max=
"100"
></progress>
<br><br><hr>
<p
id=
"viewName"
></p>
<p
id=
"viewSize"
></p>
<p
id=
"viewFlashStart"
></p>
<p
id=
"viewFlashResult"
></p>
<script>
function
reload
()
{
location
.
reload
();
}
function
getFileSize
(
size
)
{
if
(
!
size
)
return
""
;
var
num
=
1024.00
;
if
(
size
<
num
)
{
return
size
+
"B"
;
}
if
(
size
<
Math
.
pow
(
num
,
2
))
{
return
(
size
/
num
).
toFixed
(
2
)
+
"KB"
;
}
if
(
size
<
Math
.
pow
(
num
,
3
))
{
return
(
size
/
Math
.
pow
(
num
,
2
)).
toFixed
(
2
)
+
"MB"
;
}
}
function
checkFile
()
{
var
newFile
=
document
.
getElementById
(
"newFile"
).
files
[
0
];
var
newFileName
=
newFile
.
name
;
var
newFileSize
=
newFile
.
size
;
if
(
newFileSize
>
2
*
1024
*
1024
)
{
alert
(
'所选文件超出最大限制
\
n点击确定后将自动刷新页面'
);
location
.
reload
();
}
else
{
document
.
getElementById
(
"viewName"
).
innerHTML
=
"文件名称:"
+
newFileName
;
document
.
getElementById
(
"viewSize"
).
innerHTML
=
"文件大小:"
+
getFileSize
(
newFileSize
);
}
}
function
otaStart
()
{
var
res
=
document
.
getElementById
(
"newFile"
).
files
[
0
];
if
(
typeof
(
res
)
==
"undefined"
)
{
alert
(
'未选择文件!'
);
}
else
{
var
filepath
=
document
.
getElementById
(
"newFile"
).
files
[
0
].
name
;
var
upload_path
=
"/ota/"
+
filepath
;
document
.
getElementById
(
"viewFlashStart"
).
innerHTML
=
"锁定页面,请务必保持WiFi在线,正在上传..."
;
document
.
getElementById
(
"newFile"
).
disabled
=
true
;
document
.
getElementById
(
"otaStart"
).
disabled
=
true
;
var
file
=
document
.
getElementById
(
"newFile"
).
files
[
0
];
var
xhttp
=
new
XMLHttpRequest
();
xhttp
.
onreadystatechange
=
function
()
{
if
(
xhttp
.
readyState
==
4
)
{
if
(
xhttp
.
status
==
200
)
{
document
.
getElementById
(
"viewFlashResult"
).
innerHTML
=
"上传成功!"
;
}
else
if
(
xhttp
.
status
==
0
)
{
document
.
getElementById
(
"viewFlashResult"
).
innerHTML
=
"服务器断开!<br><br>请检查服务器是否在线,刷新页面后重新上传..."
;
}
else
{
alert
(
xhttp
.
status
+
" Error!
\n
"
+
xhttp
.
responseText
);
}
}
};
let
progressBar
=
document
.
getElementById
(
"otaProgress"
);
xhttp
.
upload
.
onprogress
=
function
(
e
)
{
var
percentage
=
(
event
.
loaded
*
100.00
)
/
(
event
.
total
*
1.00
);
percentage
=
percentage
.
toFixed
(
2
);
progressBar
.
value
=
Math
.
round
(
percentage
);
document
.
getElementById
(
"otaPercent"
).
value
=
percentage
+
"%"
;
}
xhttp
.
open
(
"POST"
,
upload_path
,
true
);
xhttp
.
send
(
file
);
}
}
</script>
</body>
</html>
\ No newline at end of file
RT200T_2_ESP32/source/wifi/http_server.c
0 → 100644
View file @
12945184
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <esp_log.h>
#include <nvs_flash.h>
#include <sys/param.h>
#include "esp_netif.h"
#include <esp_wifi.h>
#include <esp_system.h>
#include "nvs_flash.h"
#include "esp_ota_ops.h"
#include "http_server.h"
static
const
char
*
TAG
=
"http_server"
;
char
buf
[
MAX_OTA_BUFF
];
// 接收服务端传来的文件缓存, 必须使用全局变量, 否则会触发看门狗复位, 原理未知
extern
void
Cache_data
(
unsigned
char
*
p
,
uint32_t
len
);
extern
void
SetUpgradeFlashSize
(
uint32_t
size
);
extern
void
SetUpgradeStart
(
void
);
//初始状态
static
unsigned
char
softap_ota_start
=
0
;
httpd_handle_t
http_server
=
NULL
;
static
esp_err_t
index_html_get_handler
(
httpd_req_t
*
req
)
{
ESP_LOGI
(
TAG
,
"---- 回到起始页"
);
httpd_resp_set_status
(
req
,
"307 Temporary Redirect"
);
httpd_resp_set_hdr
(
req
,
"Location"
,
"/"
);
httpd_resp_send
(
req
,
NULL
,
0
);
return
ESP_OK
;
}
static
esp_err_t
favicon_get_handler
(
httpd_req_t
*
req
)
{
extern
const
unsigned
char
favicon_ico_start
[]
asm
(
"_binary_favicon_ico_start"
);
extern
const
unsigned
char
favicon_ico_end
[]
asm
(
"_binary_favicon_ico_end"
);
const
size_t
favicon_ico_size
=
(
favicon_ico_end
-
favicon_ico_start
);
ESP_LOGI
(
TAG
,
"---- 下载网站图标"
);
httpd_resp_set_type
(
req
,
"image/x-icon"
);
httpd_resp_send
(
req
,
(
const
char
*
)
favicon_ico_start
,
favicon_ico_size
);
return
ESP_OK
;
}
static
esp_err_t
http_resp_dir_html
(
httpd_req_t
*
req
)
{
extern
const
unsigned
char
ota_page_start
[]
asm
(
"_binary_ota_page_html_start"
);
extern
const
unsigned
char
ota_page_end
[]
asm
(
"_binary_ota_page_html_end"
);
const
size_t
ota_page_size
=
(
ota_page_end
-
ota_page_start
);
ESP_LOGI
(
TAG
,
"---- 下载网站起始页"
);
httpd_resp_set_type
(
req
,
"text/HTML"
);
httpd_resp_send
(
req
,
(
const
char
*
)
ota_page_start
,
ota_page_size
);
return
ESP_OK
;
}
static
esp_err_t
download_get_handler
(
httpd_req_t
*
req
)
{
const
char
*
uri_get
=
req
->
uri
;
ESP_LOGI
(
TAG
,
"---- GET URI: 192.168.4.1%s"
,
req
->
uri
);
if
(
strcmp
(
uri_get
,
"/"
)
==
0
)
{
return
http_resp_dir_html
(
req
);
}
else
if
(
strcmp
(
uri_get
,
"/favicon.ico"
)
==
0
)
{
return
favicon_get_handler
(
req
);
}
else
{
ESP_LOGI
(
TAG
,
"---- 非预设GET, 不处理, 直接回到起始页"
);
return
index_html_get_handler
(
req
);
}
return
ESP_OK
;
}
static
esp_err_t
app_post_handler
(
httpd_req_t
*
req
)
{
int
ret
=
0
;
int
recv_block
=
0
;
int
remaining
=
req
->
content_len
;
int
total
=
remaining
;
double
percent
=
0
.
0
;
ESP_LOGI
(
TAG
,
"---- 应用程序更新, 需接收数据长度(bytes): %d"
,
remaining
);
esp_ota_handle_t
app_update_handle
=
0
;
const
esp_partition_t
*
app_update_partition
=
esp_ota_get_next_update_partition
(
NULL
);
esp_err_t
err
=
esp_ota_begin
(
app_update_partition
,
OTA_WITH_SEQUENTIAL_WRITES
,
&
app_update_handle
);
while
(
remaining
>
0
)
{
/* Read the data for the request */
if
((
ret
=
httpd_req_recv
(
req
,
buf
,
MIN
(
remaining
,
sizeof
(
buf
))))
<=
0
)
{
if
(
ret
==
HTTPD_SOCK_ERR_TIMEOUT
)
{
/* Retry receiving if timeout occurred */
continue
;
}
return
ESP_FAIL
;
}
err
=
esp_ota_write
(
app_update_handle
,
buf
,
ret
);
if
(
err
!=
ESP_OK
)
{
ESP_LOGI
(
TAG
,
"---- 写入数据失败, 错误信息:%s"
,
esp_err_to_name
(
err
));
}
else
{
remaining
-=
ret
;
recv_block
++
;
if
((
recv_block
%
20
)
==
0
)
{
percent
=
100
.
0
-
(
double
)(
remaining
*
100
)
/
(
double
)
total
;
ESP_LOGI
(
TAG
,
"---- 写入OTA升级数据: %.2f%%"
,
percent
);
}
}
// 增加20ms延时, 解决CPU0看门狗超时的问题
vTaskDelay
(
pdMS_TO_TICKS
(
20
));
}
err
=
esp_ota_end
(
app_update_handle
);
if
(
err
==
ESP_OK
)
{
esp_err_t
err
=
esp_ota_set_boot_partition
(
app_update_partition
);
if
(
err
!=
ESP_OK
)
{
ESP_LOGI
(
TAG
,
"---- 设备启动分区失败, 错误信息:%s"
,
esp_err_to_name
(
err
));
}
else
{
ESP_LOGI
(
TAG
,
"---- 应用程序更新完成, 3秒后自动重启."
);
httpd_resp_send_chunk
(
req
,
NULL
,
0
);
// delele_tasks();
// httpd_resp_sendstr(req, "<p>应用程序更新完成,3秒后自动重启.</p>");
vTaskDelay
(
pdMS_TO_TICKS
(
3000
));
esp_restart
();
}
}
// End response
// httpd_resp_sendstr(req, "<p>数据上传完成,但应用更新不成功,请重试.</p>");
ESP_LOGI
(
TAG
,
"---- 数据接收完成, OTA失败, 1秒后自动重启."
);
httpd_resp_send_chunk
(
req
,
NULL
,
0
);
// delele_tasks();
vTaskDelay
(
pdMS_TO_TICKS
(
1000
));
esp_restart
();
return
ESP_OK
;
}
static
esp_err_t
assert_post_handler
(
httpd_req_t
*
req
)
{
int
ret
,
remaining
=
req
->
content_len
;
while
(
remaining
>
0
)
{
/* Read the data for the request */
if
((
ret
=
httpd_req_recv
(
req
,
buf
,
MIN
(
remaining
,
sizeof
(
buf
))))
<=
0
)
{
if
(
ret
==
HTTPD_SOCK_ERR_TIMEOUT
)
{
/* Retry receiving if timeout occurred */
continue
;
}
return
ESP_FAIL
;
}
remaining
-=
ret
;
// ESP_LOGI(TAG, "=========== RECEIVED DATA ==========");
// 数据处理代码
// ESP_LOGI(TAG, "====================================");
}
// End response
httpd_resp_send_chunk
(
req
,
NULL
,
0
);
return
ESP_OK
;
}
static
esp_err_t
storage_post_handler
(
httpd_req_t
*
req
)
{
int
ret
,
remaining
=
req
->
content_len
;
while
(
remaining
>
0
)
{
/* Read the data for the request */
if
((
ret
=
httpd_req_recv
(
req
,
buf
,
MIN
(
remaining
,
sizeof
(
buf
))))
<=
0
)
{
if
(
ret
==
HTTPD_SOCK_ERR_TIMEOUT
)
{
/* Retry receiving if timeout occurred */
continue
;
}
return
ESP_FAIL
;
}
remaining
-=
ret
;
// ESP_LOGI(TAG, "=========== RECEIVED DATA ==========");
// 数据处理代码
// ESP_LOGI(TAG, "====================================");
}
// End response
httpd_resp_send_chunk
(
req
,
NULL
,
0
);
return
ESP_OK
;
}
/*上传文件名是N32G031dat.bin的处理函数*/
static
esp_err_t
nation_post_handler
(
httpd_req_t
*
req
)
{
int
ret
,
remaining
=
req
->
content_len
;
// if (Sys_Run_hdl != NULL)
// {
// vTaskDelete(Sys_Run_hdl);
// Sys_Run_hdl = NULL;
// vTaskDelay(pdMS_TO_TICKS(100));
// }
SetUpgradeFlashSize
(
remaining
);
// 设定文件大小
ESP_LOGI
(
TAG
,
"---- 国民技术程序文件: 需要接收的数据(byte) = %d"
,
remaining
);
while
(
remaining
>
0
)
{
/* Read the data for the request */
if
((
ret
=
httpd_req_recv
(
req
,
buf
,
MIN
(
remaining
,
sizeof
(
buf
))))
<=
0
)
{
if
(
ret
==
HTTPD_SOCK_ERR_TIMEOUT
)
{
/* Retry receiving if timeout occurred */
continue
;
}
return
ESP_FAIL
;
}
remaining
-=
ret
;
Cache_data
(
&
buf
,
ret
);
// ESP_LOGI(TAG, "=========== RECEIVED DATA ==========");
// 数据处理代码
// ESP_LOGI(TAG, "====================================");
}
SetUpgradeStart
();
// 启动升级
ESP_LOGI
(
TAG
,
"---- 国民技术程序文件: 接收完成"
);
// End response
httpd_resp_send_chunk
(
req
,
NULL
,
0
);
return
ESP_OK
;
}
void
Nat32G031_ReqReset
(
void
)
{
ESP_LOGI
(
TAG
,
"---- NAT32G031程序更新完成, 3秒后自动重启."
);
// delele_tasks();
// httpd_resp_sendstr(req, "<p>应用程序更新完成,3秒后自动重启.</p>");
vTaskDelay
(
pdMS_TO_TICKS
(
3000
));
esp_restart
();
}
static
esp_err_t
upload_post_handler
(
httpd_req_t
*
req
)
{
const
char
*
uri_post
=
req
->
uri
;
ESP_LOGI
(
TAG
,
"---- POST URI: 192.168.4.1%s"
,
req
->
uri
);
if
(
strcmp
(
uri_post
,
"/upload/RT200T-2.bin"
)
==
0
)
{
return
app_post_handler
(
req
);
}
else
if
(
strcmp
(
uri_post
,
"/upload/mmap_assert.bin"
)
==
0
)
{
return
assert_post_handler
(
req
);
}
else
if
(
strcmp
(
uri_post
,
"/upload/storage.bin"
)
==
0
)
{
return
storage_post_handler
(
req
);
}
else
if
(
strcmp
(
uri_post
,
"/upload/N32G031dat.bin"
)
==
0
)
{
return
nation_post_handler
(
req
);
}
else
{
ESP_LOGI
(
TAG
,
"---- 非预设POST, 不处理, 直接回到起始页"
);
return
index_html_get_handler
(
req
);
}
return
ESP_OK
;
}
void
set_softap_ota_status
(
unsigned
char
status
)
{
softap_ota_start
=
status
;
}
unsigned
char
get_softap_ota_status
(
void
)
{
return
softap_ota_start
;
}
httpd_handle_t
start_webserver
(
void
)
{
httpd_handle_t
server
=
NULL
;
httpd_config_t
config
=
HTTPD_DEFAULT_CONFIG
();
config
.
lru_purge_enable
=
true
;
config
.
uri_match_fn
=
httpd_uri_match_wildcard
;
// Start the httpd server
ESP_LOGI
(
TAG
,
"---- 服务器端口号: '%d'"
,
config
.
server_port
);
if
(
httpd_start
(
&
server
,
&
config
)
==
ESP_OK
)
{
// Set URI handlers
ESP_LOGI
(
TAG
,
"---- 注册URI管理程序"
);
// 注册客户端下载行为
httpd_uri_t
download_cfg
=
{
.
uri
=
"/*"
,
.
method
=
HTTP_GET
,
.
handler
=
download_get_handler
,
.
user_ctx
=
NULL
};
httpd_register_uri_handler
(
server
,
&
download_cfg
);
// 注册客户端上传行为
httpd_uri_t
upload_cfg
=
{
.
uri
=
"/upload/*"
,
.
method
=
HTTP_POST
,
.
handler
=
upload_post_handler
,
.
user_ctx
=
NULL
};
httpd_register_uri_handler
(
server
,
&
upload_cfg
);
return
server
;
}
ESP_LOGI
(
TAG
,
"---- 服务器启动时发生错误."
);
return
NULL
;
}
esp_err_t
stop_webserver
(
httpd_handle_t
server
)
{
return
httpd_stop
(
server
);
}
/******************************************
*根据某种状态自动开关webserver的监听处理,
*没有任何STA连接AP,自动关闭webserver,
*任意STA连接AP,自动开启webserver.
******************************************/
void
connect_handler
(
void
*
arg
)
{
httpd_handle_t
*
server
=
(
httpd_handle_t
*
)
arg
;
if
(
*
server
==
NULL
)
{
ESP_LOGI
(
TAG
,
"---- 开启HTTP服务器"
);
*
server
=
start_webserver
();
}
}
void
disconnect_handler
(
void
*
arg
)
{
httpd_handle_t
*
server
=
(
httpd_handle_t
*
)
arg
;
if
(
*
server
)
{
ESP_LOGI
(
TAG
,
"---- 关闭HTTP服务器"
);
if
(
stop_webserver
(
*
server
)
==
ESP_OK
)
{
*
server
=
NULL
;
}
else
{
ESP_LOGE
(
TAG
,
"Failed to stop http server"
);
}
}
}
httpd_handle_t
http_service
(
void
)
{
static
httpd_handle_t
server
=
NULL
;
// 首次启动http_server
server
=
start_webserver
();
if
(
server
)
{
ESP_LOGI
(
TAG
,
"---- HTTP服务器开启成功."
);
}
else
{
ESP_LOGI
(
TAG
,
"---- HTTP服务器开启失败."
);
}
return
server
;
}
RT200T_2_ESP32/source/wifi/http_server.h
0 → 100644
View file @
12945184
#ifndef _GTTP_SERVER_H_
#define _GTTP_SERVER_H_
#include "esp_event.h"
#include "esp_http_server.h"
#define HTTP_SERVER_STOP 0
#define HTTP_SERVER_INIT 1
#define HTTP_SERVER_START 2
#define HTTP_SERVER_DEINIT 3
#define MAX_OTA_BUFF 4096u
extern
char
buf
[
MAX_OTA_BUFF
];
extern
httpd_handle_t
http_server
;
void
set_softap_ota_status
(
unsigned
char
status
);
unsigned
char
get_softap_ota_status
(
void
);
void
connect_handler
(
void
*
arg
);
void
disconnect_handler
(
void
*
arg
);
httpd_handle_t
http_service
(
void
);
extern
void
delele_tasks
(
void
);
extern
void
Catch_data
(
unsigned
char
*
p
,
uint32_t
len
);
extern
void
SetUpgradeFlashSize
(
uint32_t
size
);
extern
void
SetUpgradeStart
(
void
);
// ʼ״̬
void
Nat32G031_ReqReset
(
void
);
#endif
RT200T_2_ESP32/source/wifi/ota_page.html
0 → 100644
View file @
12945184
<!DOCTYPE html>
<html
lang=
"zh-CN"
>
<head>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1"
charset=
"utf-8"
>
<title>
OTA Page
</title>
</head>
<body>
<h2>
OTA Page
</h2>
<hr>
<!-- 下拉菜单 -->
<label
for=
"selectPartition"
>
目标分区:
</label>
<select
id=
"selectPartition"
name=
"selectPartition"
>
<option
selected
value=
"RT200T-2.bin"
>
Application
</option>
<option
value=
"mmap_assert.bin"
>
Pictures
</option>
<option
value=
"storage.bin"
>
Fonts
</option>
<option
value=
"BAT32G139.bin"
>
Nation
</option>
</select>
<br><br>
<!-- 选择文本按钮 -->
<label
for=
"newfile"
>
目标文件:
</label>
<input
id=
"newfile"
type=
"file"
accept=
".bin"
onchange=
"checkFile()"
>
<br><br>
<!-- 上传操作 -->
<label
for=
"upload"
>
执行操作:
</label>
<button
id=
"upload"
type=
"button"
onclick=
"upload()"
>
开始上传
</button>
<button
id=
"home"
type=
"button"
onclick=
"homePage()"
>
重置页面
</button>
<br><br>
<!-- 进度显示 -->
<label
for=
"uploadPercent"
>
进度显示:
</label>
<input
id=
"uploadPercent"
type=
"text"
value=
"0.00%"
style=
"width: 75px;border: none;font-size:large;"
>
<progress
id=
"uploadProgress"
value=
"0"
max=
"100"
></progress>
<hr>
<p
id=
"view_name"
></p>
<p
id=
"view_size"
></p>
<p
id=
"view_flash_start"
></p>
<p
id=
"view_flash_result"
></p>
<script>
function
homePage
()
{
location
.
reload
();
}
function
getfilesize
(
size
)
{
if
(
!
size
)
return
""
;
var
num
=
1024.00
;
if
(
size
<
num
)
{
return
size
+
"B"
;
}
if
(
size
<
Math
.
pow
(
num
,
2
))
{
return
(
size
/
num
).
toFixed
(
2
)
+
"KB"
;
}
if
(
size
<
Math
.
pow
(
num
,
3
))
{
return
(
size
/
Math
.
pow
(
num
,
2
)).
toFixed
(
2
)
+
"MB"
;
}
}
function
checkFile
()
{
var
currentPartition
=
document
.
getElementById
(
"selectPartition"
).
value
;
var
newFile
=
document
.
getElementById
(
"newfile"
).
files
[
0
];
var
newFileName
=
newFile
.
name
;
var
newFileSize
=
newFile
.
size
;
filepath
=
newFileName
;
if
(
newFileName
!=
currentPartition
)
{
alert
(
'所选文件与目标分区不匹配
\
n点击确定后将自动刷新页面
\
n'
);
homePage
();
}
if
(
newFileSize
>
16
*
1024
*
1024
)
{
alert
(
'所选文件超出最大限制
\
n点击确定后将自动刷新页面'
);
homePage
();
}
else
{
document
.
getElementById
(
"view_name"
).
innerHTML
=
"文件名称:"
+
newFileName
;
document
.
getElementById
(
"view_size"
).
innerHTML
=
"文件大小:"
+
getfilesize
(
newFileSize
);
}
}
function
upload
()
{
var
res
=
document
.
getElementById
(
"newfile"
).
files
[
0
];
if
(
typeof
(
res
)
==
"undefined"
)
{
alert
(
'未选择文件!'
);
}
else
{
var
filepath
=
document
.
getElementById
(
"newfile"
).
files
[
0
].
name
;
var
upload_path
=
"/upload/"
+
filepath
;
document
.
getElementById
(
"view_flash_start"
).
innerHTML
=
"锁定页面,请务必保持WiFi在线,正在上传..."
;
document
.
getElementById
(
"selectPartition"
).
disabled
=
true
;
document
.
getElementById
(
"newfile"
).
disabled
=
true
;
document
.
getElementById
(
"upload"
).
disabled
=
true
;
var
file
=
document
.
getElementById
(
"newfile"
).
files
[
0
];
var
xhttp
=
new
XMLHttpRequest
();
xhttp
.
onreadystatechange
=
function
()
{
if
(
xhttp
.
readyState
==
4
)
{
if
(
xhttp
.
status
==
200
)
{
document
.
getElementById
(
"view_flash_result"
).
innerHTML
=
"上传成功!"
;
}
else
if
(
xhttp
.
status
==
0
)
{
document
.
getElementById
(
"view_flash_result"
).
innerHTML
=
"服务器断开!<br><br>请检查服务器是否在线,刷新页面后重新上传..."
;
}
else
{
alert
(
xhttp
.
status
+
" Error!
\n
"
+
xhttp
.
responseText
);
}
}
};
let
progressBar
=
document
.
getElementById
(
"uploadProgress"
);
xhttp
.
upload
.
onprogress
=
function
(
e
)
{
var
percentage
=
(
event
.
loaded
*
100.00
)
/
(
event
.
total
*
1.00
);
percentage
=
percentage
.
toFixed
(
2
);
progressBar
.
value
=
Math
.
round
(
percentage
);
document
.
getElementById
(
"uploadPercent"
).
value
=
percentage
+
"%"
;
}
xhttp
.
open
(
"POST"
,
upload_path
,
true
);
xhttp
.
send
(
file
);
}
}
</script>
</body>
</html>
\ No newline at end of file
RT200T_2_ESP32/source/wifi/softap.c
0 → 100644
View file @
12945184
#include <stdio.h>
#include <string.h>
#include "nvs_flash.h"
#include "esp_event.h"
#include "esp_mac.h"
#include "esp_netif.h"
#include "esp_log.h"
#include "softap.h"
#include "wifi_service.h"
static
const
char
*
TAG
=
"softAP"
;
esp_netif_t
*
softap_netif
=
NULL
;
wifi_sta_list_t
softap_sta_list
;
unsigned
char
softap_sta_connect
=
STA_CONNECTED_NEVER
;
static
void
softap_event_handler
(
void
*
event_handler_arg
,
esp_event_base_t
event_base
,
int32_t
event_id
,
void
*
event_data
)
{
if
(
event_base
==
WIFI_EVENT
&&
event_id
==
WIFI_EVENT_AP_STACONNECTED
)
{
wifi_event_ap_staconnected_t
*
event
=
(
wifi_event_ap_staconnected_t
*
)
event_data
;
ESP_LOGI
(
TAG
,
"---- 设备加入网络, MAC地址 :"
MACSTR
", 编号(AID) = %d."
,
MAC2STR
(
event
->
mac
),
event
->
aid
);
softap_sta_connect
=
STA_CONNECTED_ONCE
;
connect_handler
(
event_handler_arg
);
wifi_service_stop_timer_clear
();
}
if
(
event_base
==
WIFI_EVENT
&&
event_id
==
WIFI_EVENT_AP_STADISCONNECTED
)
{
wifi_event_ap_stadisconnected_t
*
event
=
(
wifi_event_ap_stadisconnected_t
*
)
event_data
;
ESP_LOGI
(
TAG
,
"---- 设备退出网络, MAC地址 :"
MACSTR
", 编号(AID) = %d."
,
MAC2STR
(
event
->
mac
),
event
->
aid
);
disconnect_handler
(
event_handler_arg
);
wifi_service_stop_timer_clear
();
}
}
void
softap_service_start
(
void
)
{
// NVS分区初始化
ESP_LOGI
(
TAG
,
"---- nvs分区初始化..."
);
esp_err_t
ret
=
nvs_flash_init
();
if
(
ret
==
ESP_ERR_NVS_NO_FREE_PAGES
||
ret
==
ESP_ERR_NVS_NEW_VERSION_FOUND
)
{
ESP_ERROR_CHECK
(
nvs_flash_erase
());
ret
=
nvs_flash_init
();
}
ESP_ERROR_CHECK
(
ret
);
// 创建系统事件循环
ESP_LOGI
(
TAG
,
"---- 创建系统事件循环..."
);
ESP_ERROR_CHECK
(
esp_event_loop_create_default
());
// 将WiFi的所有事件作为实例注册进系统事件循环中
ESP_LOGI
(
TAG
,
"---- 注册WiFi事件实例..."
);
ESP_ERROR_CHECK
(
esp_event_handler_register
(
WIFI_EVENT
,
ESP_EVENT_ANY_ID
,
softap_event_handler
,
&
http_server
));
// 初始化网卡相关的底层配置
ESP_LOGI
(
TAG
,
"---- 网卡初始化..."
);
ESP_ERROR_CHECK
(
esp_netif_init
());
// 以默认的方式创建一个ap类型的网卡
ESP_LOGI
(
TAG
,
"---- 创建AP类型网卡..."
);
softap_netif
=
esp_netif_create_default_wifi_ap
();
// 初始化WiFi底层配置
ESP_LOGI
(
TAG
,
"---- WiFi初始化..."
);
wifi_init_config_t
cfg
=
WIFI_INIT_CONFIG_DEFAULT
();
ESP_ERROR_CHECK
(
esp_wifi_init
(
&
cfg
));
// 将WiFi设置成AP模式
ESP_LOGI
(
TAG
,
"---- 配置WiFi为AP模式..."
);
ESP_ERROR_CHECK
(
esp_wifi_set_mode
(
WIFI_MODE_AP
));
// 创建AP配置
ESP_LOGI
(
TAG
,
"---- 创建AP配置..."
);
wifi_config_t
wifi_config
=
{
.
ap
=
{
.
ssid
=
ESP_WIFI_SSID
,
.
ssid_len
=
strlen
(
ESP_WIFI_SSID
),
.
password
=
ESP_WIFI_PASSWD
,
.
max_connection
=
1
,
.
authmode
=
WIFI_AUTH_WPA_WPA2_PSK
}};
// 获取当前AP的MAC地址
unsigned
char
softap_mac
[
6
];
esp_wifi_get_mac
(
WIFI_IF_AP
,
softap_mac
);
// 将MAC地址后两个字节转为字符串
char
softap_temp
[
5
];
sprintf
(
softap_temp
,
"%02X%02X"
,
softap_mac
[
4
],
softap_mac
[
5
]);
// 将MAC地址拼接到 ESP_WIFI_SSID 后面
char
softap_ssid
[
32
]
=
ESP_WIFI_SSID
;
strcat
(
softap_ssid
,
softap_temp
);
// 重新配置 ssid 和 ssid_len
memcpy
(
wifi_config
.
ap
.
ssid
,
softap_ssid
,
sizeof
(
softap_ssid
));
wifi_config
.
ap
.
ssid_len
=
strlen
(
softap_ssid
);
// 配置AP的属性
ESP_ERROR_CHECK
(
esp_wifi_set_config
(
WIFI_IF_AP
,
&
wifi_config
));
// 开启WiFi
ESP_LOGI
(
TAG
,
"---- 开启WiFi, 名称 : %s 密码 : %s"
,
wifi_config
.
ap
.
ssid
,
wifi_config
.
ap
.
password
);
ESP_ERROR_CHECK
(
esp_wifi_start
());
// 首次开启http_server
ESP_LOGI
(
TAG
,
"---- 首次开启HTTP服务器..."
);
http_server
=
http_service
();
// 启动服务关闭计时器
ESP_LOGI
(
TAG
,
"---- 启动服务关闭计时器..."
);
wifi_service_stop_timer_clear
();
}
void
softap_service_stop
(
void
)
{
// 关闭http_server
ESP_LOGI
(
TAG
,
"---- 关闭HTTP服务器..."
);
disconnect_handler
(
&
http_server
);
// 关闭WiFi
ESP_LOGI
(
TAG
,
"---- 关闭WiFi..."
);
ESP_ERROR_CHECK
(
esp_wifi_stop
());
// WiFi反初始化
ESP_LOGI
(
TAG
,
"---- WiFi反初始化..."
);
ESP_ERROR_CHECK
(
esp_wifi_deinit
());
// 销毁网卡实例
ESP_LOGI
(
TAG
,
"---- 销毁网卡实例..."
);
esp_netif_destroy_default_wifi
(
softap_netif
);
// 网卡反初始化 - 官方未实现的功能
// ESP_LOGI(TAG, "---- 网卡反初始化...");
// ESP_ERROR_CHECK(esp_netif_deinit());
// 注销WiFi事件实例
ESP_LOGI
(
TAG
,
"---- 注销WiFi事件实例..."
);
ESP_ERROR_CHECK
(
esp_event_handler_unregister
(
WIFI_EVENT
,
ESP_EVENT_ANY_ID
,
softap_event_handler
));
// 删除系统事件循环
ESP_LOGI
(
TAG
,
"---- 删除系统事件循环..."
);
ESP_ERROR_CHECK
(
esp_event_loop_delete_default
());
// NVS分区反初始化
ESP_LOGI
(
TAG
,
"---- NVS分区反初始化..."
);
ESP_ERROR_CHECK
(
nvs_flash_deinit
());
ESP_LOGI
(
TAG
,
"---- WiFi服务已关闭, 重置WiFi参数"
);
wifi_service_init
();
}
RT200T_2_ESP32/source/wifi/softap.h
0 → 100644
View file @
12945184
#ifndef _SOFTAP_H_
#define _SOFTAP_H_
#include "esp_wifi.h"
#include "http_server.h"
#define SOFTAP_STOP 0
#define SOFTAP_INIT 1
#define SOFTAP_START 2
#define SOFTAP_DEINIT 3
#define STA_CONNECTED_NEVER 0
#define STA_CONNECTED_ONCE 1
#define ESP_WIFI_SSID "ESP32S3_AP_"
#define ESP_WIFI_PASSWD "12345677"
extern
wifi_sta_list_t
softap_sta_list
;
extern
unsigned
char
softap_sta_connect
;
void
softap_service_start
(
void
);
void
softap_service_stop
(
void
);
#endif
RT200T_2_ESP32/source/wifi/wifi_service.c
0 → 100644
View file @
12945184
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_log.h"
#include "driver/uart.h"
#include "esp_wifi.h"
#include "wifi_service.h"
static
const
char
*
TAG
=
"wifi_service"
;
/*****************************************************
* 首次启动HTTP服务器后, 如果一直没有STA设备加入
* 就不能触发STA disconnect事件,也就不会自动关闭HTTP服务器
* 所以需要额外判断这种情况, 当30秒关闭的定时器触发2次后直接关闭
******************************************************/
static
unsigned
char
http_server_stop_counter
=
0
;
static
unsigned
char
softap_service_stop_flag
=
0
;
static
unsigned
short
wifi_service_stop_timer
=
0
;
wifi_service_t
wifi_service_info
;
void
wifi_service_init
(
void
)
{
wifi_service_stop_timer
=
0
;
softap_service_stop_flag
=
0
;
http_server_stop_counter
=
0
;
wifi_service_info
.
status
=
WIFI_SERVICE_STOP
;
wifi_service_info
.
softap_status
=
SOFTAP_STOP
;
wifi_service_info
.
http_server_status
=
HTTP_SERVER_STOP
;
wifi_service_info
.
ota_partition
=
0
;
}
void
wifi_service_timer
(
void
)
{
if
(
wifi_service_info
.
status
==
WIFI_SERVICE_STOP
)
{
// 开启WiFi服务
wifi_service_info
.
status
=
WIFI_SERVICE_INIT
;
}
if
(
wifi_service_info
.
status
==
WIFI_SERVICE_START
)
{
if
(
wifi_service_stop_timer
<
300
)
{
++
wifi_service_stop_timer
;
}
// 每30秒尝试关闭WiFi服务
if
(
wifi_service_stop_timer
==
300
)
{
wifi_service_info
.
status
=
WIFI_SERVICE_DEINIT
;
}
}
}
void
wifi_service_stop_timer_clear
(
void
)
{
wifi_service_stop_timer
=
0
;
}
void
wifi_service
(
void
)
{
if
(
wifi_service_info
.
status
==
WIFI_SERVICE_INIT
)
// 收到指令: WiFi服务初始化
{
wifi_service_info
.
status
=
WIFI_SERVICE_START
;
ESP_LOGI
(
TAG
,
"---- 关闭CAN总线, 卸载LIN driver, 开启WiFi服务..."
);
// Bsp_Can_Sleep_Init();
// uart_driver_delete(UART_NUM_1);
softap_service_start
();
}
else
{
if
(
wifi_service_info
.
status
==
WIFI_SERVICE_DEINIT
)
// 收到指令: WiFi服务反初始化, 先读取当前连接的STA数量
{
esp_err_t
ret
=
esp_wifi_ap_get_sta_list
(
&
softap_sta_list
);
if
(
ret
==
ESP_OK
)
{
if
(
softap_sta_list
.
num
==
0
)
// 当前没有STA连接
{
if
(
softap_sta_connect
==
STA_CONNECTED_NEVER
)
// 从未有STA接入过
{
if
(
http_server_stop_counter
==
1
)
{
softap_service_stop_flag
=
1
;
}
else
{
ESP_LOGI
(
TAG
,
"首次启动HTTP服务器, 1分钟内不会关闭WiFi"
);
++
http_server_stop_counter
;
// 服务器开启状态且没有设备接入过, 延后30秒再关闭
}
}
else
{
softap_service_stop_flag
=
1
;
// 关闭WiFi服务
}
}
else
{
ESP_LOGI
(
TAG
,
"---- 有STA设备在线, 拒绝关闭WiFi"
);
}
}
else
{
ESP_LOGI
(
TAG
,
"---- 读取当前连接的STA数量失败, 打印错误信息"
);
esp_err_to_name
(
ret
);
}
if
(
softap_service_stop_flag
==
1
)
{
wifi_service_info
.
status
=
WIFI_SERVICE_STOP
;
ESP_LOGI
(
TAG
,
"---- 关闭WiFi服务, 开启CAN总线, 重装LIN driver..."
);
softap_service_stop
();
// Bsp_Can_Wakeup_Init();
// bsp_Uart1_Init();
}
else
{
wifi_service_info
.
status
=
WIFI_SERVICE_START
;
wifi_service_stop_timer
=
0
;
// 重置HTTP服务器关闭的定时器
}
}
}
}
RT200T_2_ESP32/source/wifi/wifi_service.h
0 → 100644
View file @
12945184
#ifndef _WIFI_SERVICE_H_
#define _WIFI_SERVICE_H_
#include "softap.h"
#define WIFI_SERVICE_STOP 0
#define WIFI_SERVICE_INIT 1
#define WIFI_SERVICE_START 2
#define WIFI_SERVICE_DEINIT 3
typedef
struct
{
unsigned
char
status
;
unsigned
char
softap_status
;
// 暂时用不上 2024.05.08
unsigned
char
http_server_status
;
// 暂时用不上 2024.05.08
unsigned
char
ota_partition
;
// 暂时用不上 2024.05.08
}
wifi_service_t
;
extern
wifi_service_t
wifi_service_info
;
void
wifi_service_init
(
void
);
void
wifi_service_timer
(
void
);
void
wifi_service_stop_timer_clear
(
void
);
void
wifi_service
(
void
);
extern
void
Bsp_Can_Sleep_Init
(
void
);
extern
void
Bsp_Can_Wakeup_Init
(
void
);
extern
void
bsp_Uart1_Init
(
void
);
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment