Управление компьютером с помощью горячих клавиш и макросов — отличный способ ускорить рабочий процесс. К сожалению устройства, предназначенные для этого (например, Stream Deck от Elgato), стоят от 120 долларов и выше.
Мастер разработал собственную версию подобного устройства — FreeTouchDeck. Изготовление FreeTouchDeck обойдется примерно в 20 долларов (включая доставку). Устройство использует ESP32 и сенсорный экран с диагональю 3,5 дюйма. Команды от устройства, через Bluetooth, передаются на компьютер под управлением Windows, MacOS или Linux.
Можно настроить FreeTouchDeck с помощью конфигуратора. Конфигуратор — это веб-страница, размещенная на самом ESP32. Можно настроить меню, кнопки, логотипы и цвета. Также вы можете создать свои собственные логотипы кнопок и загрузить их. В принципе, это устройство можно настроить от управления умным домом до управления компьютерной игрой.
Это очень простая сборка, которая займет меньше часа времени, а все детали доступны.
Инструменты и материалы:
-38-контактная плата ESP32-WROOM-32;
-TFT-экран ILI9488 с сенсорным контроллером XPT2046;
-Паяльные принадлежности;
-Провода;
-3D-принтер (опция);
-Компьютер с ПО;
Шаг первый: подключение TFT-экран к ESP32
Руководствуясь схемой не сложно подключить экран к ESP. Есть несколько вариантов подключения. Можно использовать макетную плату или можно собрать все на печатной плате специально разработанной мастером.
Скачать файл для изготовления платы, можно здесь.
Важно знать, что экран ILI9488 бывает сенсорный и обычный (для устройства нужен сенсорный). Работает экран от 3,3 В, подключение к 5В может привести к поломке.
Подключаем следующим образом:
ESP32 -> ILI9488
3.3V -> VCC
GND -> GND
GPIO15 -> CS
GPIO4 -> RESET
GPIO2 — > DC/RS
GPIO23 -> SDI(MOSI) and T_DIN
GPIO18 -> SCK and T_CLK
GPIO32 -> LED
GPIO21 -> T_CS
GPIO19 -> T_DO
GPIO27 -> T_IRQ
Шаг второй: установка библиотек
Установка ядра Arduino IDE ESP32.
Перейдите в Arduino -> Preferences и щелкните значок за полем ввода для дополнительных URL-адресов Board Managers.
Затем скопируйте и вставьте следующую ссылку (без кавычек) во всплывающее окно:
«https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json»
Подтвердите два раза ОК.
Затем перейдите в Tools -> Board : -> Board Manage и поиск «ESP32». Установите последнюю версию и нажмите «Close».
Установка необходимых библиотек.
FreeTouchDeck использует несколько библиотек. Три из этих библиотек можно установить с помощью менеджера библиотек. Перейдите в Sketch -> Include Library -> Manage Libraries, найдите и установите следующие библиотеки:
Adafruit-GFX-Library
TFT_eSPI
ArduinoJson
Остальные три библиотеки необходимо загрузить вручную. Для каждой из них процесс одинаков, поэтому мастер описывает только один из них.
Перейдите по адресу «https://github.com/DustinWatts/ESP32-BLE-Keyboard», нажмите «Code» и «Download .ZIP» . В Arduino IDE перейдите в Sketch -> Include Library -> Add .ZIP library.
Повторите эти действия для библиотек по адресам:
«https://github.com/me-no-dev/ESPAsyncWebServer»
«https://github.com/me-no-dev/AsyncTCP»
Шаг третий: настройка экрана TFT
Перед загрузкой скетча FreeTouchDeck.ino необходимо отредактировать файл user_setup.h, включенный в библиотеку TFT_eSPI. Его можно найти в папке с эскизами Arduino в разделе «libraries». Если не была переименована папка библиотеки TFT_eSPI, файл user_setup.h можно найти в TFT_eSPI-master. Здесь нужно будет раскомментировать строки, относящиеся к вашей конфигурации оборудования.
Чтобы упростить задачу, вы можете найти файл user_setup.h, который вам понадобится для этого проекта, в загруженном репозитории в папке «user_setup.h Examples». Скопируйте файл «ESP32_Dev_Kit_V1_ILI9488_Resistive.h» в «/ TFT_eSPI-master /». Переименуйте «User_Setup.h» , который уже есть в «User_Setup.old» (таким образом , вы сохранить оригинал в случае , если что — то пойдет не так). Теперь переименуйте «ESP32_Dev_Kit_V1_ILI9488_Resistive.h» в «User_Setup.h». Сохраните и закройте файл.
Шаг четвертый: загрузка кода в ESP32
Инструмент загрузки данных эскиза ESP
FreeTouchDeck использует SPIFFS (флэш-память ESP32) для хранения конфигурации и используемых изображений. Вам нужно будет загрузить их в ESP32, прежде чем загружать эскиз в ESP32. Для этого понадобится инструмент ESP32 Sketch Data Upload. Его можно скачать с Github: «https://github.com/me-no-dev/arduino-esp32fs-plugin».
Скачайте архив со страницы релизов.
В каталоге альбомов Arduino создайте каталог инструментов (если он еще не существует).
Распакуйте инструмент в каталог инструментов (путь будет выглядеть как /Arduino/tools/ESP32FS/tool/esp32fs.jar).
Перезагрузите Arduino IDE.
(В MacOS создайте каталог инструментов в ~ / Documents / Arduino / и распакуйте файлы туда).
FreeTouchDeck.ino
На Github можно найти полный исходный код FreeTouchDeck. Перейдите в репозиторий FreeTouchDeck на Github и нажмите «Code» и «Download .ZIP»: https://github.com/DustinWatts/FreeTouchDeck
Распакуйте и переименуйте извлеченную папку в «FreeTouchDeck». Откройте скетч FreeTouchDeck.ino в среде Arduino IDE. Это также откроет несколько других файлов заголовков (.h). Их не нужно трогать.
Настройки Wi-Fi
После того, как будет открыт эскиз FreeTouchDeck.ino, перейдите в папку, в которой находится эскиз FreeTouchDeck.ino, откройте «/data/config/wificonfig.json». Здесь нужно ввести свой SSID и пароль Wi-Fi, чтобы можно было подключиться к FreeTouchDeck и настроить его.
-измените «YOUR_WIFI_SSID» на SSID Wi-Fi, к которому должен подключаться FreeTouchDeck.
-измените «YOUR_WIFI_PASSWORD» на пароль, который использует сеть WiFi.
Загрузка папки с данными
Перед тем, как загрузить папку данных в ESP32, сначала нужно выбрать правильную схему разделения.
-Перейдите к Tools -> Board и выберите ESP32 Dev Module.
-В разделе «Tools» выберите «Partition Scheme» -> «No OTA (2MB APP/ 2MB SPIFFS)».
-Подключаем ESP32.
-Нажмите «Tools» и выберите «ESP Sketch Data Upload».
Если загрузка данных не удалась, скорее всего, у вас открыт последовательный монитор. В этом случае закройте монитор последовательного порта и попробуйте еще раз.
Загрузите скетч в ESP32
После успешной загрузки папки данных нужно загрузить эскиз FreeTouchDeck.ino в ESP32. Параметры в инструментах, помимо схемы разделов, можно оставить по умолчанию.
Перейдите в «Sketch» и выберите «Upload». Загрузка может занять некоторое время, потому что это большой эскиз.
Шаг пятый: корпус
Для данного устройства мастер разработал корпус. Корпус можно распечатать на 3D-принтере. Мастер напечатал его нитью PLA с толщиной слоя 0,2 мм. Верх не нуждается в поддержке, если вы распечатываете его лицевой стороной вниз. Нижняя часть требует минимальной поддержки, если вы печатаете ее отверстием вниз. Детали корпуса должны плотно соединятся друг с другом. Для надежности можно использовать клей, но тогда будет сложнее добраться до комплектующих в случае необходимости.
Файлы для печати можно скачать на Thingiverse.
Для желающих изменить форму корпуса можно скачать файлы Fusion 360 на Github.
Шаг шестой: загрузка и настройка
После загрузки скетча и всех файлов в ESP при первой загрузке отображается настройка калибровки экрана.
Файл калибровки сохраняется в файловой системе ESP.
На главном экране 6 кнопок. Это кнопки меню при нажатии на которые можно перейти в подменю. Эти кнопки имеют другой цвет, чем функциональные кнопки в меню. На главном экране также есть кнопка «Настройки».
После загрузки главного экрана также запускается блютус. Теперь можно подключить свой компьютер к FreeTouchDeck. Возможно, придется обновить список устройств Bluetooth на компьютере. Чтобы проверить, правильно ли работает Bluetooth, зайдите в меню «Music». И нажмите «Mute», чтобы увидеть, установлено ли блютус-соединение.
Теперь можно настроить FreeTouchDeck. Можно настроить меню и кнопки каждого подменю. Также можно настроить цвета кнопок и загрузить свой собственный логотип.
Для запуска конфигуратора нажмите нижнюю правую кнопку, перейдите на страницу «Settings», а затем нажмите кнопку «WiFi» в верхнем левом углу. После запуска конфигуратора вы можете открыть веб-браузер и перейти на freetouchdeck.local .
Чтобы узнать больше о том, как использовать конфигуратор, посетите Wiki на Github .
Все готово, а на видео можно посмотреть примеры работы и настройки устройства.
Источник (Source)
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.
Источник: