#09 📲 ESP8266 + TFT = QR Генератор и Сканируемый Интерфейс 2026 02 21 17 22 29
Автор: KONTAKT`S
Загружено: 2026-02-21
Просмотров: 28
Описание:
📲 ESP8266 + TFT = QR Генератор и Сканируемый Интерфейс
В этом видео я показываю полностью рабочую систему на **ESP8266 + ST7735 (160x128)**, которая:
✅ Генерирует корректные QR-коды
✅ Выводит их на TFT-дисплей
✅ QR стабильно считывается смартфоном
✅ Использует 1-bit BMP 128×128
✅ Работает через SD-карту и Web-интерфейс
---
🚀 Что реализовано
🔹 Генерация QR под конкретный размер дисплея
🔹 Правильный целочисленный масштаб модулей
🔹 Отсутствие дизеринга и искажений
🔹 Поддержка различных типов QR:
URL
API ссылки
Wi-Fi подключение
Email
SMS
Геолокация
vCard / MeCard
Обычный текст
Все QR подготовлены в формате:
```
128x128
1-bit BMP
без сжатия
```
И корректно отображаются через `drawBmpFromSD()`.
---
🧠 Почему это важно
Большинство примеров в интернете делают:
❌ QR 512×512
❌ Растягивание с дробным масштабом
❌ Дизеринг
❌ Серые пиксели
В итоге — на маленьком TFT виден только позиционный квадрат или QR не считывается.
В этом проекте решена проблема правильно:
масштаб кратный
чёткие модули
гарантированное сканирование
---
📂 Структура QR на SD
```
/qr/url
/qr/text
/qr/email
/qr/sms
/qr/location
/qr/mecard
/qr/vcard
```
ESP8266 может показывать любой файл по запросу.
---
🔧 Применение
📡 Быстрое подключение к устройству
📱 QR для Wi-Fi
🔐 Авторизация
📂 Скачивание файлов с SD
🏷 IoT маркировка
🧾 Контактная карточка
🛰 Геолокация
Это уже не просто дисплей — это **визуальный интерфейс IoT-устройства**.
https://github.com/AIDevelopersMonste...
Возможные продолжения...
===
Что даст свой APK
📷 Сканирует QR с TFT и сразу выполняет действие по вашим правилам
🧠 Понимает ваши “команды” (не только URL)
🔐 Может проверять токен/подпись, ограничивать время жизни QR
📡 Автоматически подключается/переходит в нужный режим (Wi-Fi setup, web UI, загрузка файла, запуск команды)
🗂 История сканов, избранное, быстрые кнопки (“Открыть”, “Скачать”, “Подключить Wi-Fi”)
Какой формат QR лучше для “своего приложения”
Вместо обычного URL можно сделать ваш протокол:
Вариант 1: deep link (самый удобный)
esp8266://open?ip=192.168.1.68
esp8266://sd?path=/qr/url/qr_web_128.bmp
esp8266://api?cmd=show&file=/qr/url/qr_web_128.bmp
Телефон видит “необычную ссылку” → предлагает открыть вашим приложением.
Вариант 2: обычный URL, но с параметрами
http://192.168.1.68/#/open
http://192.168.1.68/sd?path=/logs/log1.txt
Тоже работает, но меньше “магии” на телефоне.
Вариант 3: JSON-команда
{"t":"open","ip":"192.168.1.68","p":"/sd?path=/logs/log1.txt"}
Но это хуже для стандартных камер, зато отлично для своего APK.
Что внутри APK (минимальный MVP)
Экран “Сканер”
Распознавание QR (камера)
Разбор строк:
esp8266://...
WIFI:...
http://...
SMSTO:... / mailto: / geo:...
Экран “Действие”:
кнопка “Открыть Web”
“Скачать файл”
“Отправить команду”
“Подключиться к Wi-Fi” (если QR с Wi-Fi)
Технология (без боли)
Самый простой стек: Android + Kotlin + ML Kit
Google ML Kit Barcode Scanning — стабильный, быстрый
CameraX — удобная камера
Intent-filters — чтобы deep links открывались приложением
Куда это масштабировать (вау-уровень)
🔐 Подпись команды: sig=HMAC(...) (ESP и приложение знают общий ключ)
⏳ TTL (время жизни QR): “действителен 30 секунд”
📶 Автопоиск устройства в сети (mDNS/скан подсети)
📲 “Парное подключение”: первый QR = привязка устройства, дальше управление
---
💻 Используемое оборудование
ESP8266
TFT ST7735 160×128
SD карта
SPI
---
📌 Особенность проекта
QR генерируется корректно под физические ограничения дисплея.
Никакой “магии масштабирования” — только правильная геометрия.
---
Если вам интересны подобные проекты:
👍 Подписывайтесь
💬 Пишите идеи для следующих доработок
🔔 Впереди — динамический QR через API
---
Если хочешь, могу:
сделать английскую версию
сделать SEO-оптимизированное описание
написать закреплённый комментарий
добавить таймкоды
сделать технический блок под GitHub
Куда двигаемся дальше? 🚀
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: