Как собрать ESP32 Spotify дисплей на Cloudflare Workers
Соберите ESP32‑дисплей, показывающий текущий трек Spotify, используя сервер‑less Cloudflare Workers — настройка займет менее 30 минут.
Собрать ESP32 Spotify дисплей на базе Cloudflare Workers можно за 20‑30 минут, подключив микроконтроллер к бесплатному облачному шлюзу, который будет запрашивать данные о текущем треке через Spotify API. В результате на OLED‑экране будет отображаться название, исполнитель и обложка песни в реальном времени.
Как подключить ESP32 к Spotify через Cloudflare Workers?
Прямой ответ: необходимо создать Cloudflare Worker, который будет получать токен доступа и возвращать JSON‑данные о текущем воспроизведении, а затем настроить ESP32 для периодических запросов к этому endpoint.
- 1. Зарегистрируйте приложение в Spotify Developer Dashboard (2026‑03‑15) и получите Client ID и Client Secret.
- 2. На Cloudflare создайте новый Worker (пример:
spotify-display.yourdomain.workers.dev). - 3. В коде Worker реализуйте OAuth 2.0 поток с использованием
fetchдля получения access_token (запросы кhttps://accounts.spotify.com/api/token). - 4. Добавьте коду кэширование токена на 55 минут (95% времени токен остаётся валидным).
- 5. Реализуйте endpoint
/current, который делает запрос кhttps://api.spotify.com/v1/me/player/currently-playingи возвращает минимумtrack_name,artistиalbum_image_url. - 6. На ESP32 установите библиотеку
HTTPClientи настройте Wi‑Fi подключение к вашему роутеру. - 7. Программируйте ESP32 выполнять GET‑запрос к Worker‑endpoint каждые 10 секунд и парсить полученный JSON.
Почему использовать Cloudflare Workers выгодно для проекта?
Прямой ответ: Cloudflare Workers обеспечивает глобальную низколатентную сеть, автоматическое масштабирование и бесплатный тариф до 100 000 запросов в месяц, что делает его идеальным для небольших DIY‑проектов.
- • Глобальная сеть — запросы от ESP32 идут к ближайшему дата‑центру, средняя задержка < 30 мс.
- • Бесплатный план покрывает до 100 000 запросов/мес, что при 6 запросах в минуту (≈ 8 600 запросов в месяц) полностью укладывается в лимит.
- • Без серверного администрирования — нет необходимости поддерживать собственный VPS, экономия до 1500 руб в год.
- • Встроенный KV‑хранилище позволяет сохранять токен без внешних баз.
Что делать, если токен Spotify истёк?
Прямой ответ: в Worker‑скрипте реализуйте автоматическое обновление токена, используя refresh_token, и ESP32 будет получать новые данные без перезапуска.
- 1. При первом авторизационном запросе запросите
refresh_token(параметрgrant_type=authorization_code). - 2. Сохраните
refresh_tokenв KV‑хранилище Cloudflare. - 3. При получении 401 Unauthorized от Spotify API запустите запрос
grant_type=refresh_tokenк токен‑эндпоинту. - 4. Обновлённый
access_tokenсразу сохраняйте в KV и возвращайте клиенту. - 5. Добавьте в ESP32‑код проверку статуса ответа; при 401‑ошибке запрос повторяется через 5 секунд.
Как отобразить текущий трек на OLED‑дисплее?
Прямой ответ: используйте библиотеку Adafruit SSD1306 для рисования текста и изображения, полученных из JSON‑ответа Worker‑endpoint.
- 1. Подключите 0.96" OLED (128×64) к ESP32 по I2C (GPIO21‑SDA, GPIO22‑SCL).
- 2. Инициализируйте дисплей в функции
setup()сdisplay.begin(). - 3. После получения JSON распарсите
track_name,artistиalbum_image_url. - 4. Для изображения скачайте мини‑версии обложки (пример ≈ 64 KB) через
HTTPClient, преобразуйте в массив байтов и отобразите методомdrawBitmap(). - 5. Выведите текст:
display.setCursor(0,0); display.print(track_name); display.setCursor(0,10); display.print(artist); - 6. Обновляйте экран каждые 10 секунд, очищая предыдущий кадр
display.clearDisplay().
Какие альтернативные инструменты можно применить вместо ESP32?
Прямой ответ: вместо ESP32 можно использовать Raspberry Pi Zero W, Arduino Nano 33 IoT или даже смартфон‑эмулятор, но каждый вариант имеет свои плюсы и минусы.
- Raspberry Pi Zero W — полноценный Linux, поддерживает Python‑скрипты, но потребляет ~ 150 мА и стоит ≈ 2500 руб.
- Arduino Nano 33 IoT — компактнее, но ограничен по памяти (256 KB Flash), подходит для простых текстовых дисплеев.
- Смартфон‑эмулятор (Android) — позволяет использовать официальное приложение Spotify, однако требует постоянного подключения к сети и не интегрируется в умный дом.
- Все перечисленные варианты совместимы с Cloudflare Workers, потому что запросы идут по HTTP.
Воспользуйтесь бесплатным инструментом ESP32 Spotify Display Builder на toolbox-online.ru — работает онлайн, без регистрации.
Теги