nkolban / esp32_explorer Goto Github PK
View Code? Open in Web Editor NEWESP32 Explorer
License: Apache License 2.0
ESP32 Explorer
License: Apache License 2.0
I failed to find how to load the front end files to ESP storage partition, I guess I miss something...
Loading the front end files directly into browser looks like working (some issues with file tree tab)!
(partition created correctly as described by csv file...)
Please add some explanations about how to load the front end resource folder to ESP.
Tried to build this but keep getting this error
C:/msys32/home/gcorson/esp/ESP32_Explorer/main/main.cpp:1:20: fatal error: Memory.h: No such file or directory
compilation terminated.
make[1]: *** [/home/gcorson/esp/esp-idf/make/component_wrapper.mk:290: main.o] Error 1
make: *** [C:/msys32/home/gcorson/esp/esp-idf/make/project.mk:582: component-main-build] Error 2
I did see the other post and downloaded esp32-snippits and changed ESP32_Explorer/components/cpp_utils to point to that directory, but still get the error.
I've compiled this but I would be grateful if you could please explain to this ESP32 and IDF build system noob how to perform the "link with the application" step? How does the explorer actually get started?
I wondered if there is there a plan to turn this into a IDF component
and in it have a esp32_explorer.h
header file with something like:
void start_explorer(int port, const char* user, const char* password)
;
The FreeRTOS tasks are sorted ... but they are case sensitive. This means we get
A-Z and then a-z ... thats no good ... we need a case insensitive comparison.
make flash && make flashfatfs are not working
make flashfatfs
/c/Work/Actisense/Esp32_Explorer/components/fatfs_image/Makefile.projbuild:13: warning: undefined variable 'CONFIG_FATFS_SIZE'
/c/Work/Actisense/Esp32_Explorer/components/fatfs_image/Makefile.projbuild:14: warning: undefined variable 'CONFIG_FATFS_BASE_ADDR'
Making fatfs image ...
python /c/Work/LibDev/esp32/esp-idf/components/esptool_py/esptool/esptool.py --chip esp32 --port COM174 --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect
PARSE ERROR: Argument: -s (--size)
Couldn't read argument value from string '/c/Work/Actisense/Esp32_Explorer/build/fatfs_image.img'
Brief USAGE:
/c/Work/Actisense/Esp32_Explorer/components/mkfatfs/../mkfatfs/src/mkfat
fs {-c <pack_dir>|-u <dest_dir>|-l
|-i} [-d <0-5>] [-s ] [--]
[--version] [-h] <image_file>
For complete USAGE and HELP type:
/c/Work/Actisense/Esp32_Explorer/components/mkfatfs/../mkfatfs/src/mkfatfs --help
make: *** [/c/Work/Actisense/Esp32_Explorer/components/fatfs_image/Makefile.projbuild:13: flashfatfs] Error 1
What ESP32 Explorer project expect?
Does it expect these sub folders?
C:\Work\Actisense\Esp32_Explorer\components\fatfs_image
C:\Work\Actisense\Esp32_Explorer\components\mkfatfs
Hi Guys,
This looks great! I can't wait to try it out (I understand it's a work-in-progress)
I'm having the following build errors, any ideas?
Thanks,
Steve.
In file included from C:/msys32/home/Steve/esp/proj-cpp/explore/components/cpp_utils/BLEUtils.cpp:22:0:
C:/msys32/home/Steve/esp/proj-cpp/explore/components/cpp_utils/BLEUtils.cpp: In static member function 'static void BLEUtils::dumpGattClientEvent(esp_gattc_cb_event_t, esp_gatt_if_t, esp_ble_gattc_cb_param_t*)':
C:/msys32/home/Steve/esp/proj-cpp/explore/components/cpp_utils/BLEUtils.cpp:1290:52: error: 'struct esp_ble_gattc_cb_param_t::gattc_connect_evt_param' has no member named 'status'
BLEUtils::gattStatusToString(evtParam->connect.status).c_str(),
^
C:/msys32/home/Steve/esp/esp-idf/components/log/include/esp_log.h:242:168: note: in definition of macro 'ESP_LOGD'
#define ESP_LOGD( tag, format, ... ) if (LOG_LOCAL_LEVEL >= ESP_LOG_DEBUG) { esp_log_write(ESP_LOG_DEBUG, tag, LOG_FORMAT(D, format), esp_log_timestamp(), tag, ##VA_ARGS); }
^
C:/msys32/home/Steve/esp/proj-cpp/explore/components/cpp_utils/BLEUtils.cpp:1306:55: error: 'struct esp_ble_gattc_cb_param_t::gattc_disconnect_evt_param' has no member named 'status'
BLEUtils::gattStatusToString(evtParam->disconnect.status).c_str(),
^
C:/msys32/home/Steve/esp/esp-idf/components/log/include/esp_log.h:242:168: note: in definition of macro 'ESP_LOGD'
#define ESP_LOGD( tag, format, ... ) if (LOG_LOCAL_LEVEL >= ESP_LOG_DEBUG) { esp_log_write(ESP_LOG_DEBUG, tag, LOG_FORMAT(D, format), esp_log_timestamp(), tag, ##VA_ARGS); }
^
C:/msys32/home/Steve/esp/proj-cpp/explore/components/cpp_utils/BLEUtils.cpp: In static member function 'static void BLEUtils::dumpGattServerEvent(esp_gatts_cb_event_t, esp_gatt_if_t, esp_ble_gatts_cb_param_t*)':
C:/msys32/home/Steve/esp/proj-cpp/explore/components/cpp_utils/BLEUtils.cpp:1592:23: error: 'struct esp_ble_gatts_cb_param_t::gatts_connect_evt_param' has no member named 'is_connected'
evtParam->connect.is_connected);
^
C:/msys32/home/Steve/esp/esp-idf/components/log/include/esp_log.h:242:168: note: in definition of macro 'ESP_LOGD'
#define ESP_LOGD( tag, format, ... ) if (LOG_LOCAL_LEVEL >= ESP_LOG_DEBUG) { esp_log_write(ESP_LOG_DEBUG, tag, LOG_FORMAT(D, format), esp_log_timestamp(), tag, ##VA_ARGS); }
^
C:/msys32/home/Steve/esp/proj-cpp/explore/components/cpp_utils/BLEUtils.cpp:1609:23: error: 'struct esp_ble_gatts_cb_param_t::gatts_connect_evt_param' has no member named 'is_connected'
evtParam->connect.is_connected);
^
C:/msys32/home/Steve/esp/esp-idf/components/log/include/esp_log.h:242:168: note: in definition of macro 'ESP_LOGD'
#define ESP_LOGD( tag, format, ... ) if (LOG_LOCAL_LEVEL >= ESP_LOG_DEBUG) { esp_log_write(ESP_LOG_DEBUG, tag, LOG_FORMAT(D, format), esp_log_timestamp(), tag, ##VA_ARGS); }
^
make[1]: *** [/home/Steve/esp/esp-idf/make/component_wrapper.mk:243: BLEUtils.o] Error 1
make: *** [C:/msys32/home/Steve/esp/esp-idf/make/project.mk:435: component-cpp_utils-build] Error 2
Hi,
I need to return in JSON reply via HTTP rest api list of folders and sub folders with files names to be shown on UI. User can select files or folders and I can download it on PC. Is JSON module which generate files explorer is moduler, so I can use it as module integrate into my codebase.
Otherwise I can write myself JSON generated from file system. any JSON format recommendation for folders and sub folders.
Thanks,
Naeem
class MyMultiPart is comment out
Does HttpServer does not support File upload post?
Add a tool/web page where the user can submit I2C commands for execution and see the results.
These make are not working for
make: *** No rule to make target 'makefatfs'. Stop
make makefatfs
make flashfatfs
Also
Flash mount is failing.
D (2699) wl_flash: initSections - result=00000000
D (2699) wl_flash: recoverPos - this->state.pos=0x00000000, result=00000000
D (2709) vfs_fat_spiflash: using pdrv=0
W (2709) vfs_fat_spiflash: f_mount failed (13)
I (2719) vfs_fat_spiflash: Formatting FATFS partition, allocation unit size=52
4288
E (2719) vfs_fat_spiflash: f_mkfs failed (14)
ESP_ERROR_CHECK failed: esp_err_t 0xffffffff at 0x4011454a
file: "C:/Work/LibDev/esp32/esp-idf/components/cpp_utils/FATFS_VFS.cpp" line 4
9
func: void FATFS_VFS::mount()
expression: esp_vfs_fat_spiflash_mount(m_mountPath.c_str(), m_partitionName.c_
str(), &mountConfig, &m_wl_handle)
Backtrace: 0x4008e85f:0x3ffd6c10 0x4008ecd5:0x3ffd6c30 0x4011454a:0x3ffd6c50 0
x400d4fbb:0x3ffd6c80 0x400d45b9:0x3ffd6ce0 0x4010de80:0x3ffd6d00
Im posting this in one issue for some reason. At the moment we have already implemented bootWiFi and it works but as everything i am doing requires some touch to work good. But the reason i am posting bootWIFI and OTA in one issue is because i think we can provide in bootWiFi setup web page additional fields to let us input IP, port and path to file that will be used to OTA.
I would like to hear comments on it before i will send PR
Using latest esp-idf master and ESP32_Explorer as of today.
$ make
CXX build/main/BLEExplorer.o
In file included from /Users/cmorgan/projects/ESP32_Explorer/main/./BLEExplorer.cpp:8:0:
/Users/cmorgan/projects/ESP32_Explorer/main/./BLEExplorer.h:11:18: fatal error: JSON.h: No such file or directory
#include "JSON.h"
^
compilation terminated.
make[1]: *** [BLEExplorer.o] Error 1
Hi,
there is too low heap to start webserver. Before web server starts heap is about 40kB, giving him stack about 20kB system crashes even before all path handlers are added, i have had to comment out 3 of them to run program.
CXX build/main/main.o
C:/msys32/home/Megauser/esp/ESP32_Explorer/main/main.cpp:1:20: fatal error: Memory.h: No such file or directory
compilation terminated.
make[1]: *** [/home/Megauser/esp/esp-idf/make/component_wrapper.mk:286: main.o] Error 1
make: *** [C:/msys32/home/Megauser/esp/esp-idf/make/project.mk:505: component-main-build] Error 2
Could someone explain reasons, pl.
Hi there,
The 'Choose file' button doesn't seem to be working.
Has this been implemented yet, or is there a problem with this function?
Regards,
Steve.
How it is possible that time which is in milliseconds is displayed in microseconds? Last 3 digits should be 0 and only 0.
Free heap memory: 123932
Time: 485.793623
ESP IDF Version: v3.0-dev-1248-g7e8c2a9
Cores: 2
Revision: 0
It is desired to show the amount of minimum free heap.
Hi Neil!
I've tried to compile your Explorer app with Eclipse and ESP-IDF. Eclipse is configured based on your youtube tutorial. I've been experimenting with ESP32 for just a couple of days. I've copied Explorer source files under a subdirectory in my test application, and invoked from my main app.
My test project stucture:
- [project]
- components - dir
- esp32-ds18b20 - dir
- esp32-owb - dir
- main - dir
- cpp_utils - dir
- explorer - dir
- adafruit - dir
- Adafruit_GFX files
- Adafruit_SSD1306 files
- main_helloworld.cpp and some files
The compile seems to be successful, but linking is fail. I've copied first cpp_util directory to components dir with the same result. Without Explorer, the app is compiled and linked successfully with the ds18b20 library in the components directory, and adafruit libraries in the main/adafruit subdirectory.
Build log is here:
https://pastebin.com/raw/7Q80biQJ
Thanks.
Ive seen many errors already, but this one drives me crazy. Making changes in settings does not help, only thing that helps is to reflash few times (until that error disappear) with the same settings and the same app code.
D (8922) Socket: - accept: Received new client!: sockFd: 4097
D (8922) Socket: << accept: sockFd: 4097
/home/esp32/esp/esp-idf/components/freertos/./tasks.c:4052 (xTaskPriorityDisinherit)- assert failed!
abort() was called at PC 0x4008a0aa on core 0
0x4008a0aa: xTaskPriorityDisinherit at /home/esp32/esp/esp-idf/components/freertos/./tasks.c:4052 (discriminator 1)
Backtrace: 0x4008bddc:0x3ffdf120 0x4008bea7:0x3ffdf140 0x4008a0aa:0x3ffdf160 0x4008825e:0x3ffdf180 0x4008859c:0x3ffdf1a0 0x4015c8c1:0x3ffdf1e0 0x40164371:0x3ffdf220
0x4008bddc: invoke_abort at /home/esp32/esp/esp-idf/components/esp32/./panic.c:572
0x4008bea7: abort at /home/esp32/esp/esp-idf/components/esp32/./panic.c:572
0x4008a0aa: xTaskPriorityDisinherit at /home/esp32/esp/esp-idf/components/freertos/./tasks.c:4052 (discriminator 1)
0x4008825e: prvCopyDataToQueue at /home/esp32/esp/esp-idf/components/freertos/./queue.c:2037
0x4008859c: xQueueGenericSend at /home/esp32/esp/esp-idf/components/freertos/./queue.c:2037
0x4015c8c1: FreeRTOS::Semaphore::give() at /home/esp32/ESP32_Explorer/components/cpp_utils/./FreeRTOS.cpp:134
0x40164371: SockServ::acceptTask(void*) at /home/esp32/ESP32_Explorer/components/cpp_utils/./SockServ.cpp:134
ESP-IDF wear-levelling example that use mounting FAT works...also replacing the explorer mount code with the wear-levelling mount code works!
Env:
Platform: Win10
ESP-IDF: v3.1-dev-386-g7d13e3fa-dirty
SDK: Eclipse (Mingw32 make = same results)
esptool.py v2.2.1
Chip is ESP32D0WDQ6 (Dev Board)
xtensa-esp32-elf-5.2.0
Steps:
got the following crash dump:
D (1393) wl_flash: init - config ID=1, stored ID=1, access_count=0, block_size=4096, max_count=16, pos=0, move_count=0
D (1403) wl_flash: init starts: crc1=1280242342, crc2 = 1280242342, this->state.crc=1280242342, state_copy->crc=1280242342
D (1413) wl_flash: init: crc1=1280242342, crc2 = 1280242342, result=0
D (1423) wl_flash: recoverPos - this->state.pos=0x00000000, result=00000000
D (1433) vfs_fat_spiflash: using pdrv=0
W (1433) vfs_fat_spiflash: f_mount failed (13)
I (1443) vfs_fat_spiflash: Formatting FATFS partition, allocation unit size=524288
E (1443) vfs_fat_spiflash: f_mkfs failed (14)
ESP_ERROR_CHECK failed: esp_err_t 0xffffffff at 0x40114416
0x40114416: FATFS_VFS::mount() at D:/Google-Drive/Technology/ESP32/Dev/Eclipse/workspace/ESP32_Explorer/components/cpp_utils/FATFS_VFS.
cpp:49 (discriminator 2)
file: "D:/Google-Drive/Technology/ESP32/Dev/Eclipse/workspace/ESP32_Explorer/components/cpp_utils/FATFS_VFS.cpp" line 49
func: void FATFS_VFS::mount()
expression: esp_vfs_fat_spiflash_mount(m_mountPath.c_str(), m_parttitionName.c_str(), &mountConfig, &m_wl_handle)
Backtrace: 0x4008e983:0x3ffd6c30 0x4008edf9:0x3ffd6c50 0x40114416:0x3ffd6c70 0x400d5159:0x3ffd6ca0 0x400d4759:0x3ffd6d00 0x4010dab8:0x3
ffd6d20
0x4008e983: invoke_abort at C:/Esp32/Esp-IDF/components/esp32/panic.c:648
0x4008edf9: _esp_error_check_failed at C:/Esp32/Esp-IDF/components/esp32/panic.c:660
0x40114416: FATFS_VFS::mount() at D:/Google-Drive/Technology/ESP32/Dev/Eclipse/workspace/ESP32_Explorer/components/cpp_utils/FATFS_VFS.
cpp:49 (discriminator 2)
0x400d5159: ESP32_Explorer::start() at D:/Google-Drive/Technology/ESP32/Dev/Eclipse/workspace/ESP32_Explorer/main/ESP32Explorer.cpp:527
(discriminator 8)
0x400d4759: ESP32_ExplorerTask::run(void*) at D:/Google-Drive/Technology/ESP32/Dev/Eclipse/workspace/ESP32_Explorer/main/main.cpp:36
0x4010dab8: Task::runTask(void*) at D:/Google-Drive/Technology/ESP32/Dev/Eclipse/workspace/ESP32_Explorer/components/cpp_utils/Task.cpp
:59
Add support for BLE logging and testing.
If memory serves me, I believe another contributor is working/interested in this area as well. As such, until I can chat with that colleague I'll refrain from working in that area myself.
later ...
Mr @chegwara is working on this one.
D (30079) ESP32Explorer: handle_REST_GPIO
abort() was called at PC 0x40138643 on core 0
0x40138643: __cxxabiv1::__terminate(void (*)()) at /builds/idf/crosstool-NG/.build/src/gcc-5.2.0/libstdc++-v3/libsupc++/eh_terminate.cc:112
Backtrace: 0x400890a0:0x3fff6870 0x4008916b:0x3fff6890 0x40138643:0x3fff68b0 0x4013868a:0x3fff68d0 0x4011f91f:0x3fff68f0 0x40128147:0x3fff6910 0x4010668f:0x3fff6930 0x4014bddf:0x3fff6960 0x40109223:0x3fff6980 0x4017ac92:0x3fff6a20 0x4014afb9:0x3fff6a40 0x4014b911:0x3fff6e60 0x4014d228:0x3fff83b0
0x400890a0: invoke_abort at /home/esp32/esp/esp-idf/components/esp32/./panic.c:553
0x4008916b: abort at /home/esp32/esp/esp-idf/components/esp32/./panic.c:553
0x40138643: __cxxabiv1::__terminate(void (*)()) at /builds/idf/crosstool-NG/.build/src/gcc-5.2.0/libstdc++-v3/libsupc++/eh_terminate.cc:112
0x4013868a: std::terminate() at /builds/idf/crosstool-NG/.build/src/gcc-5.2.0/libstdc++-v3/libsupc++/eh_terminate.cc:112
0x4011f91f: __cxa_throw at /builds/idf/crosstool-NG/.build/src/gcc-5.2.0/libstdc++-v3/libsupc++/eh_throw.cc:87
0x40128147: std::__throw_logic_error(char const*) at /builds/idf/crosstool-NG/.build/src/gcc-5.2.0/libstdc++-v3/src/c++11/functexcept.cc:135 (discriminator 1)
0x4010668f: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag) at /home/esp32/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.tcc:216
0x4014bddf: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char const*>(char const*, char const*, std::__false_type) at /home/esp32/ESP32_Explorer/components/cpp_utils/./JSON.cpp:196
(inlined by) void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*) at /home/esp32/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.h:214
(inlined by) std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) at /home/esp32/esp/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.h:457
(inlined by) JsonObject::toString[abi:cxx11]() at /home/esp32/ESP32_Explorer/components/cpp_utils/./JSON.cpp:344
0x40109223: handle_REST_GPIO(HttpRequest*, HttpResponse*) at /home/esp32/ESP32_Explorer/main/./ESP32Explorer.cpp:88
0x4017ac92: PathHandler::invokePathHandler(HttpRequest*, HttpResponse*) at /home/esp32/ESP32_Explorer/components/cpp_utils/./HttpServer.cpp:372
0x4014afb9: HttpServerTask::processRequest(HttpRequest&) at /home/esp32/ESP32_Explorer/components/cpp_utils/./HttpServer.cpp:325
0x4014b911: HttpServerTask::run(void*) at /home/esp32/ESP32_Explorer/components/cpp_utils/./HttpServer.cpp:325
0x4014d228: Task::runTask(void*) at /home/esp32/ESP32_Explorer/components/cpp_utils/./Task.cpp:58
I am unable to compile the ESP32_Explorer source using Eclipse (and also using make directly from mingw32) as recommended in the ESP-IDF "Getting Started" guide.
The error I receive is related to FATFS_VFS.h not being found.
ESP32_Explorer/main/main.cpp:4:23: fatal error: FATFS_VFS.h: No such file or directory
compilation terminated.
I have found the FATFS_VFS.h and .cpp in the "esp32_snippets" repository here and here, and copied them to the project folder at the following location, but neither of these could help me get rid of the error.
FATFS_VFS.h and FATFS_VFS.cpp copied to (one location at a time):
Where are these files supposed to be located for the compiler to 'see' them?
When I issue an I2C scan, we get errors in the log. See the following pastebin:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.