Системный монитор с передачей данных по Bluetooth
Системные информационные мониторы довольно полезны. С одного взгляда можно увидеть всю важную информацию о компьютере. Температура процессора, скорость вращения вентиляторов, использование памяти и т. д.
В этой статье разберем сборку и настройку такого системного монитора. Примечательно, что данные передаются по Bluetooth.
Инструменты и материалы:
-Плата ESP32-WROOM-32;
-Сенсорный экран;
-Паяльные принадлежности;
-3D-принтер или подходящий корпус;
-Компьютер с Bluetooth;
Шаг первый: схема подключения
Сенсорный экран подключается к ESP согласно схемы
ESP32 -> ILI9488:
3,3 В -> VCC
GND -> GND
GPIO15 -> CS
GPIO4 -> RESET
GPIO2 -> DC / RS
GPIO23 -> SDI (MOSI) и T_DIN
GPIO18 -> SCK и T_CLK
GPIO32 -> LED
GPIO21 -> T_CS
GPIO19 -> T_DO
GPIO27 -> T_IRQ
Для удобства подключения можно сделать плату. Файлы gerber можно загрузить здесь.
Шаг второй: установка библиотек
Установка ядра Arduino IDE ESP32.
Кликаем Arduino -> Preferences и далее значок за полем ввода для дополнительных URL-адресов Board Managers. Затем копируем и вставляем следующую ссылку (без кавычек) во всплывающее окно: «https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json»
Кликаем ОК и ОК. переходим в Tools -> Board: -> Board Manager и находим «ESP32». Устанавливаем последнюю версию и нажимаем «Close».
Установка библиотек.
В этом проекте используется несколько библиотек. Две из них можно установить с помощью Менеджера библиотек.
Переходим в Sketch -> Include Library -> Manage Libraries, находим и устанавливаем следующие библиотеки:
Adafruit-GFX-Library
TFT_eSPI
Если используется ESP32 TouchDown ( esp32touchdown.com ), также понадобится библиотека Capacitive Touch.
Переходим на « https://github.com/DustinWatts/FT6236 », кликаем «Code» и «Download .ZIP».
В среде Arduino IDE переходим в Sketch -> Include Library -> Add .ZIP library.
Шаг третий: настройка экрана TFT
Перед компиляцией и загрузкой скетча Bluetooth-System-Monitor.ino необходимо отредактировать файл User_Setup.h, включенный в библиотеку TFT_eSPI. Его можно найти в папке Arduino в разделе «libraries».
Нужно будет раскомментировать строки, относящиеся к конфигурации оборудования. Чтобы упростить задачу, можно найти файл 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 для хранения изображений, используемых в качестве фона. Нужно будет загрузить их в ESP32, прежде чем загружать эскиз. Для этого нужен инструмент ESP32 Sketch Data Upload.
Его можно скачать по ссылке: «https://github.com/me-no-dev/arduino-esp32fs-plugin».
Скачиваем архив инструмента со страницы релизов.
В каталоге альбомов Arduino создаем каталог инструментов.
Распаковываем инструмент в каталог инструментов.
Перезапускаем Arduino IDE.
Код можно скачать по этой ссылке.
Файл распаковываем и переименовываем извлеченную папку в «Bluetooth-System-Monitor». Это сделано для того, чтобы IDE Arduino не жаловалась на то, что у папки и скетча разные имена.
Открываем скетч Bluetooth-System-Monitor.ino в среде Arduino IDE.
В зависимости от используемой платы (с резистивным касанием, емкостным касанием или без касания) нужно будет раскомментировать нужный вариант. Если используем ESP32 TouchDown: «#define ENABLE_CAP_TOUCH». Если используем DevKitC: «#define ENABLE_RES_TOUCH» .
В скетче можно установить несколько уровней предупреждений. Эта настройка изменят цвет текста под надписями. Для настройки нужен фрагмент «// Define warning levels, change this as you like».
Теперь можно загрузить код.
Шаг пятый: подключение
Прежде чем использовать системный монитор с компьютером, необходимо компьютер настроить.
Рассмотрим настройку в Windows:
В меню «Пуск», выбираем « Параметры» — « Устройства» . Кликаем «Добавить Bluetooth или другое устройство» . Выбираем «Bluetooth». Ждем, пока он найдет «ESP32» или «MyDisplay». Кликаем по нему.
Далее открываем диспетчер устройств (кликаем правой кнопкой мыши меню «Пуск») и кликаем стрелку рядом с надписью «Порты». Там должно быть устройство под названием «Стандартный последовательный канал через Bluetooth». Это COM-порт, который нужно будет использовать на следующем шаге.
Шаг шестой: сценарий Python
Сценарий требует, чтобы была установлена последняя версия Python.
Для правильной работы сценария вам необходимо установить несколько модулей Python. Это модули psutil, pyserial и pythonnet. Откройте командную строку от имени администратора, щелкнув меню «Пуск» и вводим «cmd», затем кликаем правой кнопкой мыши командную строку и выберите «Запуск от имени администратора». Переходим в папку Bluetooth-System-Monitor / host_python, в которую скачали Sketch. Здесь устанавливаем необходимые модули Python:
`pip install pyserial`
`pip install psutil`
`pip install pythonnet`
После правильной установки модулей открываем windows_host.py в любимом редакторе кода. Мастер использует VSCode. Здесь нужно будет отредактировать хотя бы одну строку кода. Строка с надписью » connection = serial.Serial (‘COM16’)». Это COM-порт, на который скрипт будет отправлять данные. Он должен быть заключен в кавычки и прописан заглавными буквами. Сохраняем изменения, и все готово.
Шаг седьмой: корпус
Для корпуса можно использовать любую подходящую коробку. Или можно напечатать корпус, как это сделал мастер.
Файл для печати можно скачать здесь.
Теперь нужно установить все в корпус, установить батарею и все готово.
Весь процесс по изготовлению такого устройства можно посмотреть на видео.