Найти в Дзене
Электроника, ESP32, Arduino

ESP32 CAM PINOUT и внешняя Wi Fi антенна

Если посмотреть на фотку ESP32 CAM, может показаться, что там довольно много свободных GPIO для подключения датчиков, кнопок и прочих ништяков.... но! не все так просто.

Плата ESP32 CAM
Плата ESP32 CAM
ESP32 CAM PIN-OUT
ESP32 CAM PIN-OUT

Разберем подробно для чего нужен каждый вывод данной платы:

5V питание +5V
3V3 - выход напряжения 3.3V
GND общий провод
IO4 - к этому выводу подключен встроенный сверхъяркий светодиод который может быть использован в качестве вспышки.
Чтобы помигать этим светодиодом можно написать такой код (не забудьте подключить внешний источник питания)

Мигаем вспышкой
Мигаем вспышкой

IO2, IO12, IO13, IO14, IO15 можно юзать как обычные цифровые пины (выход/вход/внутренние подтягивающие резисторы)

IO16 на нем висит второй аппаратный UART RX2, контроллера ESP32 (в среде Arduino IDE доступен через класс Serial2) на котором всегда будет логическая единица со всеми вытекающими отсюда последствиями:

  • можно прицепить любой микроконтроллер и слать байты используя UART интерфейс
  • как выход этот ПИН использовать не получиться
  • использовать как вход можно, если прицепить туда кнопку, при нажатии которой данный ПИН будет подтягиваться к земле

IO0 необходим для заливки прошивки (смотрите мою предыдущую статью)

IOR, UOT порты аппаратного UART (в среде Arduino IDE доступны через класс Serial) используются для заливки прошивки в плату, гипотетически на них повесить что-то можно, а практически можно потерять возможность заливки скетчей и отладку через COM порт.

VCC - выход питания. Может выдавать либо 3.3V либо 5V в зависимости от установки перемычки (не совсем понятна ситуация когда это может вообще пригодиться.....)

PIN VCC
PIN VCC

Для отладки кода на плате есть еще один светодиод расположенный на задней стороне платы:

Встроенный светодиод LED1 в плату ESP32 CAM
Встроенный светодиод LED1 в плату ESP32 CAM

Подключен он к GPIO33 и управляется инвертированной логикой.

Запишите логический 0 чтобы светодиод светился
Запишите логический 0 чтобы светодиод светился

Все становится значительно хуже если мы решим использовать в проекте SD карточку для сохранения фотографий

GPIO используемые карт-ридером
GPIO используемые карт-ридером

Если установить карту памяти и использовать библиотеку для сохранения фотографий на SD-карточку - свободных GPIO практически не остается. Впрочем эта проблема довольно легко обходится:

  • написать WEB интерфейс и управлять функциями камеры через WEB браузер с любого устройства в домашней сети (если сети нет - настроить плату ESP32 как точку доступа)
  • прикрутить на оставшийся свободным UART (GPIO IOR и UOT, любой другой микроконтроллер, придумать и написать протокол связи между платами и получить полноценную плату расширения с возможностью подключения любых внешних устройств, датчиков, дисплеев и.т.д. и.т.п.

Для эффективной работы c Wi-Fi в плате ESP32 предусмотрена возможность подключения внешней антенны.

Разъем для подключения внешней антенны
Разъем для подключения внешней антенны

Для переключения платы ESP32 CAM необходимо перепаять резистор (показан красной линий - или просто капнуть каплю припоя)

Впаиваем перемычку (кусок провода)
Впаиваем перемычку (кусок провода)

Подходящую антенну легко купить на али-экспресс вместе со "шнурком" с необходимым разъемом. (стоит около 100 рублей)

Внешняя Wi-Fi антенна
Внешняя Wi-Fi антенна

Я протестировал данное решение - скорость передачи фотографий даже с такой маленькой антенной значительно выросла. С использованием внутренней антенны полноценно поработать с платой ESP32 CAM не получится (объемы передаваемых данных тут значительно больше чем у часов или метеостанций).

Несколько слов про отсутствие USB разъема на борту....
Да, для программирования потребуется USB-UART конвертер, что не очень удобно - но с другой стороны это:

  • меньшая цена
  • сниженное энергопотребление (если вдруг придется делать фотосъемку в местах с отсутствием питания), на данной плате практически полностью отсутствует лишний обвес (светодиоды, конвертер и прочая хрень которая есть на платах Arduino), что значительно повышает срок возможности автономной работы.

Ну и последний совет:
Если надумаете покупать плату ESP32 CAM в Китае на Ali ищите оригинальную плату от Ai-Thinker. Звучит странно, но опасайтесь Китайских подделок из Китая ))). Оригинал будет стоить в районе 10$ - и покупать лучше в фирменных магазинах на Ali. (2 платы стоимостью 5$ после дня мучений у меня благополучно отправились в мусорную корзину и судя по информации с других технических форумов не только у меня). В отличии от плат Arduino ESP32 CAM Китайцы качественно подделывать пока еще не научились.....

Для разработки софта делаю вот такой шилд

Самодельный шилд на макетной плате под пайку
Самодельный шилд на макетной плате под пайку

но про него речь пойдет в следующей статье.

Ссылки на Ali

Статья про начало работы с ESP32 CAM из среды Arduino IDE тык сюда

Полный список статей на моем канале доступен по этой ссылке