Cuprins:

Telefon mobil cu stil rotativ cu stil retro: 4 pași (cu imagini)
Telefon mobil cu stil rotativ cu stil retro: 4 pași (cu imagini)

Video: Telefon mobil cu stil rotativ cu stil retro: 4 pași (cu imagini)

Video: Telefon mobil cu stil rotativ cu stil retro: 4 pași (cu imagini)
Video: Galaxy Watch 4 & Watch 4 Classic | ECG, BMI, BP plus multe alte măsurători | Review CEL.ro 2024, Iunie
Anonim
Telefon mobil cu apel rotativ în stil retro
Telefon mobil cu apel rotativ în stil retro

Acest proiect a fost condus atât de nevoia practică, cât și de dorința de a face ceva distractiv.

Ca majoritatea familiilor moderne, am încetat să avem un telefon adevărat „acasă” (cu cablu) în urmă cu mulți ani. În schimb, avem o cartelă SIM suplimentară asociată cu numărul nostru vechi de acasă, pe care l-am transportat în telefonul meu dual-sim. Acest lucru a fost bine ca o configurație de cele mai multe ori, dar nu a funcționat cel mai bine în unele cazuri, cum ar fi când am avut părinții noștri în vizită (sunt de generație veche - fără telefoane mobile și nu le-am putut apela acasă când sunt plecat întrucât telefonul nostru „acasă” era cu mine). Acest lucru s-a amplificat și când mi-am schimbat telefonul (noul telefon cu slot pentru o singură SIM). Așadar, mi s-a părut o idee bună să găsim o modalitate de a avea un telefon de tip „acasă” care să poată utiliza cartela noastră SIM suplimentară.

În ceea ce privește partea distractivă, cei mai mulți copii din zilele noastre nu prea au idee cât de vechi au funcționat telefoanele cu apel rotativ sau că au existat chiar ca atare. Într-o parte a lumii de unde suntem eu și soția mea, folosim expresia „întoarce numărul” pentru apelare, ceea ce este confuz pentru populația mai tânără, din moment ce „de ce ar întoarce cineva telefonul pentru a forma”. Prin urmare, m-am gândit că ar fi grozav ca fiul meu (care participa activ la acest proiect) să poată obține experiență cu telefonul rotativ.

Desigur, am fost sigur și că acest „nou” telefon va fi un subiect de conversație plăcut atunci când vom avea prieteni și rude. Sau chiar mai bine, luând telefonul cu noi când vizităm prieteni, surprindem oameni cu un telefon mobil complet funcțional.

În timpul proiectului, am schimbat unele dintre obiectivele originale de proiectare. De exemplu, mă gândeam să încorporez bateria externă reîncărcabilă în telefon, astfel încât să poată fi transportată cu ușurință, dar în cele din urmă mi-am dat seama că acest lucru nu este necesar (deoarece acest tip de telefon rămâne în mod natural într-un singur loc tot timpul, așa că poate să fie întotdeauna conectat la priză). Au fost câteva alte „comenzi rapide” pe care le-am putut lua, ceea ce a făcut proiectul relativ simplu și nu prea complex.

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

În ceea ce privește materialul, speram inițial că vom putea obține un telefon rotativ vechi de la părinții mei și vom folosi majoritatea pieselor sale (carcasă telefonică, cadran rotativ, căști etc.), ceea ce ar reduce costul întregului proiect. În cele din urmă, acest lucru nu s-a întâmplat din cauza COVID-19, care a împiedicat călătoria noastră planificată în Europa (familia în vizită) și, în schimb, tocmai am găsit și am cumpărat noul telefon cu apel rotativ pe Amazon (nu am fost mulțumit de opțiuni și prețuri pe eBay). Acest lucru a fost OK, deoarece a oferit câteva funcționalități suplimentare interesante, deoarece am găsit un telefon cu apelare rotativă cu opțiuni suplimentare de apelare (* și #), care nu sunt disponibile în mod normal pe telefoanele vechi.

Partea principală a proiectului a fost GSM / GPRS HAT, care este ușor disponibilă (nu aveam nevoie de versiunea 4G) și care poate fi controlată direct cu orice Raspberry Pi sau plăci similare. În cazul nostru, am avut o placă mică Raspberry Pi Zero pe care nu o foloseam în mod activ (din proiectul mai vechi al fiului meu).

Este interesant faptul că majoritatea schimbărilor de gândire și de proiectare au fost făcute în jurul unei părți relativ simple și mici a proiectului - creând o acțiune de sunet. După cum știu cei care sunt familiarizați cu telefoanele vechi, sunetele distincte în stilul vechi au fost produse de „clopote” conduse de 40-60 VAC, ceea ce a fost dificil de realizat ca parte a acestui proiect. În cele din urmă am decis să simplific acea parte a proiectului și am ajuns la o soluție relativ simplă prin utilizarea unui modul de sunet înregistrabil, care este de obicei parte din felicitări. Au existat alte opțiuni, dar acest lucru a funcționat excelent și a fost o soluție relativ ieftină.

Provizii

  • Raspberry Pi Zero W
  • Waveshare GSM / GPRS / GNSS / Bluetooth HAT
  • Modul de sunet înregistrabil, buton activat
  • Telefon rotativ (vechi)
  • Card Micro SD (pentru Raspberry Pi), cabluri / pini, căști vechi etc.

Pasul 1: Pregătirea telefonului

Pregătirea telefonului
Pregătirea telefonului

Telefoanele cu cablu în stil vechi sunt dispozitive relativ simple. După cum se poate observa din poza cu telefonul original decolat, părțile reutilizabile sunt carcasa principală a telefonului, inclusiv cadranul rotativ și baza, setul cu cască și comutatorul acestuia, în timp ce restul a fost scos - sună clopot și placa de control.

Ce a fost foarte frumos cu acest model special de telefon este că am reușit nu numai să reutilizăm cadranul rotativ, ci și conectorul acestuia, care ar putea fi conectat direct în antet pe Raspberry Pi. Trebuie remarcat faptul că acest conector are 3 fire, unul pentru referință și 2 intrări discrete pe Raspberry Pi. Cu o logică adecvată (capturată în codul atașat), aceasta permite detectarea momentului în care este rotit apelul și a numărului selectat.

Același lucru a fost valabil și pentru comutatorul căștilor, care are un conector care poate fi conectat direct la antet. Este o logică simplă, deoarece necesită doar referință și o singură intrare discretă.

Așa cum era de așteptat, cablul căștilor are 4 fire, câte 2 pentru difuzor și microfon cu nivel redus de putere. Deoarece HAT pe care îl foloseam avea mufă audio de 3,5 mm pentru căști, tocmai ajung să conectez cele 4 fire la unul dintre mufele audio de 3,5 mm pentru căști vechi.

Un alt lucru interesant care a fost util din acest model special de telefon au fost montarea posturilor de la baza telefonului. În timp ce trebuia să le tăiem pe unele pentru a face spațiu pentru scânduri, am fost în continuare capabili să refolosim altele și să ne securizăm scândurile. A fost o pauză frumoasă și ne-a economisit ceva timp.

Pasul 2: Unirea lucrurilor

Punând lucrurile împreună
Punând lucrurile împreună
Punând lucrurile împreună
Punând lucrurile împreună
Punând lucrurile împreună
Punând lucrurile împreună

Pentru o simplă dovadă a conceptului, este suficient să conectați direct Raspberry Pi și GSM HAT și să conectați căștile obișnuite la GSM HAT. Am putut folosi această configurație împreună cu aplicația MiniCom (conducând portul serial Raspberry Pi, care este conectat direct la GSM HAT) pentru a verifica rapid dacă cartea SIM funcționează și că pot suna și trimite / primi mesaje SMS cu această configurare.

Din moment ce alții ar putea fi interesați să facă acest lucru (este distractiv să testați rapid o nouă configurare), iată indicațiile despre cum să faceți acest lucru (evident, pe baza presupunerii acelorași placi / similare):

- Instalați și configurați sistemul de operare pe Raspberry Pi (am folosit versiunea OS Lite, care vine fără nici o GUI).

- Conectați GSM HAT (cu cartela SIM instalată) în Raspberry Pi (asigurați-vă că GSM HAT are o selecție adecvată a comutatorului UART în funcție de tipul conexiunii, consultați linkul de mai jos pentru manualul HAT). Pentru acest pas, este posibil să aveți nevoie de versiunea Raspberry Pi care are deja conectat conectorul antet, în cazul nostru trebuia să-l lipesc (deoarece foloseam Pi zero, care implicit vine fără antet). Alternativ, o opțiune mai bună este să utilizați cablu micro USB pentru a conecta ambele carduri (atât Raspberry Pi, cât și GSM HAT au micro USB)

- Activați utilizarea portului serial Raspberry Pi dacă conectați GSM HAT prin portul serial (în mod implicit, portul Raspberry Pi este utilizat pentru consolă). Pentru a face acest lucru, va trebui să urmați instrucțiunile pentru raspi-config (a se vedea mai sus linkul „configurare”), opțiuni de interfață - activând opțiunile SSH și seriale. Dacă utilizați versiunea OS Lite, poate fi necesar să vă „conectați la rețeaua fără fir” și să activați SSH (consultați instrucțiunile de mai sus link-ul „configurați”).

- Conectați Raspberry Pi la monitor și tastatură (sau accesați-l prin ssh de la distanță)

- Folosiți MiniCom sau o aplicație serială similară pentru a controla manual HAT prin portul adecvat (pentru portul meu de configurare era „/ dev / ttyS0”, va fi diferit dacă utilizați micro USB). Instalați MiniCom cu „sudo apt-get install minicom” și, odată instalat, porniți-l cu „minicom -D / devtyS0” (sau oricare port este utilizat).

- Utilizați manualul GSM HAT sau manualul AT Command pentru a conduce diferite funcții HAT (trimitere SMS, efectuarea apelului etc.). Odată conectat corect, GSM HAT va răspunde cu „OK” atunci când este solicitat prin comanda „AT”. Pentru a verifica dacă cartela SIM a fost înregistrată corect, utilizați comanda „AT + CREG?”, Care ar trebui să returneze și „OK”. De asemenea, puteți verifica furnizorul de rețea cu „AT + COPS?” Sau puteți verifica propriul număr de telefon cu „AT + CNUM”

Pentru a integra restul de piese necesare, am creat un cablu personalizat cu 16 pini pentru Raspberry Pi la GSM HAT, deoarece aveam nevoie de alți pini IO de uz general pentru a citi cadran rotativ, starea comutatorului căștilor și pentru a conduce soneria sonoră (de asemenea, pentru a porni automat) GSM HAT în timpul pornirii / inițializării). Am încercat să folosesc câteva fire de siguranță pentru Raspberry Pi în acest scop și, deși a funcționat bine pentru conectarea și testarea rapidă, nu am fost foarte mulțumit de calitate și am ajuns să-mi fac propriul conector cu 16 pini.

O altă modalitate de a face conexiunea între Raspberry Pi și GSM HAT este prin ambele porturi micro USB (și din nou, va trebui să setați în mod corespunzător comutatorul UART pe GSM HAT), iar aceasta poate fi o soluție mai rapidă și mult mai simplă. Puteți face acest lucru cu ușurință dacă obțineți un cablu adecvat (care vă va economisi timp și efort pentru realizarea cablului) - nu uitați să schimbați portul utilizat de software / aplicație.

După conectarea plăcilor (cu micro USB), restul este ușor. Doar urmați diagrama de mai sus, unde pinii prezentați acolo sunt asociați cu codul atașat la sfârșitul acestui instructable. Specific:

- Pinii 35, 37 și 39 (asociați cu Raspberry Pi GPIO 19, 26 și masă) sunt utilizați pentru conectarea la apelare (pinii de intrare). Telefonul pe care l-am ales a construit deja un conector cu 3 fire, firul roșu și negru fiind asociat cu pinii NO și NC, iar firul galben fiind obișnuit.

- Pinii 23 și 25 (Raspberry Pi GPIO 11 și masă) sunt utilizați pentru conectarea comutatorului setului cu cască (intrare - detectarea când setul cu cască este ridicat sau așezat în jos)

- Pinii 22 și 20 (Raspberry Pi GPIO 25 și masă) sunt utilizați pentru conectarea la comutatorul modulului de sunet (ieșire - acțiune inelară)

- În plus, pinul 19 (GPIO 10) poate fi necesar să fie lipit la comutatorul de alimentare HAT GSM, deoarece unele versiuni ale HAT nu pot fi pornite doar la pornire, ci au nevoie de cineva care să apese manual comutatorul „power” pe HAT.

- Pe partea de telefon, am scos cablul cu 4 fire pentru căști interne și ne-am conectat la mufa audio de 3,5 mm de la căștile vechi. Sârmele roșii / verzi sunt pentru microfonul căștilor, iar galben / negru pentru difuzorul căștilor. În funcție de partea jack de 3,5 mm utilizată, poate fi necesar să vă dați seama de firele corespunzătoare (în extrasul de mai sus pentru intrarea pentru căști GSM HAT), dar în cazul nostru microfonul a fost conectat la ecran și roșu, în timp ce firele difuzoarelor erau verzi și albastre. La final, conectați mufa de 3,5 mm la intrarea pentru căști GSM HAT.

Pasul 3: Ambalarea finală și adăugarea unui „efect de sunet” simulat

Ambalare finală și adăugare simulată
Ambalare finală și adăugare simulată

În timp ce ambalajul intern final, așa cum se vede în imaginea de mai sus, arată relativ îngrijit, a necesitat o mulțime de lucruri de încercare și încercare de opțiuni diferite. Principalele constrângeri erau spațiul sub cadran rotativ și conectorii rigizi, iar întregul proces a fost ca și cum ar pune puzzle-ul împreună.

A fost foarte norocos că am reușit să folosim mai multe postări care existau deja în interiorul telefonului (am eliminat alte postări cu instrumentul Dremel) și să securizăm plăcile și difuzorul. Dar asta a restricționat și restul spațiului disponibil, ceea ce ne-a determinat în cele din urmă să abandonăm ideea originală de a adăuga o sursă internă de energie reîncărcabilă.

În ceea ce privește „sunetul”, am ajuns să cumpărăm module de sunet înregistrabile alimentate cu baterii. Opțional (la conectarea plăcilor prin micro USB), există o versiune fără baterie care poate fi alimentată direct de la antetul Raspberry Pi 5V.

În ambele cazuri, comutatorul de control extern de la modulul de sunet ar trebui să fie îndepărtat și firele conectate la unul dintre pinul GPIO + masă. Iar programarea tonului de apel în modul este foarte simplă, conectați-l la computer și descărcați fișierul mp3 pe care doriți să îl utilizați pentru acțiunea de apel. Iată linkul către un site frumos, cu o mulțime de sunete vechi.

Pasul 4: Software și integrare finală

Software și integrare finală
Software și integrare finală
Software și integrare finală
Software și integrare finală

Deasupra schemei bloc prezintă toate componentele principale și relațiile lor. În esență, implementarea are nevoie de 3 intrări discrete și cel puțin 1 ieșire discretă (am folosit 2 DO-uri, deoarece versiunea GSM HAT pe care am obținut-o nu poate porni automat fără a apăsa butonul de pe HAT, deci a trebuit să lipim firul la butonul respectiv pentru a forța pornirea HAT când telefonul este alimentat).

În ceea ce privește codul, acesta a fost scris în Python 2.7, deci dacă instalați / utilizați versiunea 3.x și mai mare, ar putea exista unele lucruri care ar trebui schimbate (unul evident fiind declarația „print”). Pentru ca codul să funcționeze corect, există câteva biblioteci Python care trebuie adăugate mai întâi, cum ar fi:

- gpiozero (necesar pentru interfața Raspberry Pi GPIO)

- re (biblioteca de expresii regulate - pentru analizarea mesajelor SMS primite, instalați dacă nu face parte din instalarea implicită Python)

- serial (pentru conectarea la GSM HAT - necesar chiar dacă vă conectați prin micro USB, instalați dacă nu face parte din instalarea implicită Python)

De asemenea, există 2 locuri în codul atașat care trebuie modificate / adaptate în funcție de implementarea finală (sau 3 locuri, dacă sunt utilizați pini GPIO diferiți). Primul este legat de numărul pe care doriți să îl utilizați pentru redirecționarea mesajelor:

# *********************************** FORWARDING_NUMBER = "5551234567" # pune aici telefonul unde vrei mesajele tale să fie înaintat

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

Și al doilea este pentru setarea portului serial:

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

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

# asigurați-vă că / dev / ttyS0 este potrivit pentru configurarea dvs

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

Codul a fost construit ca mașină de stat, descris în diagrama de mai sus. De cele mai multe ori telefonul este în starea IDLE, așteptând evenimente: 1. Apel primit (care va conduce telefonul în stare RING)

2. Mesaj SMS primit - care este / poate fi redirecționat automat către alt telefon

3. Ridicarea căștilor în sus, în pregătirea apelării (conduce telefonul în starea DIAL)

4. Apelarea unui caracter special fără ridicarea căștilor (conform codului curent, apelarea telefonului închis „#”) …

Există multe comentarii încorporate în cod, care ar trebui să ajute la citirea și înțelegerea acestuia. Am lăsat unele lucruri neterminate, cum ar fi adăugarea opțiunii de apelare rapidă sau trimiterea unui mesaj de stare sau …

În ceea ce privește modul în care codul se execută automat când se aplică puterea, am ales să îl implementăm ca serviciu, ceea ce se poate face așa cum este descris aici. Pur și simplu faceți următoarele:

- descărcați mai jos fișierele atașate „rotaryPhoneStateMachine.txt” și „myphone.txt” și redenumiți-le în „rotaryPhoneStateMachine.py” și „myphone.service” (dintr-un motiv ciudat, serverul Instructables nu permite încărcarea anumitor tipuri de fișiere)

- plasați „rotaryPhoneStateMachine.py” în folderul / home / pi

- plasați „myphone.service” în / etc / systemd / system

- activați serviciul cu comanda „sudo systemctl enable myphone.service” (după ce ați testat totul)

Recomandat: