tobozo / ESP32-BLECollector

ᛡᛒ BLE Scanner + Data persistence on SD Card for M5Stack, M5Core2, Odroid-Go, ESP32-Wrover-Kit and other models
https://youtu.be/G07loGS04Vg
MIT License
276 stars 31 forks source link

Help:About ESP32-WROOM-32U development board and ili9341 2.8 screen wiring instructions #42

Closed LuckyFishGeek closed 2 years ago

LuckyFishGeek commented 2 years ago

I like this project very much, the beautiful interface and functions attract me, thank you for your work! I have an ESP32-WROOM-32U development board and ili9341 2.8 ESP32-DevKitC-core-board-ESP32-development-board-ESP32-WROOM-32D-ESP32-WROOM-32U-for-Arduino jpg_q50 (1)

ESP32-DevKitC-core-board-ESP32-development-board-ESP32-WROOM-32D-ESP32-WROOM-32U-for-Arduino jpg_q50 tb_image_share_1633481066071

tb_image_share_1633481040053

Is there any specific instructions about the wiring? Sorry I am a rookie, please forgive me

tobozo commented 2 years ago

hi, thanks for your feedback

I never tried this projects on a custom hardware build, but I'd use an ESP32-Wrover instead, it has PSRam and the BLECollector needs a lot of it.

The BLECollector can run without PSRam, but the tradeoff is that some caches won't be enabled so it'll be slower, and probably crashier.

Wiring: M5Stack Basic uses an ILI9341 and a SD Card too. I recommend using the exact same pinout from TFT/TF_Card.

image

Sticking with a know pinout will let you use the zero-conf feature from ESP32-Chimera-Core, and basic tests should work out of the box provided you select "M5Stack-Core-ESP32" from the Arduino menu,.

You can then test some very basic examples (TFT and SD) before the BLE Collecor to see if your wiring is correct.

LuckyFishGeek commented 2 years ago

I will test your suggestions Thank you for your help and answers Wish you a good mood every day

LuckyFishGeek commented 2 years ago

Snipaste_2021-10-07_15-20-19

An error was reported during compilation

`Arduino:1.8.16 (Windows 10), 开发板:"M5Stack-Core-ESP32, QIO, 80MHz, Minimal SPIFFS (Large APPS with OTA), 921600, None"


In file included from C:\Users\Administrator\Desktop\ESP32-BLECollector\Settings.h:195,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\ESP32-BLECollector.ino:50:
C:\Users\Administrator\Desktop\ESP32-BLECollector\Display.h: In function 'void tft_begin()':
Display.h:253:22: error: too few arguments to function 'void checkSDUpdater(fs::FS&, String, long unsigned int, int)'
       checkSDUpdater();
                      ^
In file included from C:\Users\Administrator\Desktop\ESP32-BLECollector\Display.h:5,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\Settings.h:195,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\ESP32-BLECollector.ino:50:
C:\Users\Administrator\Arduino\libraries\M5Stack-SD-Updater\src/M5StackUpdater.h:266:37: note: declared here
 __attribute__((unused)) static void checkSDUpdater( fs::FS &fs, String fileName = MENU_BIN, unsigned long waitdelay = 0, const int TfCardCsPin_ = TFCARD_CS_PIN )
                                     ^~~~~~~~~~~~~~
In file included from C:\Users\Administrator\Desktop\ESP32-BLECollector\Settings.h:195,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\ESP32-BLECollector.ino:50:
Display.h:259:22: error: too few arguments to function 'void updateFromFS(fs::FS&, const String&, int)'
         updateFromFS();
                      ^
In file included from C:\Users\Administrator\Desktop\ESP32-BLECollector\Display.h:5,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\Settings.h:195,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\ESP32-BLECollector.ino:50:
C:\Users\Administrator\Arduino\libraries\M5Stack-SD-Updater\src/M5StackUpdater.h:240:37: note: declared here
 __attribute__((unused)) static void updateFromFS( fs::FS &fs, const String& fileName = MENU_BIN, const int TfCardCsPin = TFCARD_CS_PIN )
                                     ^~~~~~~~~~~~
In file included from C:\Users\Administrator\Desktop\ESP32-BLECollector\TimeUtils.h:103,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\Settings.h:259,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\ESP32-BLECollector.ino:50:
C:\Users\Administrator\Desktop\ESP32-BLECollector\NTP.h: In function 'bool checkForTimeUpdate(DateTime&)':
NTP.h:9:106: error: call of overloaded 'abs(uint32_t)' is ambiguous
   int64_t seconds_since_last_ntp_update = abs( internalDateTime.unixtime() - lastSyncDateTime.unixtime() );
                                                                                                          ^
In file included from c:\users\administrator\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r1\xtensa-esp32-elf\include\c++\8.4.0\cstdlib:75,
                 from c:\users\administrator\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r1\xtensa-esp32-elf\include\c++\8.4.0\stdlib.h:36,
                 from C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0-rc1/tools/sdk/esp32/include/newlib/platform_include/assert.h:21,
                 from c:\users\administrator\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r1\xtensa-esp32-elf\sys-include\sys\reent.h:503,
                 from C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0-rc1/tools/sdk/esp32/include/newlib/platform_include/sys/reent.h:17,
                 from c:\users\administrator\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r1\xtensa-esp32-elf\sys-include\stdio.h:60,
                 from C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0-rc1\cores\esp32/Arduino.h:27,
                 from sketch\ESP32-BLECollector.ino.cpp:1:
c:\users\administrator\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r1\xtensa-esp32-elf\sys-include\stdlib.h:74:5: note: candidate: 'int abs(int)'
 int abs (int);
     ^~~
In file included from c:\users\administrator\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r1\xtensa-esp32-elf\include\c++\8.4.0\cstdlib:77,
                 from c:\users\administrator\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r1\xtensa-esp32-elf\include\c++\8.4.0\stdlib.h:36,
                 from C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0-rc1/tools/sdk/esp32/include/newlib/platform_include/assert.h:21,
                 from c:\users\administrator\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r1\xtensa-esp32-elf\sys-include\sys\reent.h:503,
                 from C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0-rc1/tools/sdk/esp32/include/newlib/platform_include/sys/reent.h:17,
                 from c:\users\administrator\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r1\xtensa-esp32-elf\sys-include\stdio.h:60,
                 from C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.0-rc1\cores\esp32/Arduino.h:27,
                 from sketch\ESP32-BLECollector.ino.cpp:1:
c:\users\administrator\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r1\xtensa-esp32-elf\include\c++\8.4.0\bits\std_abs.h:78:3: note: candidate: 'constexpr long double std::abs(long double)'
   abs(long double __x)
   ^~~
c:\users\administrator\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r1\xtensa-esp32-elf\include\c++\8.4.0\bits\std_abs.h:74:3: note: candidate: 'constexpr float std::abs(float)'
   abs(float __x)
   ^~~
c:\users\administrator\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r1\xtensa-esp32-elf\include\c++\8.4.0\bits\std_abs.h:70:3: note: candidate: 'constexpr double std::abs(double)'
   abs(double __x)
   ^~~
c:\users\administrator\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r1\xtensa-esp32-elf\include\c++\8.4.0\bits\std_abs.h:61:3: note: candidate: 'long long int std::abs(long long int)'
   abs(long long __x) { return __builtin_llabs (__x); }
   ^~~
c:\users\administrator\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r1\xtensa-esp32-elf\include\c++\8.4.0\bits\std_abs.h:56:3: note: candidate: 'long int std::abs(long int)'
   abs(long __i) { return __builtin_labs(__i); }
   ^~~
In file included from C:\Users\Administrator\Desktop\ESP32-BLECollector\Settings.h:260,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\ESP32-BLECollector.ino:50:
C:\Users\Administrator\Desktop\ESP32-BLECollector\UI.h: In member function 'void MacAddressColors::spriteDraw(TFT_eSprite*, uint16_t, uint16_t)':
C:\Users\Administrator\Desktop\ESP32-BLECollector\UI.h:89:46: warning: 'void lgfx::v1::LGFXBase::pushColor(const T&, uint32_t) [with T = short unsigned int; uint32_t = unsigned int]' is deprecated: use pushBlock [-Wdeprecated-declarations]
             sprite->pushColor( color, scaleX );
                                              ^
In file included from C:\Users\Administrator\Arduino\libraries\LovyanGFX\src/lgfx/v1_init.hpp:25,
                 from C:\Users\Administrator\Arduino\libraries\LovyanGFX\src/LovyanGFX.hpp:31,
                 from C:\Users\Administrator\Arduino\libraries\LovyanGFX\src/LGFX_TFT_eSPI.hpp:25,
                 from C:\Users\Administrator\Arduino\libraries\ESP32-Chimera-Core\src/M5Display.h:9,
                 from C:\Users\Administrator\Arduino\libraries\ESP32-Chimera-Core\src/ESP32-Chimera-Core.h:130,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\Display.h:1,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\Settings.h:195,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\ESP32-BLECollector.ino:50:
C:\Users\Administrator\Arduino\libraries\LovyanGFX\src/lgfx/v1/LGFXBase.hpp:738:42: note: declared here
     [[deprecated("use pushBlock")]] void pushColor(const T& color, uint32_t length) { if (0 != length) { setColor(color); startWrite(); _panel->writeBlock(getRawColor(), length); endWrite(); } }
                                          ^~~~~~~~~
In file included from C:\Users\Administrator\Desktop\ESP32-BLECollector\Settings.h:260,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\ESP32-BLECollector.ino:50:
C:\Users\Administrator\Desktop\ESP32-BLECollector\UI.h:91:50: warning: 'void lgfx::v1::LGFXBase::pushColor(const T&, uint32_t) [with T = short unsigned int; uint32_t = unsigned int]' is deprecated: use pushBlock [-Wdeprecated-declarations]
             sprite->pushColor( BLE_WHITE, scaleX );
                                                  ^
In file included from C:\Users\Administrator\Arduino\libraries\LovyanGFX\src/lgfx/v1_init.hpp:25,
                 from C:\Users\Administrator\Arduino\libraries\LovyanGFX\src/LovyanGFX.hpp:31,
                 from C:\Users\Administrator\Arduino\libraries\LovyanGFX\src/LGFX_TFT_eSPI.hpp:25,
                 from C:\Users\Administrator\Arduino\libraries\ESP32-Chimera-Core\src/M5Display.h:9,
                 from C:\Users\Administrator\Arduino\libraries\ESP32-Chimera-Core\src/ESP32-Chimera-Core.h:130,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\Display.h:1,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\Settings.h:195,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\ESP32-BLECollector.ino:50:
C:\Users\Administrator\Arduino\libraries\LovyanGFX\src/lgfx/v1/LGFXBase.hpp:738:42: note: declared here
     [[deprecated("use pushBlock")]] void pushColor(const T& color, uint32_t length) { if (0 != length) { setColor(color); startWrite(); _panel->writeBlock(getRawColor(), length); endWrite(); } }
                                          ^~~~~~~~~
In file included from C:\Users\Administrator\Desktop\ESP32-BLECollector\Settings.h:260,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\ESP32-BLECollector.ino:50:
C:\Users\Administrator\Desktop\ESP32-BLECollector\UI.h: In member function 'void MacAddressColors::chopDraw(int32_t, int32_t, uint16_t)':
C:\Users\Administrator\Desktop\ESP32-BLECollector\UI.h:120:42: warning: 'void lgfx::v1::LGFXBase::pushColor(const T&, uint32_t) [with T = short unsigned int; uint32_t = unsigned int]' is deprecated: use pushBlock [-Wdeprecated-declarations]
             tft.pushColor( color, scaleX );
                                          ^
In file included from C:\Users\Administrator\Arduino\libraries\LovyanGFX\src/lgfx/v1_init.hpp:25,
                 from C:\Users\Administrator\Arduino\libraries\LovyanGFX\src/LovyanGFX.hpp:31,
                 from C:\Users\Administrator\Arduino\libraries\LovyanGFX\src/LGFX_TFT_eSPI.hpp:25,
                 from C:\Users\Administrator\Arduino\libraries\ESP32-Chimera-Core\src/M5Display.h:9,
                 from C:\Users\Administrator\Arduino\libraries\ESP32-Chimera-Core\src/ESP32-Chimera-Core.h:130,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\Display.h:1,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\Settings.h:195,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\ESP32-BLECollector.ino:50:
C:\Users\Administrator\Arduino\libraries\LovyanGFX\src/lgfx/v1/LGFXBase.hpp:738:42: note: declared here
     [[deprecated("use pushBlock")]] void pushColor(const T& color, uint32_t length) { if (0 != length) { setColor(color); startWrite(); _panel->writeBlock(getRawColor(), length); endWrite(); } }
                                          ^~~~~~~~~
In file included from C:\Users\Administrator\Desktop\ESP32-BLECollector\Settings.h:260,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\ESP32-BLECollector.ino:50:
C:\Users\Administrator\Desktop\ESP32-BLECollector\UI.h:122:46: warning: 'void lgfx::v1::LGFXBase::pushColor(const T&, uint32_t) [with T = short unsigned int; uint32_t = unsigned int]' is deprecated: use pushBlock [-Wdeprecated-declarations]
             tft.pushColor( BLE_WHITE, scaleX );
                                              ^
In file included from C:\Users\Administrator\Arduino\libraries\LovyanGFX\src/lgfx/v1_init.hpp:25,
                 from C:\Users\Administrator\Arduino\libraries\LovyanGFX\src/LovyanGFX.hpp:31,
                 from C:\Users\Administrator\Arduino\libraries\LovyanGFX\src/LGFX_TFT_eSPI.hpp:25,
                 from C:\Users\Administrator\Arduino\libraries\ESP32-Chimera-Core\src/M5Display.h:9,
                 from C:\Users\Administrator\Arduino\libraries\ESP32-Chimera-Core\src/ESP32-Chimera-Core.h:130,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\Display.h:1,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\Settings.h:195,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\ESP32-BLECollector.ino:50:
C:\Users\Administrator\Arduino\libraries\LovyanGFX\src/lgfx/v1/LGFXBase.hpp:738:42: note: declared here
     [[deprecated("use pushBlock")]] void pushColor(const T& color, uint32_t length) { if (0 != length) { setColor(color); startWrite(); _panel->writeBlock(getRawColor(), length); endWrite(); } }
                                          ^~~~~~~~~
In file included from C:\Users\Administrator\Desktop\ESP32-BLECollector\Settings.h:260,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\ESP32-BLECollector.ino:50:
C:\Users\Administrator\Desktop\ESP32-BLECollector\UI.h: In static member function 'static void UIUtils::screenShow(void*)':
C:\Users\Administrator\Desktop\ESP32-BLECollector\UI.h:453:108: warning: 'bool lgfx::v1::LGFX_FILESYSTEM_Support<Base>::drawJpgFile(fs::FS&, const char*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, lgfx::v1::jpeg_div::jpeg_div_t) [with Base = lgfx::v1::LGFXBase; int32_t = int]' is deprecated: use float scale [-Wdeprecated-declarations]
           tft.drawJpgFile( BLE_FS, (const char*)fileName, 0, 0, Out.width, Out.height, 0, 0, JPEG_DIV_NONE );
                                                                                                            ^
In file included from C:\Users\Administrator\Arduino\libraries\LovyanGFX\src/lgfx/v1_init.hpp:24,
                 from C:\Users\Administrator\Arduino\libraries\LovyanGFX\src/LovyanGFX.hpp:31,
                 from C:\Users\Administrator\Arduino\libraries\LovyanGFX\src/LGFX_TFT_eSPI.hpp:25,
                 from C:\Users\Administrator\Arduino\libraries\ESP32-Chimera-Core\src/M5Display.h:9,
                 from C:\Users\Administrator\Arduino\libraries\ESP32-Chimera-Core\src/ESP32-Chimera-Core.h:130,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\Display.h:1,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\Settings.h:195,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\ESP32-BLECollector.ino:50:
C:\Users\Administrator\Arduino\libraries\LovyanGFX\src/lgfx/v1/lgfx_filesystem_support.hpp:107:17: note: declared here
     inline bool drawJpgFile(fs::FS &fs, const char *path, int32_t x, int32_t y, int32_t maxWidth, int32_t maxHeight, int32_t offX, int32_t offY, jpeg_div::jpeg_div_t scale)
                 ^~~~~~~~~~~
In file included from C:\Users\Administrator\Desktop\ESP32-BLECollector\Settings.h:261,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\ESP32-BLECollector.ino:50:
C:\Users\Administrator\Desktop\ESP32-BLECollector\DB.h: In static member function 'static int DBUtils::BLEDevDBCacheCallback(void*, int, char**, char**)':
DB.h:1202:66: error: operands to ?: have different types 'char*' and 'char'
           BLEDevHelper.set( BLEDevDBCache, azColName[i], argv[i] ? argv[i] : '\0' );
                                                          ~~~~~~~~^~~~~~~~~~~~~~~~
In file included from C:\Users\Administrator\Desktop\ESP32-BLECollector\Settings.h:262,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\ESP32-BLECollector.ino:50:
C:\Users\Administrator\Desktop\ESP32-BLECollector\BLEFileSharing.h: In function 'void TimeClientTask(void*)':
C:\Users\Administrator\Desktop\ESP32-BLECollector\BLEFileSharing.h:193:63: warning: 'bool NimBLERemoteCharacteristic::registerForNotify(notify_callback, bool, bool)' is deprecated: Use subscribe()/unsubscribe() [-Wdeprecated-declarations]
   TimeRemoteChar->registerForNotify( TimeClientNotifyCallback );
                                                               ^
In file included from C:\Users\Administrator\Arduino\libraries\NimBLE-Arduino\src/NimBLERemoteService.h:25,
                 from C:\Users\Administrator\Arduino\libraries\NimBLE-Arduino\src/NimBLEClient.h:28,
                 from C:\Users\Administrator\Arduino\libraries\NimBLE-Arduino\src/NimBLEDevice.h:31,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\Settings.h:223,
                 from C:\Users\Administrator\Desktop\ESP32-BLECollector\ESP32-BLECollector.ino:50:
C:\Users\Administrator\Arduino\libraries\NimBLE-Arduino\src/NimBLERemoteCharacteristic.h:111:52: note: declared here
     bool                                           registerForNotify(notify_callback notifyCallback,
                                                    ^~~~~~~~~~~~~~~~~
exit status 1
too few arguments to function 'void checkSDUpdater(fs::FS&, String, long unsigned int, int)'
tobozo commented 2 years ago

I've edited your comment to make it readable, please don't include the last message in your next response :-)

Most of these errors are caused by the sdk and library versions picked to build the project. Unfortunately I don't have motivation to maintain this project for the meantime.

You can either downgrade library versions, or manually fix the errors.

Hint: SDUpdater can be disabled by adding #undef USE_SD_UPDATER just after #include <ESP32-Chimera-Core.h> in Display.h