Съдържание:

Мобилен телефон с въртящ се циферблат в ретро стил: 4 стъпки (със снимки)
Мобилен телефон с въртящ се циферблат в ретро стил: 4 стъпки (със снимки)

Видео: Мобилен телефон с въртящ се циферблат в ретро стил: 4 стъпки (със снимки)

Видео: Мобилен телефон с въртящ се циферблат в ретро стил: 4 стъпки (със снимки)
Видео: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Юни
Anonim
Мобилен телефон с въртящ се циферблат в ретро стил
Мобилен телефон с въртящ се циферблат в ретро стил

Този проект беше воден както от практическа нужда, така и от желание да направи нещо забавно.

Като повечето съвременни семейства, ние спряхме да имаме истински „домашен“телефон (кабелен) преди много години. Вместо това имаме допълнителна SIM карта, свързана с нашия „стар“домашен номер, която носех в мобилния си телефон с две SIM карти. Това беше добре като настройка през по -голямата част от времето, но в някои случаи не работеше най -добре, например когато родителите ни бяха на гости (те са от старо поколение - без мобилни телефони и не можех да им се обадя вкъщи, когато ги няма тъй като нашият "домашен" телефон беше с мен). Това също се засили, когато смених телефона си (нов телефон с един сим слот). И така, изглеждаше добра идея да намерим начин да имаме телефон в домашен стил, който да може да използва нашата допълнителна SIM карта.

Що се отнася до забавната част, повечето от децата в днешно време нямат много представа колко стари телефони с въртящи се циферблати са работили или че дори са съществували като такива. В част от света, откъдето сме аз и съпругата ми, използваме израза „обърни номера“за набиране, което е объркващо за по -младото население, тъй като „защо някой би обърнал телефона, за да набере“. Затова си помислих, че би било страхотно синът ми (който участва активно в този проект) да може да получи опит с ротационен телефон.

Разбира се, също бях сигурен, че този „нов“телефон ще бъде приятна тема за разговор, когато имаме приятели и роднини. Или още по -добре, като вземете телефон с нас, когато посещавате приятели, изненадвайки хората с напълно функционален ретро изглеждащ мобилен телефон.

По време на проекта променихме някои от първоначалните дизайнерски цели. Например, мислех за вграждане на презареждаща се външна батерия в телефона, за да може лесно да се разхожда, но в крайна сметка осъзнах, че това не е необходимо (тъй като този тип телефон естествено остава на едно място през цялото време, така че може винаги да се включва в контакта). Имаше някои други „преки пътища“, които успяхме да предприемем, което направи проекта сравнително ясен и не твърде сложен.

================

Като материал първоначално се надявах, че ще успеем да вземем стар ротационен телефон от родителите ми и да използваме повечето от неговите части (корпус на телефона, въртящ се циферблат, слушалки и т.н.), което ще намали цената на цялостния проект. Това в крайна сметка не се случи поради COVID-19, който попречи на планираното ни пътуване до Европа (посещение на семейство), и вместо това просто намерихме и купихме новия телефон с ротационен номер в Amazon (не бях доволен от опциите и цените в eBay). Това беше ОК, тъй като предоставяше някои интересни допълнителни функции, тъй като открихме ротационен телефон с допълнителни опции за набиране (* и #), които обикновено не са налични на стари телефони.

Основната част от проекта беше GSM/GPRS HAT, който е лесно достъпен (нямахме нужда от 4G версия) и който може да се управлява директно с всякакви Raspberry Pi или подобни платки. В нашия случай имахме малка платка Raspberry Pi Zero, която не използвахме активно (от по -стария проект на сина ми).

Интересно е, че повечето промени в мисленето и дизайна са направени около относително проста и малка част от проекта - създаване на звънещо действие. Както знаят тези, които са запознати със старите телефони, отличителен стар стил на звънене е произведен от "камбани", задвижвани от 40-60 VAC, което беше трудно да се направи като част от този проект. Накрая реших да опростя тази част от проекта и в крайна сметка получих сравнително просто решение, като използвах записваем звуков модул, който обикновено е част от поздравителните картички. Имаше и други опции, но това действително работи чудесно и беше сравнително евтино решение.

Консумативи

  • Raspberry Pi Zero W
  • Waveshare GSM/GPRS/GNSS/Bluetooth HAT

  • Записваем звуков модул, активиран с бутон
  • (Стар) Ротационен телефон
  • 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 нула, която по подразбиране идва без заглавка). Като алтернатива, по -добрият вариант е да използвате микро USB кабел за свързване на двете карти (и Raspberry Pi, и GSM HAT имат микро USB)

- Активирайте използването на сериен порт на Raspberry Pi, ако свързвате GSM HAT през сериен порт (по подразбиране портът на Raspberry Pi се използва за конзола). За да направите това, ще трябва да следвате инструкциите за raspi -config (вижте по -горе връзката "конфигуриране"), опции за свързване - активиране на SSH и серийни опции. Ако използвате версия на Lite OS, може да се наложи също да се "свържете с безжична мрежа" и да активирате SSH (вижте инструкциите отгоре връзката "конфигуриране").

- Свържете Raspberry Pi към монитора и клавиатурата (или достъп до него чрез отдалечен ssh)

- Използвайте MiniCom или подобно серийно приложение за ръчно управление на HAT през подходящ порт (за моя порт за настройка беше „/dev/ttyS0“, той ще бъде различен, ако използвам микро 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, тъй като се нуждаехме от някои други IO щифтове с общо предназначение за четене на въртящ се диск, състояние на превключвателя на слушалките и за задвижване на звънеца (също за автоматично стартиране GSM HAT по време на включване / инициализация). Опитах се да използвам някои от готовите пробивни проводници за Raspberry Pi за тази цел и въпреки че това работи добре за бързо свързване и тестване, не бях много доволен от качеството и в крайна сметка направих свой собствен 16-пинов конектор.

Друг начин да се осъществи връзката между Raspberry Pi и GSM HAT е чрез микро USB портове на двете платки (и отново ще трябва да настроите подходящо UART превключвател на GSM HAT) и това може да е по -бързо и много по -просто решение. Можете лесно да направите това, ако получите подходящ кабел (това ще ви спести време и усилия да направите кабел) - просто не забравяйте да промените порта, използван от софтуера/приложението.

След свързване на платки (с микро 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 - необходимо дори при свързване чрез микро USB, инсталирайте, ако не е част от стандартната инсталация на Python)

Също така, има 2 места в прикачения код, които трябва да бъдат променени/адаптирани в зависимост от окончателното изпълнение (или 3 места, ако се използват различни GPIO пинове). Първият е свързан с номер, който искате да използвате за препращане на съобщения:

# *********************************** FORWARDING_NUMBER = "5551234567" # поставете тук телефона, където искате вашите съобщения да бъдат препратени

# ***********************************

И второто е за настройка на сериен порт:

# ***********************************

# SIM868 инициализация и rutinessim868 = serial. Serial ("/dev/ttyS0", 115200)

# уверете се, че /dev /ttyS0 е подходящ за вашата настройка

# ***********************************

Кодът е построен като държавна машина, описана в горната диаграма. По -голямата част от времето телефонът е в състояние на празен ход и чака събития: 1. Входящо повикване (което ще доведе телефона до състояние RING)

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" (след тестване на всичко)

Препоръчано: