Sommario:

Telefono cellulare con quadrante rotante in stile retrò: 4 passaggi (con immagini)
Telefono cellulare con quadrante rotante in stile retrò: 4 passaggi (con immagini)

Video: Telefono cellulare con quadrante rotante in stile retrò: 4 passaggi (con immagini)

Video: Telefono cellulare con quadrante rotante in stile retrò: 4 passaggi (con immagini)
Video: Lo SPECCHIETTO RETROVISORE SMART ECONOMICO 10" con ANDROID, ADAS, GPS e DASH CAM! | JUNSUN A960P 2024, Dicembre
Anonim
Telefono cellulare con quadrante rotante in stile retrò
Telefono cellulare con quadrante rotante in stile retrò

Questo progetto è stato guidato sia da un'esigenza pratica che dal desiderio di fare qualcosa di divertente.

Come la maggior parte delle famiglie moderne, abbiamo smesso di avere un vero telefono "di casa" (cablato) molti anni fa. Invece, abbiamo una scheda SIM aggiuntiva associata al nostro "vecchio" numero di casa, che avevo nel mio cellulare dual-sim. Questo andava bene come configurazione per la maggior parte del tempo, ma in alcuni casi non funzionava meglio, come quando facevamo visita ai nostri genitori (sono di vecchia generazione - senza telefoni cellulari e non potevo chiamarli a casa nostra quando ero via dato che il nostro telefono di "casa" era con me). Questo è stato anche amplificato quando ho cambiato telefono (nuovo telefono con slot per sim singolo). Quindi, sembrava una buona idea trovare un modo per avere un telefono in stile "casa" che fosse in grado di utilizzare la nostra carta SIM aggiuntiva.

Per quanto riguarda la parte divertente, la maggior parte dei ragazzi di oggi non ha molta idea di come funzionassero i vecchi telefoni a manopola o che esistessero come tali. In una parte del mondo da cui veniamo io e mia moglie, usiamo l'espressione "girare il numero" per comporre, che è fonte di confusione per la popolazione più giovane, dal momento che "perché qualcuno dovrebbe girare il telefono per comporre". Pertanto, ho pensato che sarebbe stato bello avere mio figlio (che stava partecipando attivamente a questo progetto) in grado di fare esperienza con il telefono rotante.

Naturalmente, ero anche sicuro che questo "nuovo" telefono sarebbe stato un bel argomento di conversazione quando avremmo avuto amici e parenti. O ancora meglio, portando il telefono con noi quando visitiamo gli amici, sorprendendo le persone con un telefono cellulare dall'aspetto retrò perfettamente funzionante.

Durante il progetto, abbiamo cambiato alcuni degli obiettivi di design originali. Ad esempio, stavo pensando di incorporare una batteria esterna ricaricabile all'interno del telefono in modo che possa essere facilmente portata in giro, ma alla fine mi sono reso conto che non è necessario (dato che questo tipo di telefono sta naturalmente sempre nello stesso posto, quindi può essere sempre collegato alla presa). C'erano alcune altre "scorciatoie" che siamo stati in grado di prendere, il che ha reso il progetto relativamente semplice e non troppo complesso.

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

Per il materiale, inizialmente speravo che saremmo stati in grado di ottenere il vecchio telefono rotante dai miei genitori e utilizzare la maggior parte delle sue parti (involucro del telefono, quadrante rotante, auricolare, ecc.), Il che ridurrebbe il costo del progetto complessivo. Ciò alla fine non è accaduto a causa di COVID-19, che ha impedito il nostro viaggio pianificato in Europa (in visita alla famiglia), e invece abbiamo appena trovato e acquistato il nuovo telefono con manopola su Amazon (non ero soddisfatto delle opzioni e dei prezzi su eBay). Questo andava bene, in quanto forniva alcune interessanti funzionalità aggiuntive, dal momento che abbiamo trovato un telefono a manopola con opzioni di composizione extra (* e #), normalmente non disponibili sui vecchi telefoni.

La parte principale del progetto era un HAT GSM/GPRS che è prontamente disponibile (non avevamo bisogno della versione 4G) e che può essere controllato direttamente con qualsiasi Raspberry Pi o schede simili. Nel nostro caso, avevamo una piccola scheda Raspberry Pi Zero che non stavamo utilizzando attivamente (dal progetto più vecchio di mio figlio).

È interessante notare che la maggior parte delle modifiche al pensiero e al design sono state fatte attorno a una parte relativamente semplice e piccola del progetto: creare un'azione squillante. Come sanno coloro che hanno familiarità con i vecchi telefoni, il caratteristico squillo vecchio stile è stato prodotto da "campane" azionate da 40-60 VAC, il che era difficile da fare come parte di questo progetto. Alla fine ho deciso di semplificare quella parte del progetto e ho ottenuto una soluzione relativamente semplice utilizzando il modulo audio registrabile che di solito fa parte dei biglietti di auguri. C'erano alcune altre opzioni, ma in realtà funzionava alla grande ed era una soluzione relativamente economica.

Forniture

  • Raspberry Pi Zero W
  • CAPPELLO Waveshare GSM/GPRS/GNSS/Bluetooth
  • Modulo sonoro registrabile, pulsante attivato
  • (Vecchio) Telefono rotativo
  • Scheda Micro SD (per Raspberry Pi), cavi/pin, vecchie cuffie, ecc.

Passaggio 1: preparazione del telefono

Preparazione del telefono
Preparazione del telefono

I telefoni con filo vecchio stile sono dispositivi relativamente semplici. Come si può vedere dall'immagine con il telefono originale smontato, le parti riutilizzabili sono il guscio principale del telefono, tra cui il quadrante e la base, l'auricolare e il suo interruttore, mentre il resto è stato rimosso: suona il campanello e la scheda di controllo.

Ciò che è stato molto bello con questo particolare modello di telefono è che siamo stati in grado non solo di riutilizzare il quadrante rotante, ma anche il suo connettore, che potrebbe essere collegato direttamente all'intestazione su Raspberry Pi. Va notato che questo connettore ha 3 fili, uno per riferimento e 2 che vanno a ingressi discreti su Raspberry Pi. Con una logica appropriata (catturata nel codice allegato), ciò consente di rilevare quando si gira il quadrante e quale numero è stato selezionato.

Lo stesso valeva per l'interruttore dell'auricolare, che ha un connettore che può essere collegato direttamente all'intestazione. È una logica semplice, poiché richiede solo un riferimento e un ingresso discreto.

Come previsto, il cavo dell'auricolare ha 4 fili, con 2 ciascuno per altoparlante e microfono a basso livello di potenza. Dal momento che HAT che stavamo usando aveva un jack audio da 3,5 mm per le cuffie, ho finito per collegare quei 4 fili a una delle vecchie cuffie con spina audio maschio da 3,5 mm.

Un'altra cosa interessante che è stata utile da questo particolare modello di telefono è stata il montaggio dei montanti dalla base del telefono. Anche se dovevamo tagliarne alcuni per fare spazio alle schede, siamo comunque riusciti a riutilizzarne altre e a mettere in sicurezza le nostre schede. Questa è stata una bella vacanza e ci ha fatto risparmiare un po' di tempo.

Passaggio 2: mettere insieme le cose

Mettere insieme le cose
Mettere insieme le cose
Mettere insieme le cose
Mettere insieme le cose
Mettere insieme le cose
Mettere insieme le cose

Per una semplice dimostrazione del concetto, è sufficiente collegare direttamente Raspberry Pi e GSM HAT e collegare normali cuffie a GSM HAT. Sono stato in grado di utilizzare quella configurazione insieme all'applicazione MiniCom (guida la porta seriale Raspberry Pi, che è direttamente collegata al GSM HAT) per verificare rapidamente che la mia scheda SIM funzioni e che posso chiamare e inviare/ricevere messaggi SMS con quella configurazione.

Dal momento che altri potrebbero essere interessati a farlo (è divertente testare rapidamente una nuova configurazione), ecco i suggerimenti su come farlo (ovviamente, in base al presupposto delle stesse/simili schede):

- Installa e configura il sistema operativo su Raspberry Pi (ho usato la versione del sistema operativo Lite, che viene fornita senza alcuna GUI).

- Collegare il GSM HAT (con la scheda SIM installata) al Raspberry Pi (assicurarsi che il GSM HAT abbia la selezione dell'interruttore UART appropriata in base al tipo di connessione, vedere il collegamento sotto per il manuale HAT). Per questo passaggio potresti aver bisogno della versione Raspberry Pi che ha già installato il connettore di intestazione, nel nostro caso avevo bisogno di saldarlo (dato che stavo usando Pi zero, che per impostazione predefinita viene fornito senza intestazione). In alternativa, l'opzione migliore è utilizzare un cavo micro USB per collegare entrambe le schede (sia Raspberry Pi che GSM HAT hanno micro USB)

- Abilitare l'uso della porta seriale Raspberry Pi se si collega GSM HAT tramite porta seriale (per impostazione predefinita, la porta Raspberry Pi è utilizzata per la console). Per fare ciò, dovrai seguire le istruzioni per raspi-config (vedi sopra il link "configure"), opzioni di interfacciamento - abilitazione di SSH e opzioni seriali. Se si utilizza la versione del sistema operativo Lite, potrebbe essere necessario anche "connettersi alla rete wireless" e abilitare SSH (vedere le istruzioni dal collegamento "configurazione" sopra).

- Collega Raspberry Pi a monitor e tastiera (o accedi tramite ssh remoto)

- Utilizzare MiniCom o un'app seriale simile per controllare manualmente HAT tramite la porta appropriata (per la mia porta di configurazione era "/dev/ttyS0", sarà diverso se si utilizza micro USB). Installa MiniCom con "sudo apt-get install minicom" e, una volta installato, avvialo con "minicom -D /devtyS0" (o qualsiasi porta utilizzata).

- Utilizzare il manuale GSM HAT o il manuale AT Command per gestire le varie funzioni HAT (invio SMS, chiamata, ecc.). Una volta connesso correttamente, GSM HAT risponderà con "OK" quando richiesto dal comando "AT". Per verificare se la SIM è stata registrata correttamente, utilizzare il comando "AT+CREG?", che dovrebbe restituire anche "OK". Puoi anche verificare il provider di rete con "AT+COPS?", o controllare il proprio numero di telefono con "AT+CNUM"

Per integrare il resto delle parti necessarie, abbiamo creato un cavo personalizzato a 16 pin per Raspberry Pi a GSM HAT, poiché avevamo bisogno di altri pin IO di uso generale per leggere il quadrante rotante, lo stato dell'interruttore dell'auricolare e per azionare il campanello (anche per avviare automaticamente GSM HAT durante l'accensione/inizializzazione). Ho provato a utilizzare alcuni dei cavi di breakout standard per Raspberry Pi a tale scopo e, sebbene funzionasse bene per il collegamento e il test rapidi, non ero molto soddisfatto della qualità e ho finito per creare il mio connettore a 16 pin.

Un altro modo per effettuare la connessione tra Raspberry Pi e GSM HAT è tramite le porte micro USB di entrambe le schede (e di nuovo, sarà necessario impostare in modo appropriato l'interruttore UART su GSM HAT), e questa potrebbe essere una soluzione più veloce e molto più semplice. Puoi farlo facilmente se ottieni un cavo appropriato (che ti farebbe risparmiare tempo e fatica per realizzare il cavo) - non dimenticare di cambiare la porta utilizzata dal software/applicazione.

Dopo aver collegato le schede (con micro USB), il resto è facile. Basta seguire il diagramma sopra, dove i pin presentati sono associati al codice allegato alla fine di questo istruibile. Nello specifico:

- I pin 35, 37 e 39 (associati a Raspberry Pi GPIO 19, 26 e terra) vengono utilizzati per il collegamento al quadrante (pin di ingresso). Il telefono che abbiamo scelto aveva già costruito un connettore a 3 fili, con il filo rosso e nero associato ai pin NO e NC e il filo giallo comune.

- I pin 23 e 25 (Raspberry Pi GPIO 11 e terra) vengono utilizzati per il collegamento dell'interruttore dell'auricolare (ingresso - rilevamento quando l'auricolare viene sollevato o abbassato)

- I pin 22 e 20 (Raspberry Pi GPIO 25 e terra) sono utilizzati per il collegamento all'interruttore del modulo audio (uscita - azione ad anello)

- Inoltre, potrebbe essere necessario saldare il pin 19 (GPIO 10) all'interruttore di alimentazione HAT GSM, poiché alcune versioni di HAT non possono essere avviate solo all'accensione, ma richiedono che qualcuno prema manualmente l'interruttore di "accensione" su HAT.

- Sul lato telefono, abbiamo rimosso il cavo interno a 4 fili dell'auricolare e collegato al jack audio da 3,5 mm delle vecchie cuffie. I fili rosso/verde sono per il microfono della cuffia e il giallo/nero sono per l'altoparlante della cuffia. A seconda del lato del jack da 3,5 mm utilizzato, potrebbe essere necessario calcolare il cavo appropriato (come sopra estratto per l'ingresso delle cuffie GSM HAT), ma nel nostro caso il microfono era collegato allo schermo e al rosso, mentre i cavi degli altoparlanti erano verdi e blu. Alla fine, collega il jack da 3,5 mm all'ingresso delle cuffie GSM HAT.

Passaggio 3: confezionamento finale e aggiunta dell'"effetto squillo" simulato

Imballaggio finale e aggiunta simulati
Imballaggio finale e aggiunta simulati

Mentre l'imballaggio interno finale, come mostrato nell'immagine sopra, sembra relativamente pulito, ha richiesto un sacco di armeggiare e provare diverse opzioni. I vincoli principali erano lo spazio sotto il quadrante rotante e i connettori rigidi, e l'intero processo era come mettere insieme un puzzle.

È stato molto fortunato che siamo stati in grado di utilizzare diversi post già esistenti all'interno del telefono (abbiamo rimosso altri post con lo strumento Dremel) e per fissare schede e altoparlante. Ma ciò ha anche limitato il resto dello spazio disponibile, il che alla fine ci ha portato ad abbandonare l'idea originale di aggiungere una fonte di alimentazione interna ricaricabile.

Per quanto riguarda "ring", abbiamo finito per acquistare un modulo audio registrabile alimentato a batteria. Come opzione (quando si collegano le schede tramite micro USB), è disponibile una versione senza batteria che può essere alimentata direttamente dall'intestazione Raspberry Pi 5V.

In entrambi i casi, sarebbe necessario rimuovere l'interruttore di controllo esterno dal modulo audio e collegare i cavi a uno dei pin GPIO + terra. E programmare la suoneria nel modulo è molto semplice, basta collegarlo al PC e scaricare qualsiasi file mp3 che si desidera utilizzare per l'azione della suoneria. Ecco il link a un bel sito con molti vecchi suoni di suoneria.

Passaggio 4: software e integrazione finale

Software e integrazione finale
Software e integrazione finale
Software e integrazione finale
Software e integrazione finale

Il diagramma a blocchi sopra presenta tutti i componenti principali e le loro relazioni. In sostanza, l'implementazione richiede 3 ingressi discreti e almeno 1 uscita discreta (abbiamo usato 2 DO poiché la versione di GSM HAT che abbiamo ottenuto non può avviarsi automaticamente senza premere il pulsante HAT, quindi abbiamo dovuto saldare il filo a quel pulsante per forzare avviare il HAT quando il telefono è alimentato).

Per quanto riguarda il codice, è stato scritto in Python 2.7, quindi se installi/usa la versione 3.xe successive, potrebbero esserci alcune cose che dovrebbero essere cambiate (ovviamente quella è l'istruzione "print"). Affinché il codice funzioni correttamente, ci sono un paio di librerie Python che devono essere aggiunte prima, come:

- gpiozero (necessario per l'interfaccia GPIO Raspberry Pi)

- re (libreria di espressioni regolari - per l'analisi dei messaggi SMS in arrivo, installa se non fa parte dell'installazione predefinita di Python)

- seriale (per la connessione a GSM HAT - necessaria anche se ci si connette tramite micro USB, installare se non fa parte dell'installazione Python predefinita)

Inoltre, ci sono 2 posti nel codice allegato che devono essere modificati/adattati a seconda dell'implementazione finale (o 3 posti, se vengono utilizzati diversi pin GPIO). Il primo è relativo al numero che vorresti usare per inoltrare i messaggi:

# ***********************************FORWARDING_NUMBER = "5551234567" # metti qui il telefono dove vuoi i tuoi messaggi da inoltrare

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

E il secondo è per l'impostazione della porta seriale:

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

# Inizializzazione SIM868 e rutinesim868 = serial. Serial("/dev/ttyS0", 115200)

# assicurati che /dev/ttyS0 sia adatto alla tua configurazione

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

Il codice è stato costruito come macchina a stati, descritto nel diagramma sopra. La maggior parte delle volte il telefono è in stato IDLE, in attesa di eventi:1. Chiamata in arrivo (che porterà il telefono in stato RING)

2. Messaggio SMS in arrivo - che è/può essere inoltrato automaticamente a un altro telefono

3. Sollevare l'auricolare, in preparazione per la composizione (porta il telefono in stato DIAL)

4. Composizione del carattere speciale senza sollevare la cuffia (come da codice corrente, digitando "#" telefono spento)…

Ci sono molti commenti incorporati nel codice, che dovrebbero aiutare a leggerlo e comprenderlo. Abbiamo lasciato alcune cose incompiute, come l'aggiunta dell'opzione di composizione rapida, l'invio di messaggi di stato o…

Per quanto riguarda il modo in cui il codice viene eseguito automaticamente quando viene applicata l'alimentazione, abbiamo scelto di implementarlo come servizio, cosa che può essere eseguita come descritto qui. Fai semplicemente quanto segue:

- scaricare sotto i file allegati "rotaryPhoneStateMachine.txt" e "myphone.txt" e rinominarli in "rotaryPhoneStateMachine.py" e "myphone.service" (per qualche strano motivo, il server Instructables non consente il caricamento di determinati tipi di file)

- posiziona "rotaryPhoneStateMachine.py" nella cartella /home/pi

- inserisci "myphone.service" in /etc/systemd/system

- abilita il servizio con il comando "sudo systemctl enable myphone.service" (dopo aver testato tutto)

Consigliato: