|

Создание Bluetooth-шлюза для советского таксофона АМТ-69 с функцией кассирования

Тип статьи:
Авторская
Источник:
Интеграция легендарного советского таксофона АМТ-69 в современную беспроводную сеть позволяет превратить ретро-аппарат в полнофункциональную Bluetooth-гарнитуру для смартфона. Настоящий антураж таксофона раскрывается тогда, когда полностью сохраняется логика его работы: невозможность поговорить без брошенной монеты и физический провал монеты в копилку (кассирование) в момент ответа собеседника.
Ниже приведено полное техническое руководство по проектированию, схемотехнике и программной логике такого устройства на базе микроконтроллера ESP32. В первой части я подробно расписал наш отечественный опыт, ведь без такого введения сложно сразу понять, что к чему.

Таксофон АМТ-69 СССР и Блютуз гарнитура
Для чего это нужно: 
Советские таксофоны  особенно модель АМТ-69, сейчас многие   оживляют для  работы  в 2026 году на современных стандартах связи, часто  для работы как GSM таксофон, то есть  создают самодостаточное  устройство работающее независимо  в сотовых сетях, об этом я писал ранее  в статье:  Как устроен таксофон АМТ-69 GSM .
Либо же адаптируют  советские таксофоны  под IP-телефонию  , об этом подробнее  я написал очень много умных букв в статье: Как переделать таксофон АМТ-69 на VoIP своими руками.
Для тех кто ничего  делать не хочет или не умеет  есть простой путь  не парясь Купить таксофон  уже переделанный в GSM-таксофон, но надо знать  экономику ценообразования, сегодня  это выглядит приблизительно так :
Таксофон советский  более-менее комплектный  с ключами и в приличном состоянии на Авито купить сегодня ( 9 сентября 2026 года) можно  за 23000 рублей, данные средние по больнице .
Новая трубка  для таксофона  стоит  около 1500 рублей (надо если на таксофоне  совсем плохая), новый идеальный  GSM-шлюз  на официальном сайте  компании SPrecord цена сегодня 24520 руб. (на вторичном рынке  цена обычно около 8000 руб.)
Более дешевый вариант  на Алиэкспресс ноунейм шлюз + конвертер пульс-тон цена такого набора 5000 руб. (бюджетно но работает)
Ещё понадобится  звонок двухчашечный, его можно добыть практически из любого старого дискового телефона  с того же авито купив донора за 500 рублей, ведь на состояние корпуса вам  должно быть фиолетово.
Итого: 49520 руб. оптимальная (я бы даже сказал максимальная) честная  цена  всех необходимых комплектующих. 
 

1. Физика процессов и принцип кассирования в АМТ-69

Внутри АМТ-69 установлена механическая копилка и электромагнитный узел кассирования (катушка К2). Логика работы оригинального таксофона на советских АТС выглядела следующим образом:
  1. Режим ожидания: В линии присутствует постоянное напряжение около 60V.
  2. Опускание монеты: Абонент снимает трубку и бросает монету (2 копейки или две по 1 копейке). Монета застревает на механическом рычаге на входе монетоприемника. Набирается номер.
  3. Ответ абонента (Переполюсовка): Как только вызываемый абонент на другом конце провода поднимает трубку, городская АТС мгновенно меняет полярность проводов линии местами.
  4. Сброс монеты: Смена полярности заставляет сработать электромагнит кассирования внутри АМТ-69. Электромагнит тянет рычаг шторки, монета падает в канал и пройдя лабиринт  попадает на весы, весы поднимают магнит, он заставляет сработать геркон, контакты микрофона разблокируются, и включается полноценная двусторонняя связь.
Все вышеописанные костыли имеют право на жизнь и вполне себе рабочие, НО! Американские коллеги по телефонному и таксофонному безумию пошли намного дальше и сделали это более изящно. Сейчас, когда автоматический перевод страниц зарубежных сайтов стал удобным, я изучил их опыт и делюсь с вами, предлагая русскую версию, а точнее — адаптацию под наши родненькие таксофоны СССР АМТ-69 🇷🇺
Суть их задумки гениальна 💯, ведь всегда в руке мобильный телефон и во всех смартфонах есть Bluetooth. Иметь отдельную сим-карту под таксофон GSM — сомнительное удовольствие. А вот когда ваш таксофон подключается к привычному мобильнику по «синему зубу», по сути становясь Bluetooth-гарнитурой хоть к «Яблоку», хоть к «Самсунгу», хоть к «Сяоми» — вот тогда начинается полный ностальгический Дзен-баланс.
В США юзают в основном два изделия (нагуглить их легко): одно — Cell2Jack, второе — XLink. На Алиэкспресс я аналогов не нашёл. Да и не имеет особого смысла, ведь оба эти устройства больше подходят под обычные дисковые и кнопочные ретро-телефоны. Нам-то надо заставить работать целый таксофон, и не американский таксофон, а АМТ-69!
Важно: Фабричные телефонные Bluetooth-шлюзы (Cell2Jack, XLink) не имеют функции силовой инверсии полярности. Для АМТ-69 требуется кастомная DIY-схема.

Вот  теперь  давайте перейдем  ко второму пункту, в котором  подробно  вкурим инструкции и  задумки  


2. Архитектура системы и компоненты

Для построения самодельного Bluetooth-шлюза используются следующие модули:
Микроконтроллер ESP32 NodeMCU: Главный процессор всей системы. Его выбор обусловлен наличием встроенного модуля Bluetooth с аппаратной поддержкой аудиопрофилей HFP/HSP (Hands-Free / Headset Profile), а также встроенных ЦАП (DAC) и АЦП (ADC) для обработки и оцифровки звука.
Модуль SLIC (Subscriber Line Interface Circuit): Специализированная микросхема (например, Ag1170 или Si3210), которая аппаратно имитирует работу настоящей телефонной станции. Она генерирует постоянное напряжение питания линии (Talk Battery), детектирует снятие трубки (входной сигнал SHK / Switch Hook) и умеет генерировать высоковольтный переменный ток (Ring) для организации входящих вызовов.
Блок переполюсовки (Н-мост): Двухканальное реле с перекидными контактами (или кастомная схема на полевых транзисторах) для физического переворачивания проводов телефонной линии АМТ-69.
Аудиоразвязка: Трансформаторы с импедансом 600:600 Ом и разделительные конденсаторы, необходимые для фильтрации жесткого цифрового шума Wi-Fi/Bluetooth от микроконтроллера ESP32 и правильного согласования уровней звука.
 
Управление полярностью линии:
Нормальное состояние (Реле выключены): На провод Л1 подается плюс (+), на провод Л2 подается минус (-). Это базовый режим, в котором происходит ожидание вызова и стандартный импульсный набор номера.
Режим кассирования (Реле включены): На провод Л1 подается минус (-), на провод Л2 подается плюс (+). В этот момент происходит мгновенное срабатывание электромагнита катушки К2 и физический сброс монеты в канал монетного блока таксофона АМТ-69.
Наглядную схему коммутации и общую логику взаимодействия модулей я нарисовал мелом на доске. Думаю, глядя на фотографию ниже, в целом логика работы должна быть понятна каждому.
Для построения шлюза используются следующие модули:
  • Микроконтроллер ESP32 NodeMCU: Главный процессор. Выбор обусловлен наличием встроенного модуля Bluetooth с поддержкой аудиопрофилей (HFP/HSP — Hands-Free / Headset Profile), встроенного ЦАП (DAC) и АЦП (ADC) для обработки звука.
  • Модуль SLIC (Subscriber Line Interface Circuit): Специализированная микросхема (например, Ag1170 или Si3210), которая имитирует телефонную станцию. Она генерирует напряжение питания линии (Talk Battery), детектирует снятие трубки сигнал SHK / Switch Hook) и умеет генерировать высоковольтный вызов (Ring) для входящих звонков.
  • Блок переполюсовки (Н-мост): Двухканальное реле с перекидными контактами (или схема на полевых транзисторах) для физического переворачивания проводов .
  • Аудиоразвязка: Трансформаторы 600:600 Ом и разделительные конденсаторы для фильтрации цифрового шума Wi-Fi/Bluetooth от ESP32 и согласования импеданса.

Схема  мелом на доске программной логики  переполюсовки

4. Программная логика (Скетч для ESP32)

