Taula de continguts:

Telèfon mòbil de marcatge rotatiu d'estil retro: 4 passos (amb imatges)
Telèfon mòbil de marcatge rotatiu d'estil retro: 4 passos (amb imatges)

Vídeo: Telèfon mòbil de marcatge rotatiu d'estil retro: 4 passos (amb imatges)

Vídeo: Telèfon mòbil de marcatge rotatiu d'estil retro: 4 passos (amb imatges)
Vídeo: Java Tech Talk: Telegram бот на java за 1 час 2024, Desembre
Anonim
Telèfon mòbil de marcatge rotatiu d'estil retro
Telèfon mòbil de marcatge rotatiu d'estil retro

Aquest projecte va ser impulsat per la necessitat pràctica i el desig de fer alguna cosa divertida.

Com a la majoria de famílies modernes, fa molts anys que vam deixar de tenir un telèfon autònom "de casa" (amb cable). En canvi, tenim una targeta SIM addicional associada al nostre número de casa "antic", que portava al meu telèfon mòbil de doble SIM. Va estar bé com a configuració la majoria de les vegades, però no va funcionar millor en alguns casos, com quan teníem els nostres pares de visita (són de vella generació, sense telèfons mòbils, i no podia trucar-los a casa quan fos fora) ja que el nostre telèfon "de casa" era amb mi). Això també es va ampliar quan vaig canviar de telèfon (un nou telèfon amb ranura SIM única). Per tant, ens va semblar una bona idea trobar una manera de tenir un telèfon a casa que pogués utilitzar la nostra targeta SIM addicional.

Pel que fa a la diversió, la majoria dels nens avui en dia no tenen massa idea de quants anys funcionaven els telèfons rotatius o que fins i tot existien com a tals. En una part del món d’on som la meva dona i jo, fem servir l’expressió "capgirar el número" per marcar, cosa que resulta confusa per a la població més jove, ja que "per què algú donaria la volta al telèfon per marcar"? Per tant, vaig pensar que seria genial que el meu fill (que participava activament en aquest projecte) pogués tenir experiència amb el telèfon rotatiu.

Per descomptat, també estava segur que aquest "nou" telèfon seria un bon tema de conversa quan tinguem amics i parents. O millor encara: portar el telèfon amb nosaltres quan visitem amics, sorprendre a la gent amb un telèfon mòbil d’aspecte retro completament funcional.

Durant el projecte, vam canviar alguns dels objectius de disseny originals. Per exemple, pensava en inserir una bateria externa recarregable al telèfon perquè es pogués portar fàcilment, però finalment em vaig adonar que no era necessari (ja que aquest tipus de telèfon es queda allà en un lloc tot el temps, de manera que pot estar sempre endollat a la presa de corrent). Hi va haver altres "dreceres" que vam poder prendre, cosa que va fer que el projecte fos relativament senzill i no massa complex.

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

Pel que fa al material, inicialment esperava que podríem obtenir un telèfon rotatiu antic dels meus pares i utilitzar la majoria de les seves peces (carcassa del telèfon, esfera rotativa, auriculars, etc.), cosa que disminuiria el cost del projecte en general. Això finalment no va succeir a causa de COVID-19, que va impedir el nostre viatge previst a Europa (família visitant), i en lloc d’això, vam trobar i comprar el nou telèfon de marcatge rotatiu a Amazon (no estava satisfet amb les opcions i els preus a eBay). Estava bé, ja que proporcionava algunes funcions addicionals interessants, ja que hem trobat un telèfon de marcatge rotatiu amb opcions de marcatge addicionals (* i #), que normalment no estan disponibles en telèfons antics.

La part principal del projecte era GSM / GPRS HAT, que està fàcilment disponible (no necessitàvem la versió 4G), i que es pot controlar directament amb qualsevol placa Raspberry Pi o similar. En el nostre cas, teníem una petita placa Raspberry Pi Zero que no utilitzàvem activament (del projecte més gran del meu fill).

És interessant que la majoria dels canvis de pensament i disseny es van fer al voltant d’una part relativament senzilla i petita del projecte, creant una acció de timbre. Com saben aquells que estan familiaritzats amb els telèfons antics, els timbres distintius de l'estil antic eren produïts per "campanes" impulsades per 40-60 VCA, cosa que era difícil de fer com a part d'aquest projecte. Finalment vaig decidir simplificar aquesta part del projecte i vaig acabar amb una solució relativament senzilla mitjançant l'ús d'un mòdul de so gravable que sol formar part de les targetes de felicitació. Hi havia altres opcions, però en realitat funcionava molt bé i era una solució relativament barata.

Subministraments

  • Raspberry Pi Zero W
  • Waveshare GSM / GPRS / GNSS / Bluetooth HAT
  • Mòdul de so gravable, polsador activat
  • Telèfon rotatiu (antic)
  • Targeta micro SD (per a Raspberry Pi), cables / pins, auriculars antics, etc.

Pas 1: Preparació del telèfon

Preparació del telèfon
Preparació del telèfon

Els telèfons amb cable d’estil antic són dispositius relativament simples. Com es pot veure a la imatge amb el telèfon original desmuntat, les parts reutilitzables són la carcassa principal del telèfon, incloses la rotació i la base, els auriculars i el seu interruptor, mentre que la resta es va treure: toqueu la campana i el tauler de control.

El que va ser molt agradable amb aquest model de telèfon en particular és que no només vam poder tornar a utilitzar el dial giratori sinó també el seu connector, que es podia connectar directament a la capçalera del Raspberry Pi. Cal tenir en compte que aquest connector té 3 cables, un de referència i 2 entrades discretes a Raspberry Pi. Amb una lògica adequada (capturada al codi adjunt), això permet detectar quan es gira el marcatge i quin número s’ha seleccionat.

El mateix passava amb el commutador d’auriculars, que té un connector que es pot connectar directament a la capçalera. És una lògica simple, ja que només requereix referència i una entrada discreta.

Com era d’esperar, el cable dels auriculars té 4 cables, amb 2 per a altaveus i micròfon de baix consum. Com que HAT que estàvem utilitzant tenia un connector d'àudio de 3,5 mm per a auriculars, acabo connectant aquests 4 cables a un dels antics endolls d'àudio masculins de 3,5 mm.

Una cosa més interessant que va ser útil d’aquest model de telèfon en particular van ser el muntatge de publicacions des de la base del telèfon. Tot i que havíem de tallar-ne alguns per fer espai per a taulers, encara vam poder reutilitzar-ne d’altres i assegurar-los. Va ser un bon descans i ens estalvia temps.

Pas 2: ajuntar les coses

Posar les coses juntes
Posar les coses juntes
Posar les coses juntes
Posar les coses juntes
Posar les coses juntes
Posar les coses juntes

Per obtenir una prova de concepte senzilla, n'hi ha prou amb connectar Raspberry Pi i GSM HAT directament i connectar els auriculars normals a GSM HAT. Vaig poder utilitzar aquesta configuració juntament amb l’aplicació MiniCom (que conduïa el port sèrie Raspberry Pi, que està directament connectat a GSM HAT) per comprovar ràpidament que la meva targeta SIM funciona i que puc trucar i enviar / rebre missatges SMS amb aquesta configuració.

Atès que altres persones podrien estar interessats a fer-ho (és divertit provar ràpidament una nova configuració), aquí teniu els consells sobre com fer-ho (òbviament, basant-se en la suposició dels mateixos taulers / similars):

- Instal·leu i configureu el sistema operatiu a Raspberry Pi (he utilitzat la versió del sistema operatiu Lite, que ve sense cap interfície gràfica d’usuari).

- Connecteu GSM HAT (amb la targeta SIM instal·lada) a Raspberry Pi (assegureu-vos que GSM HAT tingui una selecció de commutador UART adequada en funció del tipus de connexió; consulteu l'enllaç següent per al manual HAT). Per a aquest pas, és possible que necessiteu la versió de Raspberry Pi que ja tingui instal·lat el connector de capçalera, en el nostre cas calia soldar-lo (ja que feia servir Pi zero, que per defecte ve sense capçalera). Com a alternativa, la millor opció és utilitzar un cable micro USB per connectar les dues targetes (tant Raspberry Pi com GSM HAT tenen micro USB)

- Activeu l'ús del port sèrie Raspberry Pi si connecteu GSM HAT mitjançant un port sèrie (per defecte, el port Raspberry Pi s'utilitza per a consola). Per fer-ho, haureu de seguir les instruccions per a raspi-config (vegeu l'enllaç "configurar" més amunt), opcions d'interfície, que permeten opcions SSH i sèrie. Si utilitzeu la versió de Lite OS, és possible que també hàgiu de "connectar-vos a la xarxa sense fils" i habilitar SSH (vegeu les instruccions de l'enllaç "configurar" de més amunt).

- Connecteu Raspberry Pi al monitor i al teclat (o accediu-hi mitjançant ssh remot)

- Utilitzeu MiniCom o una aplicació de sèrie similar per controlar manualment HAT a través del port adequat (per al meu port de configuració era "/ dev / ttyS0", serà diferent si utilitzeu micro USB). Instal·leu MiniCom amb "sudo apt-get install minicom" i, un cop instal·lat, inicieu-lo amb "minicom -D / devtyS0" (o el port que s'utilitzi).

- Utilitzeu el manual GSM HAT o el manual AT Command per dirigir diverses funcions HAT (enviar SMS, fer trucades, etc.). Quan estigui correctament connectat, GSM HAT respondrà amb "D'acord" quan se li demani l'ordre "AT". Per comprovar si la targeta SIM s'ha registrat correctament, utilitzeu l'ordre "AT + CREG?", Que també hauria de retornar "OK". També podeu verificar el proveïdor de xarxa amb "AT + COPS?" O comprovar el vostre número de telèfon amb "AT + CNUM".

Per integrar la resta de peces necessàries, vam crear un cable de 16 pins personalitzat per a Raspberry Pi a GSM HAT, ja que necessitàvem alguns altres pins IO per a usos generals per llegir el dial rotatiu, l'interruptor de l'estat dels auriculars i per accionar el timbre (també per iniciar automàticament) GSM HAT durant l’engegada / inicialització). Vaig intentar fer servir alguns cables de ruptura per a Raspberry Pi amb aquest propòsit i, tot i que funcionava bé per connectar-me i provar-los ràpidament, no em va agradar molt la qualitat i vaig acabar fabricant el meu propi connector de 16 pins.

Una altra manera de fer la connexió entre Raspberry Pi i GSM HAT és mitjançant els ports micro USB de les dues plaques (i, de nou, haureu d’establir un commutador UART adequat a GSM HAT), i això pot ser una solució molt més ràpida i senzilla. Podeu fer-ho fàcilment si obteniu el cable adequat (això us estalviaria temps i esforç per fer el cable); no oblideu canviar el port que utilitza el programari / aplicació.

Després de connectar taules (amb micro USB), la resta és fàcil. Simplement seguiu el diagrama anterior, on els pins presentats s’associen amb el codi adjunt al final d’aquest instructiu. Concretament:

- Els pins 35, 37 i 39 (associats amb Raspberry Pi GPIO 19, 26 i terra) s’utilitzen per connectar-se al marcatge (pins d’entrada). El telèfon que vam triar ja havia construït un connector de 3 cables, amb fil negre i vermell associat als pins NO i NC, i el fil groc era habitual.

- Els pins 23 i 25 (Raspberry Pi GPIO 11 i terra) s’utilitzen per connectar l’interruptor dels auriculars (entrada: es detecta quan s’aixequen o es posen els auriculars)

- Els pins 22 i 20 (Raspberry Pi GPIO 25 i terra) s’utilitzen per connectar-se al commutador del mòdul de so (sortida - acció de l’anell)

- A més, és possible que calgui soldar el pin 19 (GPIO 10) al commutador d’alimentació GSM HAT, ja que algunes versions de HAT no es poden iniciar només en engegar-les, sinó que necessiten que algú premi manualment l’interruptor “power” d’HAT.

- Pel costat del telèfon, vam retirar el cable de 4 cables de l’auricular intern i el vam connectar a un connector d’àudio de 3,5 mm dels antics auriculars. Els cables vermells / verds són per a micròfon d’auriculars i el groc / negre per a altaveus d’auriculars. Segons el costat de la presa de 3,5 mm utilitzat, potser haureu d’esbrinar el cable adequat (per l’extracte anterior per a l’entrada d’auriculars GSM HAT), però en el nostre cas el micròfon estava connectat a blindatge i vermell, mentre que els cables dels altaveus eren de color verd i blau. Al final, connecteu el connector de 3,5 mm a l’entrada d’auriculars GSM HAT.

Pas 3: Embalatge final i addició d'un "efecte de timbre" simulat

Embalatge final i addició simulada
Embalatge final i addició simulada

Tot i que l’envàs intern definitiu, tal com es veu a la imatge superior, sembla relativament ordenat, sí que va requerir moltes opcions de manipulació. Les principals restriccions eren l’espai sota el dial rotatiu i els connectors rígids, i tot el procés era com unir trencaclosques.

Va ser molt afortunat que poguéssim utilitzar diverses publicacions que ja existien a l'interior del telèfon (vam eliminar altres publicacions amb l'eina Dremel) i assegurar taulers i altaveus. Però això també va restringir la resta de l’espai disponible, cosa que finalment ens va portar a abandonar la idea original per afegir una font d’energia recarregable interna.

Pel que fa al "timbre", vam acabar comprant mòduls de so gravables amb bateria. Com a opció (quan es connecten plaques mitjançant micro USB), hi ha una versió que no és de bateria i que es pot alimentar directament des de la capçalera Raspberry Pi 5V.

En ambdós casos, caldria eliminar el commutador de control extern del mòdul de so i connectar els cables a un dels pins GPIO + terra. I programar el to de trucada al mòdul és molt senzill, només cal que el connecteu a l'ordinador i descarregueu el fitxer mp3 que vulgueu utilitzar per accionar el timbre. Aquí teniu l’enllaç a un lloc agradable amb molts sons antics.

Pas 4: programari i integració final

Programari i integració final
Programari i integració final
Programari i integració final
Programari i integració final

A sobre del diagrama de blocs es presenten tots els components principals i les seves relacions. En essència, la implementació necessita 3 entrades discretes i almenys 1 sortida discreta (hem utilitzat 2 DO des de la versió de GSM HAT que aconseguim no es pot iniciar automàticament sense prémer el botó de HAT, de manera que calia soldar el cable a aquest botó per forçar iniciar el HAT quan el telèfon està encès).

Pel que fa al codi, es va escriure a Python 2.7, de manera que si instal·leu / utilitzeu la versió 3.x i superior, pot haver-hi algunes coses que caldria canviar (evidentment, una sentència "imprimir"). Perquè el codi funcioni correctament, hi ha un parell de biblioteques Python que cal afegir primer, com ara:

- gpiozero (necessari per a la interfície Raspberry Pi GPIO)

- re (biblioteca d'expressions regulars - per analitzar els missatges SMS entrants, instal·leu-la si no forma part de la instal·lació predeterminada de Python)

- sèrie (per connectar-se a GSM HAT - és necessari fins i tot si es connecta mitjançant micro USB, instal·leu-lo si no forma part de la instal·lació predeterminada de Python)

A més, hi ha 2 llocs al codi adjunt que s'han de modificar / adaptar en funció de la implementació final (o 3 llocs, si s'utilitzen diferents pins GPIO). El primer està relacionat amb el número que voleu utilitzar per reenviar missatges:

# *********************************** FORWARDING_NUMBER = "5551234567" # posa aquí el telèfon on vulguis els teus missatges a reenviar

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

I el segon és per a la configuració del port sèrie:

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

# SIM868 initialization and rutinessim868 = serial. Serial ("/ dev / ttyS0", 115200)

# assegureu-vos que / dev / ttyS0 sigui adequat per a la vostra configuració

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

El codi es va crear com a màquina d'estats, descrit al diagrama anterior. La majoria de les vegades el telèfon es troba en estat inactiu, esperant esdeveniments: 1. Trucada entrant (que portarà el telèfon a l'estat RING)

2. Missatge SMS entrant: es pot reenviar automàticament a un altre telèfon

3. Aixecament d’auriculars, en preparació per a la trucada (condueix el telèfon a l’estat DIAL)

4. Marcar un caràcter especial sense aixecar els auriculars (segons el codi actual, marcar el telèfon "#" apagat) …

Hi ha molts comentaris incrustats al codi, que haurien d’ajudar a llegir-lo i entendre’l. Hem deixat algunes coses sense acabar, com ara afegir una opció de marcatge ràpid o enviar missatges d'estat o …

Quant a com fer que el codi s'executi automàticament quan s'aplica l'alimentació, vam optar per implementar-lo com a servei, cosa que es pot fer tal com es descriu aquí. Simplement feu el següent:

- descarregueu a continuació els fitxers adjunts "rotaryPhoneStateMachine.txt" i "myphone.txt" i canvieu-los amb el nom "rotaryPhoneStateMachine.py" i "myphone.service" (per alguna raó estranya, el servidor Instructables no permet la càrrega de determinats tipus de fitxers)

- col·loqueu "rotaryPhoneStateMachine.py" a la carpeta / home / pi

- col·loqueu "myphone.service" a / etc / systemd / system

- habilitar el servei amb l'ordre "sudo systemctl enable myphone.service" (després de provar-ho tot)

Recomanat: