Innehållsförteckning:

Retro Style Rotary Dial Mobiltelefon: 4 steg (med bilder)
Retro Style Rotary Dial Mobiltelefon: 4 steg (med bilder)

Video: Retro Style Rotary Dial Mobiltelefon: 4 steg (med bilder)

Video: Retro Style Rotary Dial Mobiltelefon: 4 steg (med bilder)
Video: Очаровательный заброшенный замок 17 века во Франции (полностью замороженный во времени на 26 лет) 2024, Juni
Anonim
Retro stil roterande urtavla mobiltelefon
Retro stil roterande urtavla mobiltelefon

Detta projekt drevs av både praktiskt behov och önskan att göra något roligt.

Som de flesta moderna familjer slutade vi ha en riktig "hemtelefon" (med sladd) för många år sedan. Istället har vi ett extra SIM-kort kopplat till vårt "gamla" hemnummer, som jag hade med mig i min dual-sim-mobiltelefon. Detta var bra som en installation för det mesta, men det fungerade inte bäst i vissa fall, som när vi hade våra föräldrar på besök (de är gamla generationen - utan mobiltelefoner, och jag kunde inte ringa dem hemma när vi var borta eftersom vår "hemma" telefon var med mig). Detta förstärktes också när jag bytte telefon (ny telefon med en enda SIM -kortplats). Så det verkade som en bra idé att hitta ett sätt att ha en "hem" -telefon som skulle kunna använda vårt extra SIM -kort.

När det gäller det roliga har de flesta av barnen numera inte mycket aning om hur gamla telefoner med roterande ringar fungerade, eller att de till och med fanns som sådana. I en del av världen där min fru och jag kommer från använder vi uttrycket "vänd numret" för uppringning, vilket är förvirrande för yngre befolkning, eftersom "varför skulle någon vända telefonen för att ringa". Därför tänkte jag att det skulle vara häftigt att få min son (som aktivt deltog i detta projekt) att få erfarenhet av roterande telefon.

Självklart var jag också säker på att den här "nya" telefonen skulle vara ett trevligt samtalsämne när vi har vänner och släktingar över. Eller ännu bättre, ta telefonen med oss när vi besöker vänner, överraskande människor med fullt fungerande retro -tittande mobiltelefon.

Under projektet ändrade vi några av de ursprungliga designmålen. Till exempel tänkte jag på att bädda in ett uppladdningsbart externt batteri i telefonen så att det enkelt kan tas runt, men så småningom insåg jag att detta inte är nödvändigt (eftersom den här typen av telefon naturligtvis finns på ett ställe hela tiden, så det kan vara alltid ansluten till uttaget). Det fanns några andra "genvägar" som vi kunde ta, vilket gjorde projektet relativt enkelt och inte för komplext.

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

För material hoppades jag ursprungligen att vi kommer att kunna få en gammal roterande telefon från mina föräldrar och använda de flesta delar av det (telefonskal, vridratt, headset etc.), vilket skulle minska kostnaden för det övergripande projektet. Det hände slutligen inte på grund av COVID-19, vilket förhindrade vår planerade resa till Europa (besökande familj), och istället hittade och köpte vi bara den nya roterande telefonen på Amazon (jag var inte nöjd med alternativ och priser på eBay). Detta var OK, eftersom det gav några intressanta ytterligare funktioner, eftersom vi hittade en roterande telefon med extra uppringningsalternativ (* och #), som normalt inte är tillgängliga på gamla telefoner.

Huvuddelen av projektet var GSM/GPRS HAT som är lätt tillgänglig (vi behövde inte 4G -version), och som kan styras direkt med alla Raspberry Pi eller liknande kort. I vårt fall hade vi ett litet Raspberry Pi Zero -kort som vi inte aktivt använde (från min sons äldre projekt).

Det är intressant att de flesta tänkande och designändringarna gjordes kring relativt enkel och liten del av projektet - vilket skapar ringande handling. Som de som är bekanta med gamla telefoner vet producerades distinkt gammal stilringning av "klockor" som drivs av 40-60 VAC, vilket var svårt att göra som en del av detta projekt. Jag bestämde mig slutligen för att förenkla den delen av projektet och slutade med en relativt enkel lösning genom att använda inspelningsbar ljudmodul som vanligtvis ingår i gratulationskorten. Det fanns några andra alternativ, men det fungerade faktiskt bra och var en relativt billig lösning.

Tillbehör

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

  • Inspelningsbar ljudmodul, tryckknapp aktiverad
  • (Gammal) Rotary Phone
  • Micro SD -kort (för Raspberry Pi), kablar/stift, gamla hörlurar etc.

Steg 1: Förbereda telefonen

Förbereder telefonen
Förbereder telefonen

Gamla telefoner med sladd är relativt enkla enheter. Som det kan ses på bilden med originaltelefonen tagen isär, återanvändbara delar är huvudtelefonskal inklusive vridratt och bas, headset och dess omkopplare, medan resten togs ut - ringklocka och styrkort.

Det som var väldigt trevligt med just den här telefonmodellen är att vi inte bara kunde återanvända vridratten utan också dess kontakt, som kan anslutas direkt till huvudet på Raspberry Pi. Bör noteras att den här kontakten har 3 ledningar, en för referens och 2 som går till diskreta ingångar på Raspberry Pi. Med lämplig logik (fångad i bifogad kod) tillåter detta detektion av när ratten vrids och vilket nummer som valdes.

Samma sak gällde för headsetbrytare, som har en kontakt som kan anslutas direkt till huvudet. Det är enkel logik, eftersom det bara kräver referens och en diskret ingång.

Som förväntat har headsetkabeln 4 trådar, varav 2 för låg effektnivåhögtalare och mikrofon. Eftersom HAT som vi använde hade 3,5 mm ljuduttag för hörlurar, slutade jag bara med att ansluta de 4 ledningarna till en av de gamla hörlurarna 3,5 mm ljudkontakt.

En annan intressant sak som var användbar från just den här telefonmodellen var monteringsstolpar från telefonbasen. Medan vi behövde klippa några av dem för att få plats med brädor kunde vi fortfarande återanvända andra och säkra våra brädor. Detta var en trevlig paus, och spara oss lite tid.

Steg 2: Att sätta ihop saker

Att sätta ihop saker
Att sätta ihop saker
Att sätta ihop saker
Att sätta ihop saker
Att sätta ihop saker
Att sätta ihop saker

För ett enkelt bevis på konceptet är det tillräckligt att ansluta Raspberry Pi och GSM HAT direkt och ansluta vanliga hörlurar till GSM HAT. Jag kunde använda den inställningen tillsammans med MiniCom -applikationen (driver Raspberry Pi -seriell port, som är direkt ansluten till GSM HAT) för att snabbt kontrollera att mitt SIM -kort fungerar och att jag kan ringa och skicka/ta emot SMS -meddelanden med den inställningen.

Eftersom andra kan vara intresserade av att göra det (det är kul att snabbt testa ny installation), här är tipsen hur man gör det (uppenbarligen baserat på antagandet om samma/liknande brädor):

- Installera och konfigurera OS på Raspberry Pi (jag använde Lite OS -version, som kommer utan GUI).

- Anslut GSM HAT (med SIM -kort installerat) till Raspberry Pi (se till att GSM HAT har lämpligt UART -switchval baserat på anslutningstyp, se länken nedan för HAT -manual). För det här steget kan du behöva Raspberry Pi -versionen som redan har en headerkontakt installerad, i vårt fall behövde jag löda den (eftersom jag använde Pi zero, som som standard kommer utan header). Alternativt är ett bättre alternativ att använda mikro -USB -kabel för att ansluta båda korten (både Raspberry Pi och GSM HAT har mikro -USB)

- Aktivera användning av Raspberry Pi seriell port om du ansluter GSM HAT via serieport (som standard används Raspberry Pi -porten som konsol). För att göra det måste du följa instruktionerna för raspi -config (se ovan "konfigurera" -länk), gränssnittsalternativ - aktivera SSH och seriella alternativ. Om du använder Lite OS -version kan du också behöva "ansluta till trådlöst nätverk" och aktivera SSH (se instruktionerna ovan från "konfigurera" -länken).

- Anslut Raspberry Pi till bildskärm och tangentbord (eller få åtkomst till det via fjärr -ssh)

- Använd MiniCom eller liknande seriell app för att manuellt styra HAT genom lämplig port (för min installationsport var "/dev/ttyS0", det kommer att vara annorlunda om jag använder mikro -USB). Installera MiniCom med "sudo apt -get install minicom" och starta den med "minicom -D /devtyS0" (eller vilken port som används).

- Använd GSM HAT -handboken eller AT Command -handboken för att driva olika HAT -funktioner (skicka SMS, ring samtal, etc.). När den väl är ansluten kommer GSM HAT att svara med "OK" när den efterfrågas av "AT" -kommandot. För att kontrollera om SIM -kortet var korrekt registrerat, använd kommandot "AT+CREG?", Som också ska returnera "OK". Du kan också verifiera nätverksleverantören med "AT+COPS?", Eller kontrollera ditt eget telefonnummer med "AT+CNUM"

För att integrera resten av nödvändiga delar skapade vi en anpassad 16 -stifts kabel för Raspberry Pi till GSM HAT, eftersom vi behövde några andra allmänna IO -stift för att läsa vridratten, headsetets omkopplare och för att driva ringklockan (även för att automatiskt starta GSM-hatt under start / initialisering). Jag försökte använda några av de utbrytande ledningarna för Raspberry Pi för detta ändamål, och även om det fungerade bra för att snabbt ansluta och testa, var jag inte särskilt nöjd med kvaliteten och slutade göra min egen 16-poliga kontakt.

Ett annat sätt att göra anslutningen mellan Raspberry Pi och GSM HAT är genom båda kortens mikro -USB -portar (och igen måste du ställa in rätt UART -omkopplare på GSM HAT), och det kan vara en snabbare och mycket enklare lösning. Du kan enkelt göra det om du får en lämplig kabel (det skulle spara tid och ansträngning att göra kabel) - glöm inte att byta port som används av programvara/applikationer.

Efter anslutning av kort (med mikro -USB) är resten enkelt. Följ bara diagrammet ovan, där stiften som presenteras där är associerade med kod bifogad i slutet av denna instruerbara. Specifikt:

- Stift 35, 37 och 39 (associerade med Raspberry Pi GPIO 19, 26 och jord) används för anslutning till urtavla (inmatningsstift). Telefonen som vi valde hade redan byggt tre ledningsanslutningar, med röd och svart ledning associerad med NO- och NC -stift, och gul tråd var vanlig.

- Stift 23 och 25 (Raspberry Pi GPIO 11 och jord) används för att ansluta headsetbrytare (ingång - detektera när headsetet lyfts eller läggs ner)

- Stift 22 och 20 (Raspberry Pi GPIO 25 och jord) används för anslutning till ljudmodulomkopplare (utgång - ringsignal)

- Dessutom kan stift 19 (GPIO 10) behöva lödas till GSM HAT-strömbrytare, eftersom vissa versioner av HAT inte kan startas bara genom uppstart, men behöver någon manuellt trycka på "strömbrytaren" på HAT.

- På telefonsidan tog vi bort det interna headsetets 4 -trådiga kabel och anslöt till 3,5 mm ljuduttag från gamla hörlurar. Röda/gröna ledningar är för headsetmikrofon och gul/svart är för headsethögtalare. Beroende på vilken 3,5 mm jack -sida som används kan du behöva räkna ut lämplig tråd (per extrakt ovan för GSM HAT -hörlursingång), men i vårt fall var mikrofonen ansluten till skärm och röd, medan högtalarkablarna var gröna och blåa. Till slut ansluter du 3,5 mm -uttaget till ingången för GSM HAT -hörlurar.

Steg 3: Slutförpackning och tillägg av simulerad "ringeffekt"

Slutförpackning och tillägg simulerad
Slutförpackning och tillägg simulerad

Även om den slutliga interna förpackningen som visas på bilden ovan ser relativt snygg ut, krävde det mycket att pyssla och prova olika alternativ. Huvudsakliga begränsningar var utrymme under roterande urtavla och styva kontakter, och hela processen var som att sätta ihop pussel.

Det var mycket tur att vi kunde använda flera inlägg som redan fanns i telefonen (vi tog bort andra inlägg med Dremel -verktyget) och för att säkra kort och högtalare. Men det begränsade också resten av det tillgängliga utrymmet, vilket i slutändan ledde till att vi övergav den ursprungliga idén att lägga till en intern laddningsbar strömkälla.

När det gäller "ring" så slutade vi med att köpa batteridriven inspelningsbar ljudmodul. Som tillval (när du ansluter kort via mikro-USB) finns det en version utan batteri som kan drivas direkt från Raspberry Pi header 5V.

I båda fallen måste den externa styromkopplaren från ljudmodulen tas bort och ledningar anslutas till en av GPIO -stift + jord. Och programmeringen av ringsignalen i modulen är mycket enkel, bara anslut den till datorn och ladda ner vilken mp3 -fil du vill använda för att ringa. Här är länken till en trevlig sajt med massor av gamla ringljud.

Steg 4: Programvara och slutlig integration

Programvara och slutlig integration
Programvara och slutlig integration
Programvara och slutlig integration
Programvara och slutlig integration

Ovanför blockdiagram presenterar alla huvudkomponenter och deras relationer. I huvudsak behöver implementeringen 3 diskreta ingångar och minst 1 diskret utgång (vi använde 2 DO sedan versionen av GSM HAT som vi fick inte kan starta automatiskt utan att trycka på knappen på HAT, så vi behövde lödtråd till den knappen för att tvinga fram starta HAT när telefonen är påslagen).

När det gäller koden, skrevs den i Python 2.7, så om du installerar/använder version 3.x och högre kan det finnas vissa saker som skulle behöva ändras (uppenbart är "print" -uttalande). För att koden ska fungera korrekt finns det några Python -bibliotek som måste läggas till först, till exempel:

- gpiozero (behövs för Raspberry Pi GPIO -gränssnitt)

- re (vanligt uttrycksbibliotek - för att analysera inkommande SMS -meddelanden, installera om det inte ingår i standard Python -installation)

- seriell (för anslutning till GSM HAT - behövs även om du ansluter via mikro -USB, installera om det inte ingår i standard Python -installation)

Det finns också 2 platser i bifogad kod som måste ändras/anpassas beroende på slutlig implementering (eller 3 platser, om olika GPIO -stift används). Den första är relaterad till nummer som du skulle vilja använda för vidarebefordran av meddelanden:

# ********************************** FORWARDING_NUMBER = "5551234567" # sätt här telefonen där du vill ha dina meddelanden att vidarebefordras

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

Och den andra är för seriell portinställning:

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

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

# se till att /dev /ttyS0 är rätt för din installation

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

Koden byggdes som tillståndsmaskin, beskrivet i diagrammet ovan. Oftast är telefonen i viloläge och väntar på händelser: 1. Inkommande samtal (som kommer att driva telefonen till RING -tillstånd)

2. Inkommande SMS - som automatiskt vidarebefordras till en annan telefon

3. Lyft upp headsetet, som förberedelse för uppringning (driver telefonen till DIAL-läge)

4. Slå specialtecken utan att lyfta headsetet (enligt aktuell kod, slå "#" avstängd telefon) …

Det finns många kommentarer inbäddade i koden, vilket ska hjälpa till att läsa och förstå den. Vi lämnade några saker oavslutade, som att lägga till snabbval, eller skicka statusmeddelande, eller …

När det gäller hur koden ska köras automatiskt när ström tillförs, valde vi att implementera den som en tjänst, vilket kan göras enligt beskrivningen här. Gör helt enkelt följande:

- ladda ner bifogade filer "rotaryPhoneStateMachine.txt" och "myphone.txt" och byt namn på dem till "rotaryPhoneStateMachine.py" och "myphone.service" (av någon konstig anledning tillåter Instructables -servern inte uppladdning av vissa filtyper)

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

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

- aktivera tjänsten med kommandot "sudo systemctl enable myphone.service" (efter att ha testat allt)

Rekommenderad: