Скоро выкачу новую прошивку для часов MatrixClock.
Наконец-то исправил косяк с Dim After Sunset, подробности
тут в конце. От
webradio пришлось отказаться - слишком много ресурсов уходит на обработку аудио потока. Вернулся назад к аппаратному mp3 плееру DFPlayer Mini с управлением по UART. Существует куча клонов с обрезанным функционалом. Покупать надо такой:
правильный DFPlayer Mini
DFPlayer Mini pinout
Планировал использовать модуль BY8001-16P. У него возможностей больше, но не доехал. Заказывал у двух разных продавцов и оба раза мимо. Итого минус 4-е месяца ожидания. Потом потерял день ковыряя библиотеку
DFPlayerMini_Fast. Версия 1.2.2, 107 лайков, 100500 скачиваний. Казалось бери и пользуйся, но
нет. Opensource такой opensource. Пока подшаманил под себя и забил. Со временем полностью перепишу.
Новая версия будет работать с и без DFPlayer Mini. Появится оповещение каждого часа кукухой (закрываю детский гештальт) и еще 9-ю звуками. После захода солнца кукуха спит. Будут 10 будильников и на сдачу простенький mp3 плеер. Не пропадать же добру. Все играет с SD карты и при желании, может быть заменено на свое. У модуля адские требования к названию файлов, но вы разберетесь с помощью README.txt
на сдачу простенький mp3 плеер
UDP: Переписал библиотеку, смотрим
тут. Допилил плеер. Основная трудность была в том, что модуль не умеет проигрывать песни подряд. Отыграл одну и отдыхает. Надо мониторить busy пин или постоянно слать команду getStatus(). Решил пойти вторым путем, так-как gpio у ESP8266 мало и еще пригодятся. Не хотел, но пришлось использовать
SoftSerial. Второй
UART как назло висит на SPI, а он уже занят
MAX7219. Каждые 5 секунд запускается задача Ticker.h и проверяет плеер. Если отдыхает, шлет команду next(). Осталось написать будильник. Как это красиво сделать пока не знаю.
UDP: Глаза боятся, а руки делают. Будильник готов. Бонусом добавил сохранение текщего трека в RTC. Подробности
тут.