Talaan ng mga Nilalaman:

Retro Style Rotary Dial Mobile Phone: 4 Hakbang (na may Mga Larawan)
Retro Style Rotary Dial Mobile Phone: 4 Hakbang (na may Mga Larawan)

Video: Retro Style Rotary Dial Mobile Phone: 4 Hakbang (na may Mga Larawan)

Video: Retro Style Rotary Dial Mobile Phone: 4 Hakbang (na may Mga Larawan)
Video: Enchanting Abandoned 17th-Century Chateau in France (Entirely frozen in time for 26 years) 2024, Nobyembre
Anonim
Retro Style Rotary Dial Mobile Phone
Retro Style Rotary Dial Mobile Phone

Ang proyektong ito ay hinimok ng parehong praktikal na pangangailangan at nais na gumawa ng isang bagay na masaya.

Tulad ng karamihan sa mga modernong pamilya, tumigil kami sa pagkakaroon ng totoong "bahay" na telepono (corded) maraming taon na ang nakakaraan. Sa halip, mayroon kaming labis na SIM card na nauugnay sa aming "lumang" numero ng bahay, na dala ko sa aking dual-sim cell phone. Mabuti ito bilang isang pag-set up sa halos lahat ng oras, ngunit hindi ito pinakamahusay na gumana sa ilang mga kaso, tulad ng pagbisita sa aming mga magulang (matanda na silang henerasyon - nang walang mga cell phone, at hindi ko sila matawagan sa aming bahay kapag wala dahil kasama ko ang aming "bahay" na telepono). Napalakas din ito nang mailipat ko ang aking telepono (bagong telepono na mayroong solong slot ng sim). Kaya, parang magandang ideya na maghanap ng paraan upang magkaroon ng teleponong istilo ng "bahay" na makakagamit ng aming labis na SIM card.

Hanggang sa kasiya-siyang bahagi, ang karamihan sa mga bata sa kasalukuyan ay walang masyadong ideya kung gaano nagtrabaho ang mga umiinog na mga teleponong dial, o kahit na mayroon silang ganoon. Sa bahagi ng mundo kung saan kami ng asawa ko, ginagamit namin ang expression na "pag-ikot ng numero" para sa pag-dial, na nakalilito para sa mas bata pang populasyon, dahil "bakit may iba na tatalikod ang telepono upang mag-dial". Samakatuwid, naisip ko na magiging cool na magkaroon ng karanasan ang aking anak na lalaki (na aktibong nakikilahok sa proyektong ito) sa rotary phone.

Siyempre, nakasisiguro din ako na ang "bagong" teleponong ito ay magiging isang magandang paksang pag-uusap kapag mayroon kaming mga kaibigan at kamag-anak. O kahit na mas mahusay, pagkuha ng telepono sa amin kapag bumibisita sa mga kaibigan, nakakagulat na mga tao na may ganap na gumaganang retro na naghahanap ng cell phone.

Sa panahon ng proyekto, binago namin ang ilan sa mga orihinal na layunin sa disenyo. Halimbawa, iniisip ko ang tungkol sa pag-embed ng rechargeable panlabas na baterya sa loob ng telepono upang madali itong madala, ngunit sa kalaunan napagtanto na hindi ito kinakailangan (dahil ang ganitong uri ng telepono ay natural na nananatili sa isang lugar sa lahat ng oras, kaya maaari itong laging naka-plug in sa outlet). Mayroong ilang iba pang mga "mga shortcut" na nagawa naming gawin, na gumawa ng proyekto nang diretso at hindi masyadong kumplikado.

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

Para sa materyal, orihinal kong inaasahan na makakakuha kami ng lumang paikot na telepono mula sa aking mga magulang at magagamit ang karamihan sa mga bahagi nito (shell ng telepono, rotary dial, headset, atbp.), Na magbabawas ng gastos ng pangkalahatang proyekto. Sa huli ay hindi nangyari iyon dahil sa COVID-19, na pumipigil sa aming planong paglalakbay sa Europa (pagdalaw sa pamilya), at sa halip ay nahanap at binili lamang namin ang bagong rotary dial phone sa Amazon (Hindi ako nasisiyahan sa mga pagpipilian at presyo sa eBay). OK lang ito, dahil nagbibigay ito ng ilang mga kagiliw-giliw na karagdagang pag-andar, dahil nakita namin ang umiikot na telepono sa dial na may labis na mga pagpipilian sa pag-dial (* at #), hindi karaniwang magagamit sa mga lumang telepono.

Pangunahing bahagi ng proyekto ay ang GSM / GPRS HAT na madaling magagamit (hindi namin kailangan ng bersyon na 4G), at kung saan maaaring direktang kontrolin ng anumang Raspberry Pi o mga katulad na board. Sa aming kaso, mayroon kaming maliit na board na Raspberry Pi Zero na hindi namin aktibong ginagamit (mula sa mas matandang proyekto ng aking anak na lalaki).

Nakatutuwang ang karamihan sa mga pagbabago sa pag-iisip at disenyo ay ginawa sa paligid ng medyo simple at maliit na bahagi ng proyekto - lumilikha ng pagkilos na tugtog. Tulad ng alam ng mga pamilyar sa mga lumang telepono, ang natatanging pag-ring ng lumang istilo ay ginawa ng "mga kampanilya" na hinihimok ng 40-60 VAC, na mahirap gawin bilang bahagi ng proyektong ito. Napagpasyahan ko sa wakas na gawing simple ang bahaging iyon ng proyekto, at nagtapos sa medyo simpleng solusyon sa pamamagitan ng paggamit ng recordable sound module na karaniwang bahagi ng mga kard na pambati. Mayroong ilang iba pang mga pagpipilian, ngunit ito ay talagang mahusay at medyo mura ang solusyon.

Mga gamit

  • Raspberry Pi Zero W
  • Waveshare GSM / GPRS / GNSS / Bluetooth HAT
  • Naitala ang Modyul na Tunog, Na-activate ang Button ng Push
  • (Lumang) Rotary Telepono
  • Micro SD card (para sa Raspberry Pi), mga cable / pin, lumang headphone, atbp.

Hakbang 1: Paghahanda ng Telepono

Paghahanda ng Telepono
Paghahanda ng Telepono

Ang mga lumang naka-cord na telepono ay medyo simpleng mga aparato. Tulad ng nakikita mula sa larawan na may orihinal na telepono na pinaghiwalay, ang mga magagamit na bahagi ay pangunahing shell ng telepono kasama ang rotary dial at base, headset at switch nito, habang ang natitira ay inilabas - ring bell at control board.

Ang napakaganda sa partikular na modelo ng telepono na ito ay hindi lamang namin nagamit ang rotary dial ngunit ang konektor din nito, na maaaring mai-plug nang direkta sa header sa Raspberry Pi. Dapat pansinin na ang konektor na ito ay may 3 mga wire, isa para sa sanggunian, at 2 pagpunta sa mga discrete input sa Raspberry Pi. Gamit ang naaangkop na lohika (nakunan ng naka-attach na code), pinapayagan nitong matukoy kung kailan nakabukas ang pag-dial, at aling numero ang napili.

Pareho ang totoo para sa headset switch, na mayroong konektor na maaaring direktang mai-plug sa header. Ito ay simpleng lohika, dahil nangangailangan lamang ito ng sanggunian at isang discrete input.

Tulad ng inaasahan, ang headset cable ay may 4 na mga wire, na may 2 bawat isa para sa mababang antas ng lakas na nagsasalita at mikropono. Dahil ang HAT na ginagamit namin ay mayroong 3.5 mm audio jack para sa headphone, natatapos ko lamang ang pagkonekta sa 4 na mga wire sa isa sa mga lumang headphone na 3.5 mm na lalaki na audio plug.

Ang isa pang kawili-wiling bagay na kapaki-pakinabang mula sa partikular na modelo ng telepono na ito ay ang pagtaas ng mga post mula sa base ng telepono. Habang kailangan naming gupitin ang ilan sa mga ito upang makagawa ng puwang sa mga board, nagawa pa rin naming magamit muli ang iba, at ma-secure ang aming mga board. Ito ay magandang pahinga, at makatipid sa amin ng ilang oras.

Hakbang 2: Pagsasama-sama ng Mga Bagay

Pagsasama-sama ng mga Bagay
Pagsasama-sama ng mga Bagay
Pagsasama-sama ng mga Bagay
Pagsasama-sama ng mga Bagay
Pagsasama-sama ng mga Bagay
Pagsasama-sama ng mga Bagay

Para sa simpleng patunay ng konsepto, sapat na upang ikonekta ang Raspberry Pi at GSM HAT nang direkta, at mai-plug ang mga regular na headphone sa GSM HAT. Nagamit ko ang pag-setup na iyon kasama ang application ng MiniCom (pagmamaneho ng serial port ng Raspberry Pi, na direktang konektado sa GSM HAT) upang mabilis na suriin na gumagana ang aking SIM card at maaari akong tumawag at magpadala / makatanggap ng mga mensahe ng SMS kasama ang pag-setup na iyon.

Dahil ang iba ay maaaring interesado na gawin iyon (nakakatuwa na mabilis na subukan ang bagong pag-set up), narito ang mga payo kung paano ito gawin (malinaw naman, batay sa palagay ng pareho / magkatulad na mga board):

- I-install at i-configure ang OS sa Raspberry Pi (Gumamit ako ng bersyon ng Lite OS, na dumarating nang walang anumang GUI).

- Plug GSM HAT (na naka-install ang SIM card) sa Raspberry Pi (tiyakin na ang GSM HAT ay may naaangkop na pagpipilian ng switch ng UART batay sa uri ng koneksyon, tingnan ang link sa ibaba para sa manu-manong HAT). Para sa hakbang na ito maaaring kailanganin mo ang bersyon ng Raspberry Pi na mayroon nang naka-install na header konektor, sa aming kaso kailangan kong maghinang ito (dahil gumagamit ako ng Pi zero, na sa pamamagitan ng default ay dumating nang walang header). Bilang kahalili, mas mahusay na pagpipilian ay ang paggamit ng micro USB cable upang ikonekta ang parehong mga card (parehong Raspberry Pi at GSM HAT ay may micro USB)

- Paganahin ang paggamit ng serial port ng Raspberry Pi kung kumukonekta sa GSM HAT sa pamamagitan ng serial port (bilang default, Raspberry Pi port ginagamit ito para sa console). Upang gawin iyon, kakailanganin mong sundin ang mga tagubilin para sa raspi-config (tingnan sa itaas na link na "i-configure"), mga pagpipilian sa interfacing - pagpapagana ng SSH at mga serial na pagpipilian. Kung gumagamit ng bersyon ng Lite OS, maaaring kailangan mo ring "kumonekta sa wireless network" at paganahin ang SSH (tingnan ang mga tagubilin mula sa itaas na "i-configure" na link).

- Ikonekta ang Raspberry Pi upang subaybayan at keyboard (o i-access ito sa pamamagitan ng remote ssh)

- Gumamit ng MiniCom o katulad na serial app upang manu-manong kontrolin ang HAT sa pamamagitan ng naaangkop na port (para sa aking setup port ay "/ dev / ttyS0", magkakaiba ito kung gumagamit ng micro USB). I-install ang MiniCom gamit ang "sudo apt-get install minicom", at sa sandaling na-install simulan ito sa "minicom -D / devtyS0" (o alinman sa port ang ginagamit).

- Gumamit ng manwal na GSM HAT o manu-manong AT Command upang maghimok ng iba't ibang mga pag-andar ng HAT (magpadala ng SMS, tawag sa lugar, atbp.). Kapag maayos na konektado, ang GSM HAT ay sasagot ng "OK" kapag tinanong ng "AT" na utos. Upang suriin kung ang SIM card ay maayos na nakarehistro, gamitin ang command na "AT + CREG?", Na dapat ding ibalik ang "OK". Maaari mo ring i-verify ang provider ng network gamit ang "AT + COPS?", O suriin ang sariling numero ng telepono gamit ang "AT + CNUM"

Upang maisama ang natitirang mga kinakailangang bahagi, lumikha kami ng pasadyang 16 pin cable para sa Raspberry Pi sa GSM HAT, dahil kailangan namin ng iba pang mga pangkalahatang layunin na mga pin ng IO upang mabasa ang rotary dial, estado ng switch ng headset at upang himukin ang bell ring (upang awtomatikong magsimula din GSM HAT habang nasa power-up / initialization). Sinubukan kong gumamit ng ilan sa mga off-the-shelf na breakout wires para sa Raspberry Pi para sa hangaring iyon, at habang gumana ito nang maayos para sa mabilis na pagkonekta at pagsubok, hindi ako nasisiyahan sa kalidad, at nagtatapos ng paggawa ng aking sariling 16 pin na konektor.

Ang iba pang paraan upang gawin ang koneksyon sa pagitan ng Raspberry Pi at GSM HAT ay sa pamamagitan ng parehong mga board micro USB port (at muli, kakailanganin mong itakda nang naaangkop na paglipat ng UART sa GSM HAT), at maaaring iyon ay isang mas mabilis at mas simpleng solusyon. Madali mong magagawa iyon kung nakakakuha ka ng naaangkop na cable (na makatipid sa iyo ng oras at pagsisikap na gumawa ng cable) - huwag kalimutan na baguhin ang port na ginamit ng software / application.

Matapos ang pagkonekta sa mga board (na may micro USB), ang natitira ay madali. Sundin lamang ang diagram sa itaas, kung saan ang mga pin na ipinakita doon ay nauugnay sa code na nakakabit sa dulo ng pagtuturo na ito. Partikular:

- Ang mga Pin 35, 37 at 39 (na nauugnay sa Raspberry Pi GPIO 19, 26 at ground) ay ginagamit para sa pagkonekta sa dial (mga input pin). Ang teleponong pinili namin ay nakapagtayo na ng 3 wires konektor, na may pula at itim na kawad na naiugnay sa NO at NC pin, at dilaw na kawad ang naging karaniwan.

- Ang mga Pins 23 at 25 (Raspberry Pi GPIO 11 at ground) ay ginagamit para sa pagkonekta ng headset switch (input - pagtuklas kapag ang headset ay itinaas o inilagay pababa)

- Ang mga Pin 22 at 20 (Raspberry Pi GPIO 25 at ground) ay ginagamit para sa pagkonekta sa switch ng module ng tunog (output - aksyon ng singsing)

- Bilang karagdagan, ang pin 19 (GPIO 10) ay maaaring kailanganin na solder sa switch ng kuryente ng GSM HAT, dahil ang ilang mga bersyon ng HAT ay hindi masimulan sa pamamagitan lamang ng power-up, ngunit kailangan ng isang manu-manong pagpindot sa "power" switch sa HAT.

- Sa panig ng telepono, nakuha namin ang panloob na headset 4 na mga wire cable, at nakakonekta sa 3.5 mm audio jack mula sa mga lumang headphone. Ang pula / berdeng mga wire ay para sa headset microphone, at Yellow / Black ay para sa headset speaker. Nakasalalay sa ginamit na 3.5 mm jack side, maaaring kailanganin mong malaman ang naaangkop na kawad (bawat katas na katas para sa pag-input ng headphone ng GSM HAT), ngunit sa aming kaso ang mikropono ay nakakonekta sa kalasag at pula, habang ang mga wire ng speaker ay berde at asul. Sa huli, isaksak ang 3.5 mm jack sa input ng headphone ng GSM HAT.

Hakbang 3: Pangwakas na Pagbalot at Pagdaragdag ng Simulated na "ring Effect"

Pangwakas na Pagbalot at Pagdaragdag ng Simulate
Pangwakas na Pagbalot at Pagdaragdag ng Simulate

Habang ang pangwakas na panloob na balot tulad ng nakikita sa larawan sa itaas ay mukhang maayos, nangangailangan ito ng maraming tinkering at pagsubok ng iba't ibang mga pagpipilian. Pangunahing mga hadlang ay puwang sa ilalim ng paikot na dial at mahigpit na konektor, at buong proseso ay tulad ng pagsasama-sama ng palaisipan.

Napakaswerte na nagamit namin ang maraming mga post na mayroon nang sa loob ng telepono (inalis namin ang iba pang mga post gamit ang tool ng Dremel), at upang ma-secure ang mga board at speaker. Ngunit pinaghigpitan din nito ang natitirang magagamit na espasyo, na sa huli ay humantong sa amin na talikuran ang orihinal na ideya upang magdagdag ng panloob na mapagkukunang muling mapagkukunan.

Tulad ng para sa "singsing", natapos namin ang pagbili ng baterya na maaaring i-record na sound module na pinapatakbo ng baterya. Bilang isang pagpipilian (kapag kumokonekta sa mga board sa pamamagitan ng micro USB), mayroong isang bersyon na hindi baterya na maaaring direktang pinalakas mula sa Raspberry Pi header 5V.

Sa parehong mga kaso, ang panlabas na switch sa pagkontrol mula sa sound module ay kailangang alisin at ang mga wire ay konektado sa isa sa GPIO pin + ground. At ang tono ng ring ng programa sa module ay napaka-simple, ikonekta lamang ito sa PC at i-download ang alinmang mp3 file na nais mong gamitin para sa pagkilos ng pag-ring. Narito ang link sa isang magandang site na may maraming mga lumang tunog ng singsing.

Hakbang 4: Software at Huling Pagsasama

Software at Pangwakas na Pagsasama
Software at Pangwakas na Pagsasama
Software at Pangwakas na Pagsasama
Software at Pangwakas na Pagsasama

Sa itaas block diagram naroroon ang lahat ng mga pangunahing bahagi at kanilang mga relasyon. Sa esensya, ang pagpapatupad ay nangangailangan ng 3 discrete input, at hindi bababa sa 1 discrete output (ginamit namin ang 2 DO dahil ang bersyon ng GSM HAT na nakuha namin ay hindi maaaring awtomatikong magsimula nang hindi pinipilit ang pindutan sa HAT, kaya kailangan naming maghinang ng kawad sa pindutang iyon upang pilitin pagsisimula ng HAT kapag pinagagana ang telepono).

Hanggang sa code, nakasulat ito sa Python 2.7, kaya kung mag-install / gumamit ka ng bersyon 3.x at mas mataas, maaaring may ilang mga bagay na kailangang baguhin (halata na isang "print" na pahayag). Upang gumana nang maayos ang code, mayroong ilang mga library ng Python na kailangang idagdag muna, tulad ng:

- gpiozero (kinakailangan para sa interface ng Raspberry Pi GPIO)

- muling (regular na expression library - para sa pag-parse ng mga papasok na mensahe sa SMS, i-install kung hindi bahagi ng default na pag-install ng Python)

- serial (para sa pagkonekta sa GSM HAT - kinakailangan kahit na kumonekta sa pamamagitan ng micro USB, i-install kung hindi bahagi ng default na pag-install ng Python)

Gayundin, mayroong 2 mga lugar sa naka-attach na code na kailangang baguhin / iakma depende sa pangwakas na pagpapatupad (o 3 mga lugar, kung iba't ibang mga GPIO pin ang ginamit). Ang una ay nauugnay sa bilang na nais mong gamitin para sa pagpapasa ng mga mensahe:

# *** upang maipasa

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

At ang pangalawa ay para sa setting ng serial port:

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

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

# tiyaking tama ang / dev / ttyS0 para sa iyong pag-set up

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

Ang code ay itinayo bilang machine ng estado, na inilarawan sa diagram sa itaas. Karamihan sa mga oras ng telepono ay nasa estado ng IDLE, naghihintay para sa mga kaganapan: 1. Papasok na tawag (na magdadala sa telepono sa estado ng RING)

2. Papasok na mensahe sa SMS - na kung saan ay / maaaring awtomatikong maipasa sa ibang telepono

3. Pag-aangat ng headset up, bilang paghahanda para sa pag-dial-out (ihahatid ang telepono sa estado ng DIAL)

4. Pag-dial ng espesyal na character nang hindi inaangat ang headset (ayon sa kasalukuyang code, pagdayal sa "#" shut-down phone) …

Maraming mga puna na naka-embed sa code, na dapat makatulong sa pagbabasa at pag-unawa dito. Iniwan namin ang ilang mga bagay na hindi natapos, tulad ng pagdaragdag ng pagpipiliang bilis ng pag-dial, o pagpapadala ng mensahe sa katayuan, o…

Hanggang sa paano magkakaroon ng pagpapatakbo ng code nang awtomatiko kapag inilapat ang kuryente, pinili naming ipatupad ito bilang serbisyo, na maaaring gawin tulad ng inilarawan dito. Sundin lamang ang sumusunod:

- i-download sa ibaba ang naka-attach na mga file na "rotaryPhoneStateMachine.txt" at "myphone.txt" at palitan ang pangalan ng mga ito sa "rotaryPhoneStateMachine.py" at "myphone.service" (sa ilang kakaibang kadahilanan, hindi pinapayagan ng server ng Instructables ang pag-upload ng ilang mga uri ng file)

- ilagay ang "rotaryPhoneStateMachine.py" sa / home / pi folder

- ilagay ang "myphone.service" sa / etc / systemd / system

- paganahin ang serbisyo na may utos na "sudo systemctl paganahin ang myphone.service" (pagkatapos ng pagsubok sa lahat)

Inirerekumendang: