Sadržaj:

Mobilni telefon s rotacijskim biranjem u retro stilu: 4 koraka (sa slikama)
Mobilni telefon s rotacijskim biranjem u retro stilu: 4 koraka (sa slikama)

Video: Mobilni telefon s rotacijskim biranjem u retro stilu: 4 koraka (sa slikama)

Video: Mobilni telefon s rotacijskim biranjem u retro stilu: 4 koraka (sa slikama)
Video: Najnetaknutija napuštena KUĆA koju sam našao u Švedskoj - SVE JE OSTALO IZA! 2024, Jun
Anonim
Mobilni telefon sa rotacijskim biranjem u retro stilu
Mobilni telefon sa rotacijskim biranjem u retro stilu

Ovaj je projekt vođen praktičnim potrebama i željom da učini nešto zabavno.

Kao većina modernih porodica, prestali smo imati pravi "kućni" telefon (žičan) prije mnogo godina. Umjesto toga, imamo dodatnu SIM karticu povezanu s našim "starim" kućnim brojem, koju sam nosio u mobitelu s dvije sim kartice. Ovo je većinu vremena bilo dobro kao postavka, ali u nekim slučajevima nije najbolje funkcioniralo, primjerice kada smo imali roditelje u posjeti (oni su starije generacije - bez mobitela, pa ih nisam mogao nazvati kod kuće kad smo odsutni) budući da je naš "kućni" telefon bio sa mnom). Ovo se pojačalo i kada sam promijenio telefon (novi telefon sa jednim utorom za sim karticu). Dakle, činilo se kao dobra ideja pronaći način da imamo telefon u "kućnom" stilu koji bi mogao koristiti našu dodatnu SIM karticu.

Što se zabave tiče, većina djece danas nema pojma koliko su stari telefoni s rotacijskim biranjem radili, niti da su uopće postojali. U dijelu svijeta odakle smo moja supruga i ja, koristimo izraz "okreni broj" za biranje, što je zbunjujuće za mlađu populaciju, jer "zašto bi neko okrenuo telefon da bira". Stoga sam mislio da bi bilo super da moj sin (koji je aktivno sudjelovao na ovom projektu) može steći iskustvo s rotacijskim telefonom.

Naravno, bio sam i siguran da će ovaj "novi" telefon biti lijepa tema za razgovor kad budemo imali prijatelje i rodbinu. Ili još bolje, ponijeti telefon sa sobom prilikom posjete prijateljima, iznenadivši ljude potpuno funkcionalnim mobitelom retro izgleda.

Tokom projekta smo promijenili neke od prvobitnih ciljeva dizajna. Na primjer, razmišljao sam o ugradnji punjive vanjske baterije u telefon kako bi se njome moglo lako ponijeti, no na kraju sam shvatio da to nije potrebno (budući da ova vrsta telefona prirodno ostaje na jednom mjestu cijelo vrijeme, pa može uvijek biti uključen u utičnicu). Bilo je nekih drugih "prečica" koje smo uspjeli poduzeti, što je projekat učinilo relativno jednostavnim i ne previše složenim.

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

Za materijal sam se isprva nadao da ćemo uspjeti nabaviti stari rotacijski telefon od mojih roditelja i koristiti većinu njegovih dijelova (omotač telefona, okretni brojčanik, slušalice itd.), Što bi smanjilo troškove cjelokupnog projekta. To se na kraju nije dogodilo zbog COVID-19, koji je spriječio naše planirano putovanje u Europu (posjeta obitelji), a umjesto toga samo smo pronašli i kupili novi telefon s rotacijskim biranjem na Amazonu (nisam bio zadovoljan opcijama i cijenama na eBayu). To je bilo u redu, jer je pružalo neke zanimljive dodatne funkcije, budući da smo pronašli telefon s rotirajućim biranjem s dodatnim opcijama biranja (* i #), koji inače nisu dostupni na starim telefonima.

Glavni dio projekta bio je GSM/GPRS HAT koji je lako dostupan (nije nam bila potrebna 4G verzija) i koji se može izravno kontrolirati bilo kojom Raspberry Pi ili sličnom pločom. U našem slučaju, imali smo malu ploču Raspberry Pi Zero koju nismo aktivno koristili (iz starijeg projekta mog sina).

Zanimljivo je da je većina promjena u razmišljanju i dizajnu napravljena oko relativno jednostavnog i malog dijela projekta - stvaranja zvonjave akcije. Kao što znaju oni koji su upoznati sa starim telefonima, karakteristično zvonjenje u starom stilu proizvela su "zvona" na 40-60 VAC, što je bilo teško učiniti u sklopu ovog projekta. Konačno sam odlučio pojednostaviti taj dio projekta i na kraju sam dobio relativno jednostavno rješenje koristeći zvučni modul koji se može snimiti, a koji je obično dio čestitki. Bilo je nekih drugih mogućnosti, ali ovo je zapravo odlično funkcioniralo i bilo je relativno jeftino rješenje.

Supplies

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

  • Modul za snimanje zvuka, aktivirano pritiskom na dugme
  • (Stari) rotacijski telefon
  • Mikro SD kartica (za Raspberry Pi), kablovi/pinovi, stare slušalice itd.

Korak 1: Priprema telefona

Priprema telefona
Priprema telefona

Žičani telefoni starog stila relativno su jednostavni uređaji. Kao što se može vidjeti sa slike sa rastavljenim originalnim telefonom, dijelovi za višekratnu upotrebu su kućište glavnog telefona uključujući okretni brojčanik i bazu, slušalice i prekidač, dok je ostalo izvađeno - zvono i kontrolna ploča.

Ono što je bilo jako lijepo sa ovim modelom telefona je to što smo mogli ne samo ponovo koristiti okretni brojčanik već i njegov konektor koji se mogao priključiti direktno u zaglavlje na Raspberry Pi. Treba napomenuti da ovaj konektor ima 3 žice, jednu za referencu i 2 za diskretne ulaze na Raspberry Pi. Uz odgovarajuću logiku (uhvaćenu u priloženom kodu), ovo omogućava otkrivanje kada se okrene brojčanik i koji je broj odabran.

Isto vrijedi i za prekidač slušalica koji ima konektor koji se može direktno priključiti u zaglavlje. To je jednostavna logika jer zahtijeva samo referencu i jedan diskretni ulaz.

Kao što se očekivalo, kabel slušalica ima 4 žice, po 2 za zvučnike i mikrofon male snage. Budući da je HAT koji smo koristili imao 3,5 mm audio priključak za slušalice, na kraju sam spojio te 4 žice na jednu od starih 3,5 mm muških audio utičnica za slušalice.

Još jedna zanimljivost koja je bila korisna kod ovog modela telefona bila je montaža stupova sa telefonske baze. Iako smo morali izrezati neke od njih kako bismo napravili prostor za ploče, ostale smo ipak mogli ponovno upotrijebiti i osigurati naše ploče. Ovo je bio lijep odmor i uštedjeli smo vam vrijeme.

Korak 2: Sastavite stvari zajedno

Sastavljanje stvari zajedno
Sastavljanje stvari zajedno
Sastavljanje stvari zajedno
Sastavljanje stvari zajedno
Sastavljanje stvari zajedno
Sastavljanje stvari zajedno

Radi jednostavnog dokazivanja koncepta, dovoljno je direktno povezati Raspberry Pi i GSM HAT, a obične slušalice priključiti u GSM HAT. Mogao sam koristiti tu postavku zajedno s aplikacijom MiniCom (pogon Raspberry Pi serijskim portom, koji je direktno povezan s GSM HAT -om) da brzo provjerim radi li moja SIM kartica i mogu li pozivati i slati/primati SMS poruke s tim postavljanjem.

Budući da bi drugi mogli biti zainteresirani za to (zabavno je brzo testirati novu postavku), evo uputa kako to učiniti (očito, na osnovu pretpostavki o istim/sličnim pločama):

- Instalirajte i konfigurirajte OS na Raspberry Pi (koristio sam verziju Lite OS koja dolazi bez ikakvog grafičkog sučelja).

- Priključite GSM HAT (sa umetnutom SIM karticom) u Raspberry Pi (provjerite ima li GSM HAT odgovarajući odabir UART prekidača ovisno o vrsti veze, pogledajte donju vezu za priručnik HAT). Za ovaj korak možda će vam trebati Raspberry Pi verzija koja ima konektor zaglavlja već instaliran, u našem slučaju morao sam ga lemiti (budući da sam koristio Pi nulu, koja po defaultu dolazi bez zaglavlja). Alternativno, bolja opcija je korištenje mikro USB kabela za povezivanje obje kartice (i Raspberry Pi i GSM HAT imaju mikro USB)

- Omogućite upotrebu serijskog porta Raspberry Pi ako povezujete GSM HAT preko serijskog porta (prema zadanim postavkama, port Raspberry Pi se koristi za konzolu). Da biste to učinili, morat ćete slijediti upute za raspi -config (vidi gornju vezu "konfiguriraj"), opcije sučelja - omogućavanje SSH i serijskih opcija. Ako koristite verziju Lite OS, možda ćete se morati i "povezati s bežičnom mrežom" i omogućiti SSH (pogledajte upute iznad "konfiguracija" veze).

- Povežite Raspberry Pi na monitor i tastaturu (ili mu pristupite putem udaljenog ssh -a)

- Koristite MiniCom ili sličnu serijsku aplikaciju za ručno upravljanje HAT -om preko odgovarajućeg porta (za moj port za postavljanje je bilo "/dev/ttyS0", bit će drugačije ako koristim mikro USB). Instalirajte MiniCom sa "sudo apt -get install minicom", a nakon instalacije pokrenite ga sa "minicom -D /devtyS0" (ili koji god port se koristi).

- Koristite GSM HAT priručnik ili AT Command priručnik za pokretanje različitih funkcija HAT -a (slanje SMS -a, upućivanje poziva itd.). Kada se pravilno poveže, GSM HAT će odgovoriti sa "OK" na upit naredbom "AT". Da biste provjerili je li SIM kartica pravilno registrirana, upotrijebite naredbu "AT+CREG?", Koja također treba vratiti "U redu". Također možete provjeriti mrežnog provajdera sa "AT+COPS?", Ili provjeriti vlastiti telefonski broj sa "AT+CNUM"

Da bismo integrirali ostale potrebne dijelove, stvorili smo prilagođeni 16 -pinski kabel za Raspberry Pi do GSM HAT -a, jer su nam bile potrebne neke druge IO pinovi opće namjene za čitanje okretnog točkića, stanje prekidača slušalica i za aktiviranje zvona (također za automatsko pokretanje GSM HAT tokom uključivanja / inicijalizacije). Pokušao sam u tu svrhu upotrijebiti neke od standardnih žica za prekid veze za Raspberry Pi, i iako je to dobro funkcioniralo za brzo povezivanje i testiranje, nisam bio baš zadovoljan kvalitetom, pa sam na kraju napravio svoj vlastiti 16-pinski konektor.

Drugi način povezivanja između Raspberry Pi i GSM HAT -a je putem mikro USB priključaka na obje ploče (i opet ćete morati postaviti odgovarajući UART prekidač na GSM HAT), što bi moglo biti brže i jednostavnije rješenje. To možete lako učiniti ako nabavite odgovarajući kabel (koji bi vam uštedio vrijeme i trud pri izradi kabela) - samo ne zaboravite promijeniti port koji koristi softver/aplikacija.

Nakon spajanja ploča (s mikro USB -om), ostalo je jednostavno. Samo slijedite gornji dijagram, gdje su predstavljeni pinovi povezani s kodom koji se nalazi na kraju ovog uputstva. Konkretno:

- Igle 35, 37 i 39 (povezane sa Raspberry Pi GPIO 19, 26 i uzemljenjem) koriste se za spajanje na brojčanik (ulazni pinovi). Telefon koji smo odabrali već je imao ugrađen konektor od 3 žice, pri čemu su crvena i crna žica povezane sa NO i NC pinovima, a žuta je uobičajena.

- Igle 23 i 25 (Raspberry Pi GPIO 11 i uzemljenje) koriste se za povezivanje prekidača za slušalice (ulaz - otkrivanje kada se slušalice podignu ili spuste)

- Igle 22 i 20 (Raspberry Pi GPIO 25 i uzemljenje) koriste se za spajanje na prekidač zvučnog modula (izlaz - akcija prstena)

- Dodatno, pin 19 (GPIO 10) će možda morati biti lemljen na GSM HAT prekidač za napajanje, jer se neke verzije HAT-a ne mogu pokrenuti samo uključivanjem, ali treba neko ručno pritisnuti prekidač "napajanje" na HAT-u.

- Sa strane telefona, izvadili smo unutrašnje slušalice sa 4 žice i spojili ih na 3,5 mm audio priključak sa starih slušalica. Crvena/zelena žica služe za mikrofon slušalica, a žuta/crna za zvučnik slušalica. Ovisno o korištenoj strani priključnice od 3,5 mm, možda ćete morati pronaći odgovarajuću žicu (po gore navedenom izvodu za ulaz za slušalice GSM HAT), ali u našem slučaju mikrofon je bio spojen na štit i crveno, dok su žice zvučnika bile zelene i plave. Na kraju, priključite utičnicu od 3,5 mm u ulaz GSM HAT slušalica.

Korak 3: Završno pakiranje i dodavanje simuliranog "efekta zvonjenja"

Simulirano konačno pakiranje i dodavanje
Simulirano konačno pakiranje i dodavanje

Iako konačno unutarnje pakiranje, kako se vidi na gornjoj slici, izgleda relativno uredno, zahtijevalo je mnogo petljanja i isprobavanja različitih opcija. Glavna ograničenja bila su prostor ispod okretnog biranja i kruti konektori, a cijeli proces je bio poput sastavljanja slagalice.

Bila je velika sreća što smo mogli upotrijebiti nekoliko postova koji su već postojali u telefonu (uklonili smo druge postove pomoću Dremel alata) i osigurati ploče i zvučnik. No, to je također ograničilo ostatak raspoloživog prostora, što nas je na kraju navelo da odustanemo od izvorne ideje o dodavanju internog punjivog izvora energije.

Što se tiče "prstena", na kraju smo kupili zvučni modul koji se može snimati na baterije. Kao opcija (pri povezivanju ploča putem mikro USB-a) postoji verzija bez baterije koja se može direktno napajati iz Raspberry Pi zaglavlja 5V.

U oba slučaja, vanjski upravljački prekidač sa zvučnog modula bi trebao biti uklonjen i žice spojene na jedan od GPIO pina + uzemljenje. Programiranje melodije zvona u modul je vrlo jednostavno, samo je povežite sa računarom i preuzmite bilo koju mp3 datoteku koju želite koristiti za zvonjenje. Evo veze na lijepu web stranicu sa puno starih zvukova zvona.

Korak 4: Softver i konačna integracija

Softver i konačna integracija
Softver i konačna integracija
Softver i konačna integracija
Softver i konačna integracija

Iznad blok dijagrama prikazane su sve glavne komponente i njihovi odnosi. U osnovi, implementaciji su potrebna 3 diskretna ulaza i najmanje 1 diskretni izlaz (koristili smo 2 DO -a od verzije GSM HAT -a koju smo dobili ne može se automatski pokrenuti bez pritiska na tipku na HAT -u, pa smo morali lemiti žicu na to dugme kako bismo prisilili pokretanje HAT -a kada je telefon uključen).

Što se koda tiče, napisan je u Pythonu 2.7, pa ako instalirate/koristite verziju 3.x i noviju, možda će biti potrebno promijeniti neke stvari (očito jedna od njih je ispis "print"). Da bi kod ispravno radio, potrebno je prvo dodati nekoliko Python biblioteka, poput:

- gpiozero (potrebno za Raspberry Pi GPIO sučelje)

- re (biblioteka regularnih izraza - za raščlanjivanje dolaznih SMS poruka, instalirajte ako nije dio zadane instalacije Pythona)

- serijski (za povezivanje na GSM HAT - potrebno čak i ako se povezujete putem mikro USB -a, instalirajte ako nije dio zadane instalacije Pythona)

Takođe, u priloženom kodu postoje 2 mjesta koja se moraju izmijeniti/prilagoditi ovisno o konačnoj implementaciji (ili 3 mjesta, ako se koriste različiti GPIO pinovi). Prva se odnosi na broj koji želite koristiti za prosljeđivanje poruka:

# ********************************* FORWARDING_NUMBER = "5551234567" # stavite telefon na mjesto na kojem želite svoje poruke da se proslijedi

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

I drugi je za postavljanje serijskog porta:

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

# SIM868 inicijalizacija i rutinessim868 = serial. Serial ("/dev/ttyS0", 115200)

# pobrinite se da /dev /ttyS0 odgovara vašim postavkama

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

Kod je napravljen kao državni stroj, opisan u gornjem dijagramu. Većinu vremena telefon je u IDLE stanju, čekajući događaje: 1. Dolazni poziv (koji će dovesti telefon u stanje RING)

2. Dolazna SMS poruka - koja se/može automatski proslijediti na drugi telefon

3. Podizanje slušalica prema gore, u pripremi za pozivanje (dovodi telefon u stanje DIAL)

4. Biranje posebnih znakova bez podizanja slušalica (prema trenutnom kodu, biranje "#" isključenog telefona) …

U kôd je ugrađeno mnogo komentara koji bi trebali pomoći pri čitanju i razumijevanju. Ostavili smo neke stvari nedovršene, poput dodavanja opcije brzog biranja ili slanja poruke statusa ili …

Što se tiče automatskog pokretanja koda pri napajanju, odlučili smo ga implementirati kao uslugu, što se može učiniti kako je ovdje opisano. Jednostavno učinite sljedeće:

- preuzmite datoteke u prilogu "rotaryPhoneStateMachine.txt" i "myphone.txt" i preimenujte ih u "rotaryPhoneStateMachine.py" i "myphone.service" (iz nekog čudnog razloga, server Instructables ne dozvoljava postavljanje određenih vrsta datoteka)

- postavite "rotaryPhoneStateMachine.py" u /home /pi folder

- postavite "myphone.service" u/etc/systemd/system

- omogućiti uslugu naredbom "sudo systemctl enable myphone.service" (nakon testiranja svega)

Preporučuje se: