Можно ли использовать WiFi и Bluetooth/BLE в одном проекте ESP32?

Ответ @Majenko работает как шарм. Мне пришлось внести некоторые изменения следующим образом:

По словам Маженко, вам нужно изменить схему "Инструменты" > "Схема разделов". Я использовал «Нет OTA (большое приложение), как он предложил, и теперь оно работает.

Однако параметр «Схема разделов» в разделе «Инструменты» был недоступен ни для одного из моих устройств (Huzzah32 или NodeMCU-32s). Я изменил тип своей платы («Инструменты» > «Плата») на «Модуль разработчика ESP32», и в разделе «Инструменты» появилось несколько дополнительных параметров, включая «Схема разделов».

Исходный вопрос: я не могу одновременно использовать библиотеки WiFi.h и BLE. Даже самым минимальным проектам не хватает памяти во время компиляции. Я делаю что-то неправильно? Я получаю одинаковые результаты как с Adafruit Huzzah32, так и с NodeMCU-32S.

Кто-нибудь знает об обходном пути или, за исключением предлагаемой альтернативной платы? Raspberry pi Zero W кажется излишним, а энергопотребление уродливым, поэтому я не хочу этого делать, если мне действительно не нужно.

#include <WiFi.h>
#include <BLEDevice.h>

void setup() {
  WiFi.mode(WIFI_MODE_STA);             // используем функцию Wi-Fi
  BLEDevice::init("Minimal BLE WiFi");  // используем функцию BLE
}

void loop() { }

Я получаю сообщение об ошибке

Arduino: 1.8.9 (Mac OS X), плата: «NodeMCU-32S, 80 МГц, 921600»

Параметры сборки изменены, перестроены все Sketch использует 1443898 байт (110%). места для хранения программ. Максимум 1310720 байт.

Глобальные переменные используют 60208 байт (18%) динамической памяти, оставляя 267472 байта для локальных переменных. Максимум 327680 байт. Скетч тоже большой; советы см. в разделе http://www.arduino.cc/en/Guide/Troubleshooting#size. по его уменьшению. Ошибка компиляции для платы NodeMCU-32S.

, 👍0

Обсуждение

Не могли бы вы вернуть вопрос в исходное состояние, мы не используем «[РЕШЕНО]» в заголовках и не публикуем решения внутри вопросов. Лучше всего, если вы опубликуете новый ответ и переместите туда свое решение. Спасибо!, @brasofilo


1 ответ


Лучший ответ:

1

Да. Выберите схему разделов, которая даст вам больше места. Например, вариант «Нет OTA (большое приложение)» дает вам 3 МБ пространства для программы.

,

Это сработало. Мне пришлось внести некоторые изменения в мою среду Arduino IDE, которые я добавлю к своему первоначальному вопросу., @Rob Sweet