Для реализации функций беспроводной гарнитуры (Hands-Free Profile) используется библиотека, умеющая работать со встроенным Bluetooth-стеком контроллера ESP32. Программа в реальном времени опрашивает состояние вызова на привязанном смартфоне и управляет силовой периферией шлюза: модулем SLIC и реле кассирования.
Ниже представлен базовый алгоритм прошивки для среды разработки Arduino IDE:
 
  1. #include "BluetoothA2DPSink.h" // Библиотека с поддержкой Bluetooth HFP
  2.  
  3. // Назначение пинов ESP32
  4. const int PIN_SHK = 18; // Вход: Детектор поднятия трубки (от SLIC)
  5. const int PIN_REVERSE = 4; // Выход: Управление реле переполюсовки
  6. const int PIN_RING = 5; // Выход: Включение звонка (для входящих)
  7.  
  8. // Переменные для обработки пульсового (дискового) набора
  9. volatile int pulseCount = 0;
  10. volatile unsigned long lastPulseTime = 0;
  11. const unsigned long DEBOUNCE_TIME = 10; // мс
  12.  
  13. bool callInProgress = false;
  14.  
  15. void IRAM_ATTR onPulse() {
  16. // Обработчик прерывания для подсчета импульсов диска номера
  17. unsigned long currentTime = millis();
  18. if ((currentTime - lastPulseTime) > DEBOUNCE_TIME) {
  19. pulseCount++;
  20. lastPulseTime = currentTime;
  21. }
  22. }
  23.  
  24. void setup() {
  25. pinMode(PIN_SHK, INPUT_PULLUP);
  26. pinMode(PIN_REVERSE, OUTPUT);
  27. pinMode(PIN_RING, OUTPUT);
  28.  
  29. digitalWrite(PIN_REVERSE, LOW); // Исходная полярность в линию
  30. digitalWrite(PIN_RING, LOW);
  31.  
  32. // Настройка прерывания на пин снятия трубки для считывания диска
  33. attachInterrupt(digitalPinToInterrupt(PIN_SHK), onPulse, FALLING);
  34.  
  35. // Инициализация ESP32 в режиме Bluetooth-гарнитуры
  36. init_bluetooth_hfp_profile("AMT-69_Retro_Gateway");
  37. }
  38.  
  39. void loop() {
  40. // 1. Логика обработки входящего звонка
  41. if (bluetooth_get_call_state() == CALL_STATE_RINGING) {
  42. // Прерывистый сигнал звонка (1 сек звонит, 2 сек молчит)
  43. digitalWrite(PIN_RING, HIGH);
  44. delay(1000);
  45. digitalWrite(PIN_RING, LOW);
  46. delay(2000);
  47. }
  48.  
  49. // 2. Логика ответа абонента и кассирования (Исходящий вызов)
  50. // Если статус вызова на смартфоне изменился на "АКТИВЕН"
  51. if (bluetooth_get_call_state() == CALL_STATE_ACTIVE && !callInProgress) {
  52. callInProgress = true;
  53.  
  54. // Выполняем кассирование монеты (переполюсовка)
  55. digitalWrite(PIN_REVERSE, HIGH);
  56. delay(400); // Длительность импульса АТС (300-500 мс)
  57. digitalWrite(PIN_REVERSE, LOW); // Возврат в исходное состояние
  58.  
  59. // Включаем маршрутизацию звука (ЦАП/АЦП -> Bluetooth)
  60. audio_bridge_enable(true);
  61. }
  62.  
  63. // 3. Обработка окончания разговора (Трубку повесили)
  64. if (digitalRead(PIN_SHK) == LOW && callInProgress) {
  65. // Если физическая трубка на рычаге, а вызов еще активен
  66. bluetooth_hangup(); // Даем команду смартфону положить трубку
  67. audio_bridge_enable(false);
  68. callInProgress = false;
  69. }
  70.  
  71. // 4. Логика обработки набранной цифры с диска
  72. if (pulseCount > 0 && (millis() - lastPulseTime) > 300) {
  73. int dialedDigit = pulseCount;
  74. if (dialedDigit == 10) dialedDigit = 0; // В телефонах 10 импульсов — это 0
  75.  
  76. bluetooth_send_dtmf(dialedDigit); // Передаем цифру в смартфон
  77. pulseCount = 0; // Сброс счетчика для следующей цифры
  78. }
  79. }
  80.  

Этот скетч наглядно иллюстрирует, как микроконтроллер связывает железную механику 1969 года с беспроводными стандартами связи наших дней.

5. Важные технические нюансы при реализации

Ток и напряжение кассирования: Советские таксофоны АМТ-69 проектировались под стандарты АТС с питанием 60V. На практике, если внутренний механизм электромагнита хорошо смазан и отрегулирован, отсечка балансира монетоприёмника уверенно срабатывает и от 36V–48V. Если вы используете слабый модуль SLIC (выдающий, например, всего 24V), электромагнит может просто тихо гудеть, но не сбрасывать монету. В этом случае силовой контур переполюсовки нужно питать от внешнего повышающего DC-DC преобразователя через реле.
Защита от цифрового шума: Модуль Bluetooth на ESP32 создает сильные высокочастотные наводки по питанию. Аналоговая часть (разговорная схема таксофона) крайне чувствительна к ним.
Решение: раздельные контуры заземления (GND) для цифровой части и аналоговой линии, использование экранированных проводов и обязательная гальваническая развязка аудиоканалов через трансформаторы ТОТ (или китайские аналоги 600:600).
Адаптация под монеты: Оригинальный АМТ-69 настроен на вес и размер советских 2 копеек. Если вы хотите использовать современные монеты (например, 1 рубль), потребуется механическая регулировка грузика весового коромысла монетного блока от модификации АМТ-69/2.
 
Если вы осилили дочитать до конца этот многобуквенный текст с множеством неясных терминов типа ESP32, SLIC, импеданс, и вы в шоке до того, что волосы на ногах встали дыбом — то сделайте глубокий вдох и просто посмотрите на киску.
+1
Сайт использует файлы cookie, без этого ничего не работает.