Indholdsfortegnelse:

Retro stil roterende urskive mobiltelefon: 4 trin (med billeder)
Retro stil roterende urskive mobiltelefon: 4 trin (med billeder)

Video: Retro stil roterende urskive mobiltelefon: 4 trin (med billeder)

Video: Retro stil roterende urskive mobiltelefon: 4 trin (med billeder)
Video: "I Saw an Alien Through the Window of a UFO!" 14 True Cases 2024, Juni
Anonim
Retro stil roterende urskive mobiltelefon
Retro stil roterende urskive mobiltelefon

Dette projekt blev drevet af både praktisk behov og ønske om at gøre noget sjovt.

Som de fleste moderne familier stoppede vi med at have en rigtig "hjemmetelefon" (med ledning) for mange år siden. I stedet har vi et ekstra SIM-kort tilknyttet vores "gamle" hjemnummer, som jeg havde med i min dual-sim mobiltelefon. Dette var fint som opsætning for det meste af tiden, men det fungerede ikke bedst i nogle tilfælde, som da vi havde vores forældre på besøg (de er af den gamle generation - uden mobiltelefoner, og jeg kunne ikke ringe til dem hjemme, når vi var væk siden vores "hjem" telefon var med mig). Dette blev også forstærket, da jeg skiftede min telefon (ny telefon med et enkelt sim -slot). Så det virkede som en god idé at finde en måde at have en "hjemme" telefon, som kunne bruge vores ekstra SIM -kort.

Hvad sjovt angår, har de fleste børn i dag ikke meget anelse om, hvordan gamle drejehjulstelefoner fungerede, eller at de overhovedet eksisterede som sådan. I en del af verden, hvor min kone og jeg er fra, bruger vi udtrykket "vend nummeret" til opkald, hvilket er forvirrende for den yngre befolkning, da "hvorfor ville nogen vende telefonen for at ringe". Derfor tænkte jeg, at det ville være fedt at få min søn (som deltog aktivt i dette projekt) til at få erfaring med roterende telefon.

Jeg var selvfølgelig også sikker på, at denne "nye" telefon ville være et godt samtaleemne, når vi har venner og slægtninge forbi. Eller endnu bedre, tage telefonen med os, når vi besøger venner, overraskende mennesker med fuldt funktionel retro -udseende mobiltelefon.

Under projektet ændrede vi nogle af de oprindelige designmål. For eksempel tænkte jeg på at integrere et genopladeligt eksternt batteri inde i telefonen, så det let kan tages rundt, men til sidst indså jeg, at dette ikke er nødvendigt (da denne type telefon naturligvis opholder sig ét sted hele tiden, så den kan altid være tilsluttet stikkontakten). Der var nogle andre "genveje", som vi kunne tage, hvilket gjorde projektet relativt ligetil og ikke for komplekst.

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

For materiale håbede jeg oprindeligt, at vi ville kunne få en gammel roterende telefon fra mine forældre og bruge de fleste dele (telefonskal, drejeknap, headset osv.), Hvilket ville reducere omkostningerne ved det samlede projekt. Det skete i sidste ende ikke på grund af COVID-19, som forhindrede vores planlagte rejse til Europa (besøgende familie), og i stedet fandt vi og købte den nye drejeknap-telefon på Amazon (jeg var ikke tilfreds med muligheder og priser på eBay). Dette var ok, da det gav nogle interessante ekstra funktioner, da vi fandt telefon med drejeknap med ekstra opkaldsmuligheder (* og #), der normalt ikke er tilgængelige på gamle telefoner.

Hoveddelen af projektet var GSM/GPRS HAT, der er let tilgængelig (vi havde ikke brug for 4G -version), og som kan styres direkte med enhver Raspberry Pi eller lignende tavler. I vores tilfælde havde vi et lille Raspberry Pi Zero -kort, som vi ikke aktivt brugte (fra min søns ældre projekt).

Det er interessant, at de fleste tænke- og designændringer blev foretaget omkring en relativt enkel og lille del af projektet - hvilket skabte ringende handling. Som de, der kender gamle telefoner, ved, blev karakteristisk gammel stil-ringning produceret af "klokker" drevet af 40-60 VAC, hvilket var vanskeligt at gøre som en del af dette projekt. Jeg besluttede endelig at forenkle den del af projektet og endte med en relativt enkel løsning ved at bruge et lydoptageligt lydmodul, der normalt er en del af lykønskningskortene. Der var nogle andre muligheder, men dette fungerede faktisk godt og var en relativt billig løsning.

Forbrugsvarer

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

  • Optageligt lydmodul, trykknap aktiveret
  • (Gammel) Rotary Phone
  • Micro SD -kort (til Raspberry Pi), kabler/ben, gamle hovedtelefoner osv.

Trin 1: Klargøring af telefonen

Klargøring af telefonen
Klargøring af telefonen

Gamle telefoner med ledning er relativt enkle enheder. Som det kan ses på billedet med den originale telefon adskilt, er genanvendelige dele hovedtelefonskallen inklusive drejeknap og base, headset og dets switch, mens resten blev taget ud - ringeklokke og kontrolkort.

Det, der var meget rart med denne særlige telefonmodel, er, at vi ikke kun kunne genbruge drejeknappen, men også dens stik, som kunne sættes direkte i header på Raspberry Pi. Det skal bemærkes, at dette stik har 3 ledninger, en til reference og 2 til diskrete indgange på Raspberry Pi. Med passende logik (fanget i vedhæftet kode) tillader dette registrering af hvornår opkald drejes, og hvilket nummer der er valgt.

Det samme var tilfældet for headset -switch, som har stik, der kan sættes direkte i header. Det er simpel logik, da det kun kræver reference og et diskret input.

Som forventet har headset-kablet 4 ledninger, hvoraf hver 2 er udstyret til højeffektniveau og mikrofon. Da HAT, som vi brugte, havde 3,5 mm lydstik til hovedtelefoner, ender jeg bare med at forbinde de 4 ledninger til en af de gamle hovedtelefoner med 3,5 mm lydstik.

En mere interessant ting, der var nyttig fra denne særlige telefonmodel, var montering af stolper fra telefonbasen. Mens vi havde brug for at skære nogle af dem for at få plads til brædder, var vi stadig i stand til at genbruge andre og sikre vores brædder. Dette var en god pause, og spar os lidt tid.

Trin 2: Sætte ting sammen

At sætte tingene sammen
At sætte tingene sammen
At sætte tingene sammen
At sætte tingene sammen
At sætte tingene sammen
At sætte tingene sammen

For et enkelt bevis på konceptet er det tilstrækkeligt at tilslutte Raspberry Pi og GSM HAT direkte og tilslutte almindelige hovedtelefoner til GSM HAT. Jeg var i stand til at bruge denne opsætning sammen med MiniCom -applikationen (driver Raspberry Pi seriel port, der er direkte forbundet til GSM HAT) til hurtigt at kontrollere, at mit SIM -kort fungerer, og at jeg kan ringe og sende/modtage SMS -beskeder med den opsætning.

Da andre kan være interesserede i at gøre det (det er sjovt hurtigt at teste ny opsætning), her er tipsene til, hvordan man gør det (naturligvis baseret på antagelse af de samme/lignende tavler):

- Installer og konfigurer OS på Raspberry Pi (jeg brugte Lite OS -version, som kommer uden GUI).

- Slut GSM HAT (med SIM -kort installeret) til Raspberry Pi (sørg for, at GSM HAT har passende UART -switch -valg baseret på tilslutningstype, se nedenstående link til HAT -manual). Til dette trin har du muligvis brug for Raspberry Pi -versionen, der allerede har et headerstik installeret, i vores tilfælde havde jeg brug for at lodde det (da jeg brugte Pi zero, som som standard kommer uden header). Alternativt er en bedre mulighed at bruge mikro -USB -kabel til at forbinde begge kort (både Raspberry Pi og GSM HAT har mikro -USB)

- Aktiver brug af Raspberry Pi seriel port, hvis du tilslutter GSM HAT via seriel port (som standard bruges Raspberry Pi port til konsol). For at gøre det skal du følge instruktionerne for raspi -config (se ovenstående "konfigurer" link), grænseflademuligheder - aktivere SSH og serielle indstillinger. Hvis du bruger Lite OS -version, skal du muligvis også "oprette forbindelse til trådløst netværk" og aktivere SSH (se instruktionerne fra ovenstående "konfigurer" -link).

- Tilslut Raspberry Pi til skærm og tastatur (eller få adgang til det via fjernbetjening ssh)

- Brug MiniCom eller lignende seriel app til manuelt at styre HAT gennem den passende port (for min opsætningsport var "/dev/ttyS0", vil det være anderledes, hvis jeg bruger mikro -USB). Installer MiniCom med "sudo apt -get install minicom", og når den er installeret, start den med "minicom -D /devtyS0" (eller hvilken port der bruges).

- Brug GSM HAT manual eller AT Command manual til at køre forskellige HAT funktioner (send SMS, foretag opkald osv.). Når den er korrekt tilsluttet, svarer GSM HAT med "OK", når den bliver spurgt af "AT" -kommandoen. For at kontrollere, om SIM -kortet var korrekt registreret, skal du bruge kommandoen "AT+CREG?", Som også skal returnere "OK". Du kan også bekræfte netværksudbyderen med "AT+COPS?", Eller kontrollere dit eget telefonnummer med "AT+CNUM"

For at integrere resten af nødvendige dele skabte vi et brugerdefineret 16 -benet kabel til Raspberry Pi til GSM HAT, da vi havde brug for nogle andre generelle IO -ben til at aflæse drejeknap, tilstand for headsetkontakt og til at drive klokkering (også for automatisk at starte GSM HAT under opstart / initialisering). Jeg forsøgte at bruge nogle af hylderne til Raspberry Pi til dette formål, og selvom det fungerede fint til hurtigt at forbinde og teste, var jeg ikke særlig tilfreds med kvaliteten og endte med at lave mit eget 16-pins stik.

En anden måde at gøre forbindelsen mellem Raspberry Pi og GSM HAT på er gennem begge kort mikro -USB -porte (og igen skal du indstille passende UART -switch til GSM HAT), og det kan være en hurtigere og meget enklere løsning. Det kan du nemt gøre, hvis du får et passende kabel (det ville spare dig tid og kræfter for at lave kabel) - bare glem ikke at ændre porten, der bruges af software/applikation.

Efter tilslutning af tavler (med mikro -USB) er resten let. Følg bare ovenstående diagram, hvor stifter, der præsenteres der, er forbundet med kode vedhæftet i slutningen af denne instruerbare. Specifikt:

- Pins 35, 37 og 39 (tilknyttet Raspberry Pi GPIO 19, 26 og jord) bruges til tilslutning til dial (input pins). Telefon, som vi valgte, havde allerede bygget 3 ledningsstik, hvor rød og sort ledning var forbundet med NO- og NC -ben, og gul ledning var almindelig.

- Pins 23 og 25 (Raspberry Pi GPIO 11 og jord) bruges til tilslutning af headsetkontakt (input - detektering, når headsettet løftes eller lægges ned)

- Pins 22 og 20 (Raspberry Pi GPIO 25 og jord) bruges til tilslutning til lydmodulkontakt (output - ringhandling)

- Derudover skal pin 19 (GPIO 10) muligvis loddes til GSM HAT-afbryderen, da nogle versioner af HAT ikke kun kan startes ved opstart, men har brug for nogen manuelt at trykke på "power" -kontakten på HAT.

- På telefonsiden fjernede vi det interne headset med 4 ledninger og sluttede til 3,5 mm lydstik fra gamle hovedtelefoner. Røde/grønne ledninger er til headset mikrofon, og gul/sort er til headset højttaler. Afhængigt af den anvendte 3,5 mm jackside, skal du muligvis finde ud af passende ledning (pr. Ekstrakt ovenfor til GSM HAT -hovedtelefonindgang), men i vores tilfælde var mikrofon forbundet til skærm og rød, mens højttalerkablerne var grønne og blå. Til sidst skal du tilslutte 3,5 mm stik til GSM HAT hovedtelefonindgang.

Trin 3: Endelig emballering og tilføjelse af simuleret "ringeffekt"

Slutemballage og tilføjelse simuleret
Slutemballage og tilføjelse simuleret

Selvom den endelige interne emballage, som det ses på ovenstående billede, ser relativt pæn ud, krævede det meget at pille og prøve forskellige muligheder. Hovedbegrænsninger var plads under roterende urskive og stive stik, og hele processen var som at sætte puslespil sammen.

Det var meget heldigt, at vi var i stand til at bruge flere indlæg, der allerede eksisterede inde i telefonen (vi fjernede andre indlæg med Dremel -værktøj), og til at sikre tavler og højttalere. Men det begrænsede også resten af den ledige plads, hvilket i sidste ende fik os til at opgive den oprindelige idé om at tilføje intern genopladelig strømkilde.

Hvad angår "ring", endte vi med at købe batteridrevet optageligt lydmodul. Som en mulighed (ved tilslutning af tavler via mikro-USB) er der en version uden batteri, som kan drives direkte fra Raspberry Pi header 5V.

I begge tilfælde skal ekstern kontrolkontakt fra lydmodul fjernes, og ledninger tilsluttes en af GPIO -stifter + jord. Og programmering af ringetonen i modulet er meget enkel, bare tilslut den til pc'en og download den mp3 -fil, du vil bruge til ringetoner. Her er linket til et dejligt sted med en masse gamle ringelyde.

Trin 4: Software og endelig integration

Software og endelig integration
Software og endelig integration
Software og endelig integration
Software og endelig integration

Ovenstående blokdiagram viser alle hovedkomponenter og deres relationer. I det væsentlige kræver implementeringen 3 diskrete input og mindst 1 diskret output (vi brugte 2 DO'er siden version af GSM HAT, som vi fik, kan ikke starte automatisk uden at trykke på knappen på HAT, så vi havde brug for at lodde ledningen til den knap for at tvinge HAT, når telefonen er tændt).

Hvad angår koden, blev den skrevet i Python 2.7, så hvis du installerer/bruger version 3.x og højere, kan der være nogle ting, der skal ændres (indlysende er en "print" -erklæring). For at koden fungerer korrekt, er der et par Python -biblioteker, der skal tilføjes først, f.eks.:

- gpiozero (nødvendig for Raspberry Pi GPIO interface)

- re (almindeligt udtryksbibliotek - til analyse af indgående SMS -beskeder, installer hvis ikke en del af standard Python -installationen)

- seriel (til tilslutning til GSM HAT - nødvendig, selvom der tilsluttes via mikro USB, installeres hvis ikke en del af standard Python installation)

Der er også 2 steder i vedhæftet kode, der skal ændres/tilpasses afhængigt af den endelige implementering (eller 3 steder, hvis der bruges forskellige GPIO -ben). Den første er relateret til nummer, som du vil bruge til at videresende meddelelser:

# ********************************** FORWARDING_NUMBER = "5551234567" # sæt her telefonen, hvor du vil have dine beskeder at blive videresendt

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

Og den anden er til indstilling af seriel port:

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

# SIM868 initialisering og rutinessim868 = serial. Serial ("/dev/ttyS0", 115200)

# sørg for, at /dev /ttyS0 er det rigtige til din opsætning

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

Koden blev bygget som statsmaskine, beskrevet i diagrammet ovenfor. For det meste er telefonen i inaktiv tilstand og venter på begivenheder: 1. Indgående opkald (som driver telefonen til RING -tilstand)

2. Indgående SMS -besked - som automatisk kan/kan videresendes til en anden telefon

3. Løft headsettet op, som forberedelse til opkald (kører telefonen i DIAL-tilstand)

4. Opkald til specialtegn uden at løfte headsettet (i henhold til den aktuelle kode, ringe "#" nedlukket telefon) …

Der er mange kommentarer indlejret i koden, som skal hjælpe med at læse og forstå den. Vi efterlod nogle ting ufærdige, f.eks. Tilføjelse af hurtigopkaldsmulighed eller afsendelse af statusmeddelelse eller …

For så vidt angår hvordan koden køres automatisk, når der tilføres strøm, valgte vi at implementere den som service, hvilket kan gøres som beskrevet her. Gør blot følgende:

- download de vedhæftede filer "rotaryPhoneStateMachine.txt" og "myphone.txt" nedenfor, og omdøb dem til "rotaryPhoneStateMachine.py" og "myphone.service" (af en eller anden underlig grund tillader Instructables -server ikke upload af bestemte filtyper)

- placer "rotaryPhoneStateMachine.py" i /home /pi -mappen

- placer "myphone.service" i/etc/systemd/system

- aktiver service med kommandoen "sudo systemctl enable myphone.service" (efter at have testet alt)

Anbefalede: