Начало работы с Adafruit MEMENTO: плата c камерой, программируемая на Python


В последнее время появилось множество плат для разработки на базе ESP32-S3. Большинство плат оснащены дисплеем, некоторые также включают камеры и кнопки, а некоторые имеют динамики и микрофоны. Найти плату, которая объединяет все эти компоненты без ущерба для качества, стало настоящей проблемой для разработчиков и создателей программного обеспечения. Учитывая все это, мы нашли плату для разработки, которая объединяет все это в одном модуле — Adafruit MEMENTO.

Adafruit MEMENTO: Полное руководство

Этот учебный материал по Adafruit MEMENTO содержит полные инструкции как для работы с Arduino Adafruit MEMENTO, так и для программирования на Python с использованием CircuitPython.

Тем не менее, разработчикам и производителям было сложно найти плату Adafruit MEMENTO, которая бы использовала высококачественные компоненты без ущерба для качества. Плата Adafruit MEMENTO предлагает решение, объединяя 5-мегапиксельную камеру с автофокусом, цветной дисплей, аудиоинтерфейс и множество портов ввода/вывода на одной стильной плате. Если вы работаете над проектами Adafruit MEMENTO для Интернета вещей (IoT), проводите эксперименты по компьютерному зрению или создаете художественные инсталляции, это руководство расскажет обо всем, от распиновки оборудования до программирования платы Adafruit MEMENTOПрограммная экосистема Adafruit MEMENTO разработана для использования всеми, от полных новичков до опытных разработчиков программного обеспечения.

Что находится внутри упаковки Adafruit MEMENTO?

Этот комплект довольно прост и содержит всего одну основную плату разработки Adafruit MEMENTO. Ее распаковку можно увидеть на следующем рисунке.

Плата разработки Adafruit MEMENTO вместе с упаковкой

Плата имеет защиту от царапин для камеры и дисплея, а также четыре винтовых крепления по углам. Печатная плата имеет квадратную форму: дисплей, микрофон, динамик и несколько кнопок расположены на лицевой стороне, а камера, слот для SD-карты, все разъемы ввода/вывода и акселерометр — на обратной. Кнопки загрузки и перезагрузки, а также вход Type-C расположены по бокам для удобства доступа. Все компоненты размещены с учетом практичности. Без сомнения, эта плата идеально сделана во всех отношениях. Таково было мое первое впечатление. Далее давайте подробно рассмотрим особенности этого модуля.

Компоненты платы Adafruit MEMENTO (вид сзади)

Компоненты платы Adafruit MEMENTO (вид спереди)

Характеристики Adafruit MEMENTO

Плата камеры Adafruit MEMENTO объединяет компоненты профессионального уровня в компактную платформу для разработки, что делает ее идеальной для проектов в области Интернета вещей, фотосъемки и экспериментов в области компьютерного зрения. Чтобы сделать эту плату выдающейся и пригодной для большинства приложений, она обладает богатым набором функций:

Особенность Описание
Модуль ESP32-S3 с 4 МБ флэш-памяти и 2 МБ PSRAM Двухъядерный процессор Tensilica 240 МГц с поддержкой Wi-Fi и BTLE.
Модуль камеры OV5640 с углом обзора 72° и мотором автофокусировки.  5-мегапиксельный сенсор камеры со встроенным кодировщиком JPEG.
1,54" 240x240 Цветной TFT-дисплей  Для предварительного просмотра изображений с камеры или разработки пользовательского интерфейса.
слот для карты microSD Сохраняйте изображения или анимацию на любой карте microSD с поддержкой SPI. Примечание: поддерживаются карты емкостью до 32 ГБ.
Два цифровых/аналоговых порта для вывода сигнала. Разъемы JST PH-3 для контактов A0, A1 и питания+заземления позволяют подключать внешние кнопки, светодиоды или датчики. Возможно питание от сети 3 В или 5 В.
Порт I2C Stemma QT Подключите практически любой датчик I2C к порту Stemma QT JST SH, обеспечивающему питание и логическую передачу данных напряжением 3,3 В.
Акселерометр LIS3DH Трехосевой акселерометр для определения ориентации, сотрясения или движения.
Поддержка зарядки литий-полимерных аккумуляторов  Работает от батареи 3,7/4,2 В 350 мА или 420 мА для съемки в дороге.
6 пользовательских кнопок Меняйте режимы, просматривайте сохраненные изображения или даже играйте в DOOM (?). Подключается через расширитель GPIO.
Зуммер Воспроизводить звуковые сигналы или оповещения, а также сообщать об успешной фотосъемке.
Аналоговый микрофон Может использоваться в качестве датчика для обнаружения громких звуков (не для записи видео со звуком).
Кнопка затвора/зарядки Подключено к GPIO 0 для входа в загрузчик ПЗУ.
Кнопка сброса Для входа в загрузчик или перезагрузки платы.
Переключатель включения/выключения При использовании батареи питание полностью отключается.
USB Type-C Для программирования ESP32-S3, доступа к REPL в CircuitPython и зарядки дополнительной литий-полимерной батареи.
Контактные площадки для аппаратного UART Для более глубокой отладки припаяйте провода к контактным площадкам, расположенным в отверстиях, для подключения к консольному кабелю.
Четыре точки М3 Для монтажа или крепления к корпусу

