
Описание
Дисковый телефон как аудиоэкспонат: посетитель снимает трубку — играет трек, набирает цифру на диске — переключается на другой трек, кладёт трубку — воспроизведение останавливается. Контент и список соответствия «цифра → трек» лежат на карте памяти, сеть не нужна.
Состав устройства
| Слот | Аппаратный модуль | Программный модуль |
|---|---|---|
| 0 | soundMono — динамик трубки | mp3Player |
| 1 | SD_card — карта памяти с треками и whitelist.txt | — |
| 2 | button_led — вход bt: рычаг трубки | button_led |
| 3 | in_2ch — дисковый номеронабиратель, перемычки OC на обоих каналах | dialer |
| 4 | — (виртуальный) | whitelist — набранная цифра → действие |
Питание — USB-адаптер 5 В (артикул 000-004) в разъём USB контроллера.
Схема подключения
Динамик трубки — на spk+/spk-. Рычаг трубки — сухой контакт между bt
и gnd модуля button_led. Номеронабиратель: ena — на ch_1, pulse —
на ch_0, общий — на gnd модуля in_2ch; контакты сухие, поэтому перемычки
обоих каналов — в положении OC (см.
OE).
Типовой конфиг
[SYSTEM]
deviceName = retroTelephone
[SLOT_0]
mode = mp3Player
;по окончании трека проиграть его снова
crosslink = player_0/event/endOfTrack:#->player_0/action/play:#
[SLOT_1]
mode = SD_card
[SLOT_2]
mode = button_led
;трубка снята - играть текущий трек, положена - стоп
crosslink = button_2/event/press:1->player_0/action/play:#, button_2/event/press:0->player_0/action/stop:1
[SLOT_3]
mode = dialer
;номер из одной цифры
options = numberMaxLenght:1
;набранная цифра уходит на проверку по списку
crosslink = dialer_3/event/val:@->whitelist_4/action/check:@
;виртуальный слот: список хранится в корне карты памяти как whitelist.txt
[SLOT_4]
mode = whitelist- Сетевые интерфейсы не используются — группы
[LAN],[UDP],[OSC],[MQTT]в конфиге отсутствуют, см. структуру конфигурационного файла. [SLOT_0]: трек зациклен — поendOfTrackзапускается снова (#— текущий трек, см. специальные символы).[SLOT_2]: рычаг отпущен (трубка снята) —press=1, играет текущий трек; трубка положена —press=0, стоп. Если рычаг замкнут при снятой трубке, добавьте опцию buttonInverse.[SLOT_3]: после набора одной цифры номер сразу рапортуется (@— как есть) и передаётся в whitelist командойcheck.[SLOT_4]: whitelist ищет набранную цифру в файле и выполняет действие из совпавшей строки.
Файл whitelist.txt в корне карты памяти — по одной записи на строку,
слева набранная цифра, справа действие в формате crossLink без имени
устройства:
1->player_0/action/shift:0
2->player_0/action/shift:1
3->player_0/action/shift:2
Набор «1» переводит указатель на нулевой трек; если трубка снята и
проигрыватель работает, он сразу начинает играть. Цифры, которых нет в
списке, игнорируются — whitelist рапортует noMatches.
Подробнее — внутренние связи (crossLink).
Архив
Описание устройства для прошивок до перехода на конституцию — Ретро телефон (архив).