Оглавление:
- Запасы
- Шаг 1. Подготовка телефона
- Шаг 2. Собираем все вместе
- Шаг 3: Окончательная упаковка и добавление смоделированного «эффекта звонка»
- Шаг 4: программное обеспечение и окончательная интеграция
Видео: Мобильный телефон с дисковым циферблатом в стиле ретро: 4 шага (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
Этот проект был продиктован как практическими потребностями, так и желанием развлечься.
Как и в большинстве современных семей, у нас много лет назад перестали иметь настоящий «домашний» телефон (проводной). Вместо этого у нас есть дополнительная SIM-карта, связанная с нашим «старым» домашним номером, который я носил в своем мобильном телефоне с двумя SIM-картами. В большинстве случаев это было хорошо, но в некоторых случаях это не срабатывало, например, когда к нам приходили родители (они старое поколение - без сотовых телефонов, и я не мог позвонить им в наш дом, когда был в отъезде. так как наш "домашний" телефон был у меня). Это также усилилось, когда я переключил свой телефон (новый телефон с одним слотом для SIM-карты). Таким образом, казалось хорошей идеей найти способ иметь телефон в «домашнем» стиле, в котором можно было бы использовать нашу дополнительную SIM-карту.
Что касается забавной части, большинство детей в настоящее время не имеют большого представления о том, как старые телефоны с дисковым набором номера работали или что они вообще существовали как таковые. В той части мира, откуда мы с женой, мы используем выражение «переверни номер» для набора номера, что сбивает с толку более молодое население, поскольку «зачем кому-то поворачивать телефон, чтобы набрать номер». Поэтому я подумал, что было бы здорово, если бы мой сын (который активно участвовал в этом проекте) мог получить опыт работы с дисковым телефоном.
Конечно, я также был уверен, что этот «новый» телефон станет хорошей темой для разговора, когда к нам приезжают друзья и родственники. Или, что еще лучше, брать телефон с собой в гости к друзьям, удивляя людей полностью функциональным мобильным телефоном в ретро-стиле.
В ходе проекта мы изменили некоторые изначальные цели дизайна. Например, я думал о том, чтобы встроить перезаряжаемый внешний аккумулятор внутрь телефона, чтобы его можно было легко брать с собой, но в конце концов понял, что в этом нет необходимости (поскольку этот тип телефона, естественно, всегда находится в одном месте, поэтому он может всегда быть подключенным к розетке). Были и другие «ярлыки», которые мы смогли предпринять, что сделало проект относительно простым и не слишком сложным.
================
Что касается материала, я изначально надеялся, что мы сможем получить старый дисковый телефон от моих родителей и использовать большинство его частей (корпус телефона, дисковый переключатель, гарнитуру и т. Д.), Что снизит стоимость всего проекта. В конечном итоге этого не произошло из-за COVID-19, который помешал нашей запланированной поездке в Европу (посещение семьи), и вместо этого мы просто нашли и купили новый телефон с дисковым набором номера на Amazon (меня не устроили варианты и цены на eBay). Это было нормально, поскольку он предоставлял некоторые интересные дополнительные функции, поскольку мы обнаружили телефон с дисковым набором номера с дополнительными параметрами набора (* и #), обычно недоступными на старых телефонах.
Основной частью проекта была GSM / GPRS HAT, которая легко доступна (нам не нужна версия 4G) и которой можно напрямую управлять с любой Raspberry Pi или аналогичных плат. В нашем случае у нас была небольшая плата Raspberry Pi Zero, которую мы активно не использовали (из старшего проекта моего сына).
Интересно, что большинство изменений мышления и дизайна было сделано вокруг относительно простой и небольшой части проекта - создания вызывающего действия. Как известно тем, кто знаком со старыми телефонами, характерный звонок старого стиля производился «колокольчиками» с питанием от 40-60 В переменного тока, что было непросто сделать в рамках этого проекта. В конце концов я решил упростить эту часть проекта и пришел к относительно простому решению, используя записываемый звуковой модуль, который обычно является частью поздравительных открыток. Были и другие варианты, но на самом деле это работало отлично и было относительно недорогим решением.
Запасы
- Малина Pi Zero W
-
Шляпа Waveshare GSM / GPRS / GNSS / Bluetooth
- Записываемый звуковой модуль, активируется кнопкой
- (Старый) Поворотный телефон
- Карта Micro SD (для Raspberry Pi), кабели / контакты, старые наушники и т. Д.
Шаг 1. Подготовка телефона
Проводные телефоны старого образца - относительно простые устройства. Как видно на снимке с оригинальным телефоном в разобранном виде, многоразовыми частями являются основная оболочка телефона, включая поворотный переключатель и базу, гарнитуру и ее переключатель, а все остальное вынесено - звонок и плата управления.
Что было очень приятно с этой конкретной моделью телефона, так это то, что мы смогли повторно использовать не только поворотный переключатель, но и его разъем, который можно было подключить непосредственно к заголовку на Raspberry Pi. Следует отметить, что этот разъем имеет 3 провода, один для справки и 2 для дискретных входов на Raspberry Pi. При наличии соответствующей логики (зафиксированной в прилагаемом коде) это позволяет определить, когда циферблат повернут и какой номер был выбран.
То же самое и с переключателем гарнитуры, у которого есть разъем, который можно напрямую подключить к разъему. Это простая логика, поскольку для нее требуется только ссылка и один дискретный вход.
Как и ожидалось, кабель гарнитуры состоит из 4-х проводов, по 2 для маломощного динамика и микрофона. Поскольку HAT, который мы использовали, имел аудиоразъем 3,5 мм для наушников, я просто подключил эти 4 провода к одному из старых наушников 3,5-мм штекер аудиоразъема.
Еще одна интересная вещь, которая пригодилась в данной модели телефона, - это крепление стоек к базе. Хотя нам нужно было вырезать некоторые из них, чтобы освободить место для досок, мы все же смогли повторно использовать другие и обезопасить наши платы. Это был хороший перерыв, который сэкономил нам время.
Шаг 2. Собираем все вместе
Для простой проверки концепции достаточно подключить Raspberry Pi и GSM HAT напрямую, а обычные наушники подключить к GSM HAT. Я смог использовать эту настройку вместе с приложением MiniCom (управление последовательным портом Raspberry Pi, который напрямую подключен к GSM HAT), чтобы быстро проверить, что моя SIM-карта работает и что я могу звонить и отправлять / получать SMS-сообщения с этой настройкой.
Поскольку другие могут быть заинтересованы в этом (интересно быстро протестировать новую настройку), вот указатели, как это сделать (очевидно, на основе предположения об одинаковых / похожих платах):
- Установить и настроить ОС на Raspberry Pi (я использовал версию Lite OS, которая поставляется без графического интерфейса).
- Подключите GSM HAT (с установленной SIM-картой) к Raspberry Pi (убедитесь, что GSM HAT имеет соответствующий выбор переключателя UART в зависимости от типа подключения, см. Ссылку ниже для руководства HAT). Для этого шага вам может потребоваться версия Raspberry Pi, в которой уже установлен разъем заголовка, в нашем случае мне нужно было его припаять (так как я использовал Pi zero, который по умолчанию поставляется без заголовка). В качестве альтернативы, лучший вариант - использовать кабель micro USB для подключения обеих карт (и Raspberry Pi, и GSM HAT имеют micro USB)
- Включите использование последовательного порта Raspberry Pi при подключении GSM HAT через последовательный порт (по умолчанию порт Raspberry Pi используется для консоли). Для этого вам нужно будет следовать инструкциям для raspi-config (см. Выше ссылку «настроить»), опций взаимодействия - включения SSH и опций последовательного порта. Если вы используете версию ОС Lite, вам также может потребоваться «подключиться к беспроводной сети» и включить SSH (см. Инструкции выше по ссылке «настроить»).
- Подключите Raspberry Pi к монитору и клавиатуре (или получите доступ к нему через удаленный ssh)
- Используйте MiniCom или подобное последовательное приложение для ручного управления HAT через соответствующий порт (для моего порта установки был «/ dev / ttyS0», он будет другим при использовании micro USB). Установите MiniCom с помощью «sudo apt-get install minicom», а после установки запустите его с помощью «minicom -D / devtyS0» (или любого другого используемого порта).
- Используйте руководство по GSM HAT или руководство по AT-командам для управления различными функциями HAT (отправка SMS, вызов и т. Д.). После правильного подключения GSM HAT ответит «OK» на запрос команды «AT». Чтобы проверить, правильно ли зарегистрирована SIM-карта, используйте команду «AT + CREG?», Которая также должна вернуть «OK». Вы также можете подтвердить поставщика сети с помощью «AT + COPS?» Или проверить свой номер телефона с помощью «AT + CNUM».
Чтобы интегрировать остальные необходимые детали, мы создали специальный 16-контактный кабель для Raspberry Pi и GSM HAT, так как нам потребовались некоторые другие контакты ввода-вывода общего назначения для чтения поворотного переключателя, состояния переключателя гарнитуры и для управления звонком (также для автоматического запуска GSM HAT во время включения / инициализации). Я попытался использовать для этой цели некоторые из готовых соединительных проводов для Raspberry Pi, и, хотя они отлично работали для быстрого подключения и тестирования, я был не очень доволен качеством и в итоге сделал свой собственный 16-контактный разъем.
Другой способ установить соединение между Raspberry Pi и GSM HAT - через порты micro USB на обеих платах (и опять же, вам нужно будет соответствующим образом установить переключатель UART на GSM HAT), и это может быть более быстрым и гораздо более простым решением. Вы можете легко это сделать, если приобретете соответствующий кабель (который сэкономит ваше время и усилия на изготовление кабеля) - просто не забудьте изменить порт, используемый программным обеспечением / приложением.
После подключения плат (через micro USB) все остальное легко. Просто следуйте диаграмме выше, где представленные контакты связаны с кодом, прикрепленным в конце этой инструкции. Конкретно:
- Контакты 35, 37 и 39 (связанные с Raspberry Pi GPIO 19, 26 и землей) используются для подключения к циферблату (входные контакты). Телефон, который мы выбрали, уже имеет 3-х проводный разъем, красный и черный провод связаны с контактами NO и NC, а желтый провод является общим.
- Контакты 23 и 25 (Raspberry Pi GPIO 11 и земля) используются для подключения переключателя гарнитуры (вход - обнаружение, когда гарнитура поднимается или опускается)
- Контакты 22 и 20 (Raspberry Pi GPIO 25 и земля) используются для подключения к переключателю звукового модуля (выход - кольцевое действие)
- Кроме того, контакт 19 (GPIO 10), возможно, потребуется припаять к выключателю питания GSM HAT, поскольку некоторые версии HAT не могут быть запущены только при включении питания, а нужно, чтобы кто-то вручную нажал выключатель питания на HAT.
- Со стороны телефона мы сняли внутренний 4-жильный кабель гарнитуры и подключили к 3,5-мм аудиоразъему от старых наушников. Красный / зеленый провода предназначены для микрофона гарнитуры, а желтый / черный - для динамика гарнитуры. В зависимости от используемой стороны разъема 3,5 мм вам может потребоваться выбрать подходящий провод (согласно приведенному выше фрагменту для входа для наушников GSM HAT), но в нашем случае микрофон был подключен к экрану и красному, а провода динамика были зеленым и синим. В конце вставьте штекер 3,5 мм во вход для наушников GSM HAT.
Шаг 3: Окончательная упаковка и добавление смоделированного «эффекта звонка»
Хотя окончательная внутренняя упаковка, как показано на рисунке выше, выглядит относительно аккуратно, потребовалось много доработок и опробования различных вариантов. Основными ограничениями были пространство под диском и жесткие разъемы, и весь процесс напоминал сборку пазла.
Нам очень повезло, что мы смогли использовать несколько столбиков, которые уже существовали внутри телефона (мы удалили другие стойки с помощью инструмента Dremel), а также для защиты плат и динамика. Но это также ограничивало остальное доступное пространство, что в конечном итоге привело к тому, что мы отказались от первоначальной идеи добавить внутренний перезаряжаемый источник питания.
Что касается "кольца", то в итоге мы купили записываемый звуковой модуль с батарейным питанием. В качестве опции (при подключении плат через micro USB) есть версия без батареи, которая может питаться напрямую от разъема Raspberry Pi 5V.
В обоих случаях необходимо удалить внешний управляющий переключатель звукового модуля и подключить провода к одному из контактов GPIO + заземления. А программирование мелодии звонка в модуль очень просто, просто подключите его к ПК и загрузите любой mp3-файл, который вы хотите использовать для звонка. Вот ссылка на хороший сайт с множеством старых мелодий звонков.
Шаг 4: программное обеспечение и окончательная интеграция
На приведенной выше блок-схеме представлены все основные компоненты и их взаимосвязи. По сути, для реализации требуется 3 дискретных входа и как минимум 1 дискретный выход (мы использовали 2 DO, поскольку версия GSM HAT, которую мы получили, не может запускаться автоматически без нажатия кнопки на HAT, поэтому нам нужно было припаять провод к этой кнопке, чтобы заставить запуск HAT при включенном телефоне).
Что касается кода, он был написан на Python 2.7, поэтому, если вы устанавливаете / используете версию 3.x и выше, могут быть некоторые вещи, которые нужно будет изменить (очевидным является оператор print). Для правильной работы кода необходимо сначала добавить несколько библиотек Python, например:
- gpiozero (необходимо для интерфейса Raspberry Pi GPIO)
- re (библиотека регулярных выражений - для анализа входящих SMS-сообщений, установить, если не является частью установки Python по умолчанию)
- последовательный (для подключения к GSM HAT - требуется даже при подключении через micro USB, установить, если не является частью стандартной установки Python)
Кроме того, в прикрепленном коде есть 2 места, которые необходимо изменить / адаптировать в зависимости от окончательной реализации (или 3 места, если используются разные контакты GPIO). Первый связан с номером, который вы хотите использовать для пересылки сообщений:
# ********************************** FORWARDING_NUMBER = "5551234567" # поместите сюда телефон, на котором хотите отправлять сообщения быть отправленным
# ***********************************
И второй - для настройки последовательного порта:
# ***********************************
# Инициализация SIM868 и rutinessim868 = serial. Serial ("/ dev / ttyS0", 115200)
# убедитесь, что / dev / ttyS0 подходит для вашей установки
# ***********************************
Код был построен как конечный автомат, описанный на диаграмме выше. Большую часть времени телефон находится в состоянии ожидания, ожидая событий: 1. Входящий звонок (переводит телефон в состояние ЗВОНОК)
2. Входящее SMS-сообщение - которое / может быть автоматически переадресовано на другой телефон.
3. Поднимите гарнитуру перед набором номера (переводит телефон в состояние DIAL).
4. Набор спецсимвола без снятия гарнитуры (по текущему коду, набор "#" выключенного телефона)…
В код встроено множество комментариев, которые должны помочь прочитать и понять его. Мы оставили некоторые вещи незавершенными, например, добавили опцию быстрого набора, или отправили статусное сообщение, или …
Что касается того, как автоматически запускать код при подаче питания, мы решили реализовать его как службу, что можно сделать, как описано здесь. Просто сделайте следующее:
- загрузите ниже прикрепленные файлы «rotaryPhoneStateMachine.txt» и «myphone.txt» и переименуйте их в «rotaryPhoneStateMachine.py» и «myphone.service» (по какой-то странной причине сервер Instructables не позволяет загружать файлы определенных типов)
- поместите rotaryPhoneStateMachine.py в папку / home / pi
- поместите myphone.service в / etc / systemd / system
- включить службу командой «sudo systemctl enable myphone.service» (после проверки всего)
Рекомендуемые:
Еще одна игровая консоль в стиле ретро ATtiny85: 4 шага
Просто еще одна игровая консоль в стиле ретро ATtiny85: небольшая ретро-консольная установка, основанная на OLED ATtiny85 x 0,96 для игры в космические захватчики, тетрис и т. Д
Внешний диск в стиле ретро Game Boy: 3 шага
Retro External Drive Game Boy: В этой статье представлена статья о новом уникальном внешнем мире (du moins à ma connaissance). Предлагаем вам удобную карту интерфейса USB-SATA для внешнего мира. Après un specific temps passé sur cette c
Контроллер в стиле огромных ретро-игр для танцпола: 4 шага
Огромный Контроллер стиля Танцевального Пола в ретро-играх: на нашу свадьбу в марте этого года мы хотели устроить вечеринку в стиле ретро-игр, так как в душе мы просто большие дети, и я уверен, что многие другие люди тоже! исследование MakeyMakey's Я подумал, что было бы отличной идеей обнять
Аудиовизуализатор со светодиодной лентой в стиле ретро: 4 шага (с изображениями)
Аудиовизуализатор со светодиодной лентой в стиле ретро: как музыкант и студент-электрик, я люблю любой проект, который пересекает эти две области. Я видел несколько аудиовизуализаторов, сделанных своими руками (здесь, здесь, здесь и здесь), но каждый из них упустил по крайней мере одну из двух целей, которые я поставил перед собой: п
Проводной телефон в стиле ретро из гарнитуры громкой связи: 7 шагов
Проводной телефон в стиле ретро из гарнитуры громкой связи: это руководство расскажет вам, как сделать проводной телефон в стиле ретро вместо гарнитуры громкой связи. Первоначальная идея принадлежит другому участнику, который сделал ретро-телефон с bluetooth из гарнитуры bluetooth, так что вот как это сделать … Инструменты: Пайка