Что касается программного обеспечения, то его можно программировать как с помощью Arduino IDE, так и с помощью CircuitPython. Из этих двух сред разработки CircuitPython, безусловно, проще в использовании для программирования и взаимодействия, что делает плату по-настоящему программируемой на Python для образовательных целей и быстрого прототипирования.

Проекты Adafruit MEMENTO: практическое применение

Универсальность платы камеры Adafruit MEMENTO делает её подходящей для множества применений в различных областях. Ниже представлены практические проекты на базе Adafruit MEMENTO, которые вы можете реализовать, используя либо плату Arduino Adafruit MEMENTO, либо программное обеспечение CircuitPython.

Возможные применения платы Adafruit MEMENTO

Практический проект Adafruit MEMENTO, сочетающий 3D-печать с интеграцией IoT, демонстрирует возможности платы.

Основные компоненты платы Adafruit MEMENTO

Теперь, когда вы знаете больше о возможностях MEMENTO, перейдем к физическому обзору, где подробно рассмотрим ее аппаратную часть и распиновку.

Внешний вид платы Adafruit MEMENTO: вид сверху и снизу

Выше вы можете увидеть изображения лицевой и обратной стороны платы MEMENTO, демонстрирующие комплексную компоновку компонентов, которая делает эту плату идеальной для множества различных проектов.

Технические характеристики ЖК-дисплея и расположение контактов

ЖК дисплей на плате Adafruit MEMENTO

На передней панели MEMENTO большую часть пространства занимает ЖК-дисплей (1,54-дюймовый цветной TFT-экран с разрешением 240x240 пикселей). Это удобно для предварительного просмотра изображений с камеры или создания собственного дизайна пользовательского интерфейса. Он использует драйвер ST7789, который поддерживается как Arduino, так и CircuitPython.

Для связи используются следующие контакты:

Контакты платы Adafruit MEMENTO, их назначение и способы доступа к ним

Настройка кнопок пользовательского интерфейса и расширителя GPIO

Кнопки, расположенные на плате Adafruit MEMENTO

На отладочной плате Adafruit MEMENTO всего шесть кнопок для пользовательского интерфейса. Этого более чем достаточно для большинства проектов. Следует отметить, что эти кнопки не подключены напрямую к ESP32-S3. Вместо этого они используют расширитель GPIO AW9523. Схема расположения контактов следующая:

Контакты, соответствующие кнопкам платы Adafruit MEMENTO

Библиотеки PyCamera для Arduino и CircuitPython имеют встроенную поддержку этих кнопок, что упрощает их использование в проектах Adafruit MEMENTO на базе Arduino и CircuitPython.

Настройка микрофона и динамика

Микрофон на плате Adafruit MEMENTO

На лицевой стороне платы камеры Adafruit MEMENTO, над четырьмя пользовательскими кнопками, расположен аналоговый MEMS-микрофон, обозначенный на шелкографии платы как Mic. Он может использоваться в качестве датчика для обнаружения громких звуков в различных проектах Adafruit MEMENTO. Он не предназначен для записи видео со звуком.

Аналоговый вход микрофона подключен к GPIO2. Он доступен в CircuitPython с помощью board. MIC и в Arduino с помощью контакта 2. Этот компонент обеспечивает звуковую обратную связь в ваших программных приложениях Adafruit MEMENTO.

Громкоговоритель на плате Adafruit MEMENTO

Под TFT-дисплеем, между двумя кнопками управления, расположен динамик (громкоговоритель), также обозначенный на шелкографии как Speaker.

Выход динамика подключен к GPIO46. Доступ к нему можно получить в CircuitPython с помощью board.SPEAKER, а в Arduino — с помощью SPEAKER.

Примечание: Динамик отключается через контакт 0 на расширителе GPIO микросхемы AW9523, поэтому не забудьте включить его перед тем, как ожидать появления звука!

Модуль ESP32-S3: основной процессор платы

Модуль ESP32-S3 на плате Adafruit MEMENTO

Теперь, взглянув на обратную сторону, вы увидите главного героя отладочной платы Adafruit MEMENTO: микроконтроллер Espressif ESP32-S3 с логическим/питательным напряжением 3,3 В. Он имеет 4 МБ флэш-памяти и 2 МБ PSRAM. Этот микроконтроллер оснащен Wi-Fi и BLE, что значительно упрощает задачи, связанные с IoT (интернетом вещей), для проектов Adafruit MEMENTO.

Модуль камеры: OV5640 с автофокусировкой

Модуль камеры на плате Adafruit MEMENTO

Далее, конечно же, наше внимание переключается на модуль камеры в центре платы. В отличие от других модулей ESP32-CAM, это не обычная камера. Она имеет встроенный мотор, обеспечивающий функцию автофокусировки, что делает её идеальной для профессиональных проектов. И да, это 5-мегапиксельный сенсор с углом обзора 72°.

Под разъемом камеры находится перемычка для подачи напряжения 3,3 В на мотор автофокусировки. Вы можете перерезать эту перемычку, чтобы отключить DATA1 от 3,3 В и отключить автофокусировку.

Для программирования камера использует следующие контакты отладочной платы Adafruit MEMENTO:

VSYNC GPIO5. Доступен в CircuitPython с помощью board.CAMERA_VSYNC и в Arduino с помощью VSYNC_GPIO_NUM.
HREF GPIO6. Доступен в CircuitPython с помощью board.CAMERA_HREF и в Arduino с помощью HREF_GPIO_NUM.
XCLK GPIO8. Доступен в CircuitPython с помощью board.CAMERA_XCLK и в Arduino с помощью XCLK_GPIO_NUM.
PCLK GPIO11. Доступен в CircuitPython с параметром board.CAMERA_PCLK и в Arduino с параметром PCLK_GPIO_NUM.
PWDN GPIO21. Доступен в CircuitPython с помощью board.CAMERA_PWDN и в Arduino с помощью PWDN_GPIO_NUM.
DATA2  GPIO13. Доступен в CircuitPython с помощью board.CAMERA_DATA2 и в Arduino с помощью Y2_GPIO_NUM.
DATA3 GPIO15. Доступен в CircuitPython с помощью board.CAMERA_DATA3 и в Arduino с помощью Y3_GPIO_NUM.
DATA4 GPIO16. Доступен в CircuitPython с помощью board.CAMERA_DATA4 и в Arduino с помощью Y4_GPIO_NUM.
DATA5 GPIO14. Доступен в CircuitPython с помощью board.CAMERA_DATA5 и в Arduino с помощью Y5_GPIO_NUM.
DATA6 GPIO12. Доступен в CircuitPython с помощью board.CAMERA_DATA6 и в Arduino с помощью Y6_GPIO_NUM.
DATA7 GPIO10. Доступен в CircuitPython с помощью board.CAMERA_DATA7 и в Arduino с помощью Y7_GPIO_NUM.
DATA8 GPIO9. Доступен в CircuitPython с помощью board.CAMERA_DATA8 и в Arduino с помощью Y8_GPIO_NUM.
DATA9 GPIO7. Доступен в CircuitPython с помощью board.CAMERA_DATA9 и в Arduino с помощью Y9_GPIO_NUM.
RESET GPIO47. Доступен в CircuitPython с помощью board.CAMERA_RESET и в Arduino с помощью RESET_GPIO_NUM.

Мы уже знаем, что на периферийные устройства, которые мы видели выше, существует большой спрос, поэтому плата Adafruit MEMENTO включает в себя микросхему расширителя GPIO AW9523 для обеспечения дополнительных выводов GPIO. Эту микросхему можно найти рядом с камерой, а именно слева от модуля камеры.

I2C-адрес расширителя GPIO (AW9523) равен 0x58.

Микросхема расширителя GPIO AW9523 на плате Adafruit MEMENTO

Рядом с AW9523 расположен акселерометр LIS3DH. Это трехосевой акселерометр, способный определять ориентацию, дрожание или движение для чувствительных к движению проектов Adafruit MEMENTO. Он обменивается данными по I2C по адресу 0x19. Его вывод прерывания (IRQ) подключен к GPIO3, доступному в CircuitPython через board.IRQ и в Arduino через контакт 3.

Порты для SD-карты и Stemma

Порты для SD-карты и Stemma на плате Adafruit MEMENTO

Для ввода/вывода данных пользователем при программировании платы разработки Adafruit MEMENTO на левой стороне платы расположены два разъема JST-PH, обозначенные A0 и A1. Это 3-контактные разъемы JST, которые можно использовать для подключения датчиков, светодиодов NeoPixel или аналогового ввода/вывода.

  • Контакт A0 подключен к GPIO17 (доступен в CircuitPython с помощью board.A0 и в Arduino с помощью A0).

  • А1 подключен к GPIO18 (доступен в CircuitPython с помощью board.A1 и в Arduino с помощью A1).

Вам не нужно беспокоиться о напряжении на этих контактах, так как их можно настроить на 3,3 В или 5 В. По умолчанию они обеспечивают 5 В. Между двумя разъемами находится перемычка с маркировкой 5V3. Эту перемычку можно перерезать и припаять заново, чтобы переключить сигнал VCC с 5 В на 3 В.

Порт I2C на плате Adafruit MEMENTO

Между контактами A0 и A1 находится крошечный разъем с маркировкой I2C на шелкографии. Это 4-контактный разъем Stemma QT, идеально подходящий для подключения дополнительных датчиков к вашим проектам Adafruit MEMENTO. Линии I2C имеют подтягивающие резисторы к напряжению 3,3 В.

  • SDA – GPIO34
  • SCL – GPIO33

В Arduino этот разъем можно использовать с wire. В CircuitPython его можно использовать с board.SCL, board.SDA, board.I2C() или board.STEMMA_I2C().

Слот для карты microSD на плате Adafruit MEMENTO

В левом нижнем углу задней панели MEMENTO расположен слот для карты microSD. Его можно использовать для хранения изображений или анимации на любой карте microSD с поддержкой SPI, что необходимо для большинства приложений, использующих плату камеры Adafruit MEMENTO.

  • SDCS (вывод выбора микросхемы) – подключен к GPIO48. Доступен в CircuitPython с помощью board.CARD_CS, а в Arduino – с помощью SD_CS или SD_CHIP_SELECT.
  • Контакт SDCD (контакт обнаружения карты) – подключен к контакту 9 на микросхеме AW9523.

Управление питанием и поддержка батарей

Кнопки загрузки и сброса на плате Adafruit MEMENTO

Вдоль верхнего края платы расположены две кнопки:

  1. Кнопка загрузки, обозначенная на шелкографии как Boot и Shutter, подключена к GPIO0. Доступна в CircuitPython с помощью board.BUTTON и в Arduino с помощью SHUTTER_BUTTON. Удерживайте её, одновременно нажимая кнопку сброса, чтобы войти в режим загрузчика ПЗУ для программирования отладочной платы Adafruit MEMENTO.
  2. Кнопка сброса, обозначенная на шелкографии как RST, подключена к выводу сброса ESP32-S3. Нажмите один раз, чтобы перезапустить прошивку, или нажмите еще раз примерно через полсекунды, чтобы войти в режим загрузчика.

Справа от кнопки загрузки находится NeoPixel. Этот адресуемый RGB-светодиод работает как индикатор состояния (в CircuitPython и загрузчике) и также может управляться кодом в программном обеспечении Adafruit MEMENTO. Он подключен к GPIO1, доступному в CircuitPython с помощью команды board.NEOPIXEL, а в Arduino — с помощью PIN_NEOPIXEL или NEOPIXEL_PIN.

В правом верхнем углу платы расположен переключатель включения/выключения, обозначенный на шелкографии как «On». Этот ползунковый переключатель отключает питание платы, что крайне важно для портативных проектов Adafruit MEMENTO.

Справа от переключателя находится светодиод питания, зеленый светодиод, который загорается всякий раз, когда плата получает питание.

Секция управления питанием на плате Adafruit MEMENTO

порт USB-C Используется как для питания, так и для программирования платы. Подойдет любой кабель USB-C. При подключении также заряжает литий-полимерный аккумулятор.
Разъем/зарядное устройство для LiPoly-полимерных аккумуляторов Двухконтактный разъем JST для подключения любой литий-полимерной батареи емкостью 350 мАч или более (3,7/4,2 В). MEMENTO может работать от батареи и заряжать ее при подключенном USB-порту. Шелкография на плате включает контур, идеально подходящий для батареи емкостью 420 мАч, имеющейся в наличии в магазине.
Контакт монитора батареи Отслеживание уровня заряда батареи осуществляется через вывод АЦП, доступный в CircuitPython с помощью board.BATTERY_MONITOR и в Arduino с помощью BATT_MONITOR.
Перемычка выбора питания Расположен над шлейфом TFT-дисплея. Он позволяет выбрать, будет ли питание 2,8 В осуществляться от источника 3,3 В или 5 В. Для переключения на 5 В его можно перепаять.

На этом мы завершаем физический обзор платы камеры Adafruit MEMENTO. Далее, чтобы упростить использование MEMENTO, мы рассмотрим некоторые официальные ресурсы, которые помогут вам начать работу над проектами с использованием Adafruit MEMENTO.

Официальные ресурсы и документация Adafruit MEMENTO

В отличие от других модулей Adafruit, эта плата разработки Adafruit MEMENTO также прекрасно документирована для начала работы. Вы можете начать с изучения платы камеры Adafruit MEMENTO.

В этом подробном руководстве по Adafruit MEMENTO вы найдете: ее обзор, распиновку, установку CircuitPython, форматирование карты microSD, примечания, стартовые проекты CircuitPython MEMENTO, преобразование кадров в GIF, настройку Arduino IDE, установку библиотеки Arduino MEMENTO и стартовые проекты, сброс к заводским настройкам и загрузки.

Надеюсь, этих ресурсов будет достаточно для программирования платы разработки Adafruit MEMENTO. Далее давайте быстро изучим Memento с помощью Arduino IDE. При желании вы также можете использовать CircuitPython для более удобного программирования на Python.

Руководство по настройке Arduino IDE для Adafruit MEMENTO

Благодаря уже имеющемуся набору плат и библиотеке инструментов для этого модуля, первая тестовая программа довольно проста.

Программирование платы разработки Adafruit MEMENTO с помощью среды разработки Arduino IDE позволит вам воспользоваться преимуществами обширных библиотек и ресурсов сообщества, поддерживающих проекты Arduino. Это руководство по Adafruit MEMENTO проведет вас через полную настройку для программирования платы разработки MEMENTO с использованием привычной среды разработки Arduino.

Настройка

Для настройки среды Arduino необходимо выполнить три основных шага:
⇒ Шаг 1: Установка поддержки платы ESP32 для Adafruit MEMENTO

Первым шагом в программировании платы разработки Adafruit MEMENTO является обновление библиотеки платы ESP32 для обеспечения совместимости с процессором ESP32-S3 и всеми функциями MEMENTO.

Установка поддержки платы ESP32 для Adafruit MEMENTO

⇒ Шаг 2: Установка библиотек программного обеспечения Adafruit MEMENTO. Программная экосистема Adafruit MEMENTO включает в себя специализированные библиотеки, упрощающие управление камерой, управление дисплеем и взаимодействие с оборудованием, а также все необходимые зависимости. Даже если у вас уже установлено большинство из них, включение этой опции обновит существующие или установит недостающие.

Установка библиотеки PyCamera для Adafruit MEMENTO

⇒ Шаг 3: Изучение примеров кода.
Библиотека Adafruit MEMENTO Arduino включает в себя два подробных примера программ, демонстрирующих основные функции. Доступ к этим примерам можно получить через меню File → Examples → Adafruit PyCamera.

После установки перейдите в папку Examples. Там вы найдете два скетча:

Примеры программ для работы с камерой Adafruit MEMENTO

Различия между Pycamera_test и Memento_factory_test

Различия между Pycamera_test и Memento_factory_test

Правильный выбор платы имеет решающее значение для успешного программирования отладочной платы Adafruit MEMENTO. Если у вас есть такая плата, вы можете использовать эти дополнительные функции. В противном случае, оба примера предоставляют одни и те же основные функции камеры, но Memento_factory_test включает дополнительные возможности тестирования.

⇒ Шаг 4: Подключение и выбор платы Adafruit MEMENTO

Правильный выбор платы имеет решающее значение для успешного программирования отладочной платы Adafruit MEMENTO.

  1. Подключите плату разработки MEMENTO к своему компьютеру.
  2. Нажмите и удерживайте кнопку Boot, затем один раз нажмите кнопку Reset. Это переведет плату в режим загрузки.
  3. В среде разработки Arduino IDE выберите:
    Board → ESP32 → Adafruit PyCamera S3

Выбор платы Adafruit MEMENTO в Arduino IDE

Теперь нажмите Compile and Upload («Компилировать и загрузить»). Код будет загружен на вашу плату MEMENTO.

Использование PyCamera

Программное обеспечение Adafruit MEMENTO включает в себя комплексные функции управления камерой, доступные через встроенные кнопки и программируемые с помощью кода. Понимание интерфейса PyCamera имеет важное значение для разработки собственных проектов на базе Adafruit MEMENTO.

По умолчанию захваченное изображение не будет сохранено, если вы не вставите SD-карту.

Примечание: библиотека Adafruit MEMENTO для Arduino поддерживает файловые системы FAT16 и FAT32, обеспечивая совместимость с картами памяти емкостью до 32 ГБ.

После установки SD-карты вы можете делать снимки, нажав кнопку спуска затвора в правом верхнем углу.

Эффекты цветовых фильтров

Эти фильтры полезны для художественных проектов Adafruit MEMENTO, приложений безопасности, требующих определенных визуальных режимов, или для творческих фотоэкспериментов:

Цветовые фильтры – используйте кнопки «Влево» и «Вправо» для переключения между фильтрами:

  1. Обычный/Нет
  2. Черно-белый
  3. Сепия
  4. Отрицательный
  5. Зеленоватый
  6. Красноватый
  7. Голубоватый

Примеры программ демонстрируют возможности платы камеры Adafruit MEMENTO с помощью интуитивно понятного управления кнопками.

Датчик камеры OV5640 поддерживает несколько режимов разрешения, что позволяет сбалансировать качество изображения с объемом памяти и скоростью обработки в ваших проектах Adafruit MEMENTO.

Регулировка разрешения – используйте кнопки «Вверх» и «Вниз» для изменения разрешения изображения. Доступные параметры:

Доступные режимы датчика камеры OV5640

Разрешение изображений можно регулировать в режиме реального времени.

Данное руководство по Adafruit MEMENTO создано на основе практического тестирования и проверки всех функций, расположения контактов и процедур программирования. 

Этот подробный учебник по Adafruit MEMENTO проведет вас от технических характеристик и распиновки до начала программирования платы разработки Adafruit MEMENTO с помощью Arduino IDE. Независимо от того, выберете ли вы разработку на основе Arduino с использованием Adafruit MEMENTO или программируемую среду CircuitPython от Adafruit MEMENTO, эта универсальная плата камеры обладает профессиональными функциями в удобном корпусе.

Сочетание процессора ESP32-S3, 5-мегапиксельной камеры с автофокусом, цветного дисплея и широких возможностей подключения делает плату разработки MEMENTO отличным выбором для безграничных проектов Adafruit MEMENTO, от простых учебных проектов до сложных систем видеонаблюдения для Интернета вещей (IoT). Надежность программной экосистемы Adafruit MEMENTO, подкрепленная обширной документацией и поддержкой сообщества, позволяет быстро запускать ваши проекты и плавно масштабировать их сложность. Вы можете создавать системы безопасности, камеры для наблюдения за дикой природой, устройства для покадровой съемки или интерактивные художественные инсталляции, и плата разработки Adafruit MEMENTO — отличное место для начала. Загрузите пример кода и изучите возможности программного обеспечения Adafruit MEMENTO, и вы сможете воплотить свои идеи в жизнь на этой мощной, хорошо документированной платформе разработки.

(Проголосуй первым!)
Загрузка...
51 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *