Radio Data System (англ. Radio Data System, RDS) — многоцелевой стандарт, предназначенный для передачи информационных сообщений по каналам ЧМ-радиовещания в диапазоне УКВ.
Модуль RDA5807M позволяет работать с текстовыми сообщениями, передаваемыми FM радиостанциями, однако поскольку я живу примерно в 500км за МКАД-ом, станций в моем регионе не так уж и много, а транслирующих RDS еще меньше. В свой готовый проект я включать этот кусок кода не планирую, но если вы живете не в таком глубоком "замкадье" - он может оказаться вам полезным.
Рекомендую ознакомиться с двумя предыдущими статьями:
В библиотеке radio.h уже есть парсер RDS сообщений, так что реализация данного функционала в своем проекте не составит особых сложностей.
1. Необходимо подключить библиотеку парсера:
2. Добавляем 2 процедуры
3. В основной цикл добавляем:
После загрузки скетча, если станция вещает с передачей текстовых сообщений в мониторе порта можно увидеть примерно следующее:
Название станции, частота и телефон для рекламы - инфа полезна, как для рыбы зонтик. На четырех других местных радиостанциях ситуация не намного лучше.
Дело тут конечно не в самом стандарте, а в передаваемых местными радиостанциями данных: единственное, что представляет в них интерес - это название станции. Но, конечный проект я скорее всего буду делать на ESP32, а там название станций можно будет добавить через самодельный WEB интерфейс, на нормальном русском языке.
Следующая статья будет посвящена алгоритму автоматического поиска радиостанций.
Весь код примера доступен тут, а подробные инструкции в предыдущих статьях.
Оглавление канала доступно по ссылке:
Всем удачи!