İçindekiler:

Retro Stil Döner Çevirmeli Cep Telefonu: 4 Adım (Resimli)
Retro Stil Döner Çevirmeli Cep Telefonu: 4 Adım (Resimli)

Video: Retro Stil Döner Çevirmeli Cep Telefonu: 4 Adım (Resimli)

Video: Retro Stil Döner Çevirmeli Cep Telefonu: 4 Adım (Resimli)
Video: Ünal turan Azad yılmaz Karşıma çıkın dedi 2024, Haziran
Anonim
Retro Tarzı Döner Çevirmeli Cep Telefonu
Retro Tarzı Döner Çevirmeli Cep Telefonu

Bu proje hem pratik ihtiyaçtan hem de eğlenceli bir şeyler yapma arzusundan kaynaklandı.

Çoğu modern aile olarak, yıllar önce gerçek bir "ev" telefonuna (kablolu) sahip olmayı bıraktık. Bunun yerine, çift sim cep telefonumda taşıdığım "eski" ev numaramızla ilişkili ekstra SIM kartımız var. Bu, çoğu zaman bir kurulum olarak iyiydi, ancak bazı durumlarda en iyi şekilde işe yaramadı, örneğin ebeveynlerimizi ziyaret ettiğimizde (eski nesiller - cep telefonları olmadan ve onları evdeyken arayamadım) "ev" telefonumuz yanımda olduğu için). Bu, telefonumu değiştirdiğimde de güçlendirildi (tek sim yuvası olan yeni telefon). Bu nedenle, ekstra SIM kartımızı kullanabilecek "ev" tarzı bir telefona sahip olmanın bir yolunu bulmak iyi bir fikir gibi görünüyordu.

İşin eğlenceli kısmına gelince, günümüzde çocukların çoğu çevirmeli telefonların kaç yaşında çalıştığına veya hatta var olduklarına dair pek bir fikre sahip değiller. Dünyanın bir yerinde eşim ve benim olduğumuz yerde, arama yapmak için "numarayı çevir" ifadesini kullanıyoruz, bu da genç nüfus için kafa karıştırıcı bir durum, çünkü "neden biri çevirmek için telefonu çevirir". Bu nedenle, (bu projede aktif olarak yer alan) oğlumun çevirmeli telefon ile deneyim kazanmasının güzel olacağını düşündüm.

Tabii ki, bu "yeni" telefonun, arkadaşlarımız ve akrabalarımız olduğunda güzel bir sohbet konusu olacağından da emindim. Ya da daha da iyisi, arkadaşlarımızı ziyaret ederken yanımıza telefon alarak, tamamen işlevsel retro görünümlü cep telefonuyla insanları şaşırtmak.

Proje sırasında orijinal tasarım hedeflerinden bazılarını değiştirdik. Örneğin, kolayca taşınabilmesi için telefonun içine şarj edilebilir harici pil yerleştirmeyi düşünüyordum, ancak sonunda bunun gerekli olmadığını fark ettim (bu tür telefonlar doğal olarak her zaman tek bir yerde kaldığından, her zaman prize takılı olun). Projeyi nispeten basit ve çok karmaşık olmayan hale getiren başka "kısayollar" da vardı.

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

Materyal olarak, başlangıçta ailemden eski döner telefonu alıp, parçalarının çoğunu (telefon kabuğu, döner kadran, kulaklık vb.) kullanabileceğimizi umuyordum, bu da genel projenin maliyetini düşürür. Bu, nihayetinde planladığımız Avrupa gezimizi (aile ziyaretimizi) engelleyen COVID-19 nedeniyle olmadı ve bunun yerine Amazon'da yeni çevirmeli telefon bulduk ve satın aldık (eBay'deki seçeneklerden ve fiyatlardan memnun değildim). Bu, normal olarak eski telefonlarda bulunmayan ekstra arama seçeneklerine (* ve #) sahip çevirmeli telefon bulduğumuz için bazı ilginç ek işlevler sağladığı için sorun değildi.

Projenin ana kısmı, hazır bulunan (4G versiyonuna ihtiyacımız yoktu) ve herhangi bir Raspberry Pi veya benzeri kartlarla doğrudan kontrol edilebilen GSM/GPRS HAT idi. Bizim durumumuzda, aktif olarak kullanmadığımız küçük Raspberry Pi Zero kartımız vardı (oğlumun eski projesinden).

Düşünme ve tasarım değişikliklerinin çoğunun projenin nispeten basit ve küçük bir parçası etrafında yapılmış olması ilginçtir - zil hareketi yaratır. Eski telefonlara aşina olanların bildiği gibi, bu projenin bir parçası olarak yapılması zor olan 40-60 VAC tarafından çalıştırılan "çanlar" tarafından farklı eski tarz ziller üretildi. Sonunda projenin bu kısmını basitleştirmeye karar verdim ve genellikle tebrik kartlarının bir parçası olan kaydedilebilir ses modülünü kullanarak nispeten basit bir çözüm buldum. Başka seçenekler de vardı, ancak bu gerçekten harika çalıştı ve nispeten ucuz bir çözümdü.

Gereçler

  • Ahududu Pi Sıfır W
  • Waveshare GSM/GPRS/GNSS/Bluetooth HAT

  • Kaydedilebilir Ses Modülü, Basmalı Düğme Aktif
  • (Eski) Döner Telefon
  • Micro SD kart (Raspberry Pi için), kablolar/pinler, eski kulaklıklar vb.

Adım 1: Telefonu Hazırlama

Telefonun Hazırlanması
Telefonun Hazırlanması

Eski tarz kablolu telefonlar nispeten basit cihazlardır. Orijinal telefon sökülmüş haldeki resimden de görülebileceği gibi, yeniden kullanılabilir parçalar döner kadran ve taban, kulaklık ve anahtarı dahil ana telefon kabuğu, geri kalanı çıkarıldı - zil ve kontrol panosu.

Bu özel telefon modelinde çok hoş olan şey, yalnızca döner kadranı değil, aynı zamanda Raspberry Pi'deki doğrudan başlığa takılabilen konektörünü de yeniden kullanabilmemizdi. Bu konektörün Raspberry Pi'de biri referans için olmak üzere 3 kabloya ve 2 ayrı girişe sahip olduğuna dikkat edilmelidir. Uygun mantıkla (ekli kodda yakalanır), bu, kadranın ne zaman çevrildiğini ve hangi numaranın seçildiğini algılamaya izin verir.

Aynı şey, doğrudan başlığa takılabilen konektöre sahip kulaklık anahtarı için de geçerliydi. Basit bir mantıktır, çünkü yalnızca referans ve bir ayrık giriş gerektirir.

Beklendiği gibi, kulaklık kablosunun her birinde 2'şer düşük güç düzeyi hoparlör ve mikrofon olmak üzere 4 kablo bulunur. Kullandığımız HAT kulaklık için 3,5 mm ses jakına sahip olduğundan, bu 4 kabloyu eski kulaklıklardan birine 3,5 mm erkek ses fişi bağladım.

Bu özel telefon modelinden faydalı olan bir diğer ilginç şey, telefon tabanından direkleri monte etmekti. Panolara yer açmak için bazılarını kesmemiz gerekse de, diğerlerini yeniden kullanabildik ve panolarımızı güvence altına aldık. Bu güzel bir molaydı ve bize biraz zaman kazandırdı.

Adım 2: İşleri Bir Araya Getirmek

Eşyaları Bir Araya Getirmek
Eşyaları Bir Araya Getirmek
Eşyaları Bir Araya Getirmek
Eşyaları Bir Araya Getirmek
Eşyaları Bir Araya Getirmek
Eşyaları Bir Araya Getirmek

Basit bir konsept kanıtı için Raspberry Pi ve GSM HAT'ı doğrudan bağlamak ve normal kulaklıkları GSM HAT'a takmak yeterlidir. Bu kurulumu MiniCom uygulamasıyla birlikte kullanabildim (doğrudan GSM HAT'a bağlı Raspberry Pi seri portunu çalıştırarak) SIM kartımın çalışıp çalışmadığını ve bu kurulumla SMS mesajları arayıp gönderip/alabildiğimi hızlı bir şekilde kontrol etmek için.

Diğerleri bunu yapmakla ilgilenebileceğinden (yeni kurulumu hızlı bir şekilde test etmek eğlencelidir), bunun nasıl yapılacağına ilişkin ipuçları (belli ki, aynı/benzer panoların varsayımına dayalıdır):

- Raspberry Pi'ye işletim sistemi kurun ve yapılandırın (GUI olmadan gelen Lite OS sürümünü kullandım).

- GSM HAT'ı (SIM kart takılıyken) Raspberry Pi'ye takın (GSM HAT'ın bağlantı türüne göre uygun UART anahtar seçimine sahip olduğundan emin olun, HAT kılavuzu için aşağıdaki bağlantıya bakın). Bu adım için, başlık konektörü zaten kurulu olan Raspberry Pi sürümüne ihtiyacınız olabilir, bizim durumumuzda lehimlemem gerekiyordu (çünkü varsayılan olarak başlık olmadan gelen Pi sıfır kullanıyordum). Alternatif olarak, her iki kartı da bağlamak için mikro USB kablosu kullanmak daha iyi bir seçenektir (hem Raspberry Pi hem de GSM HAT'ın mikro USB'si vardır)

- GSM HAT'ı seri port üzerinden bağlarsanız Raspberry Pi seri port kullanımını etkinleştirin (varsayılan olarak Raspberry Pi portu konsol için kullanılır). Bunu yapmak için, raspi-config (yukarıdaki "yapılandır" bağlantısına bakın), arabirim seçenekleri - SSH ve seri seçenekleri etkinleştirme talimatlarını izlemeniz gerekir. Lite OS sürümünü kullanıyorsanız, ayrıca "kablosuz ağa bağlanmanız" ve SSH'yi etkinleştirmeniz gerekebilir (yukarıdaki "yapılandırma" bağlantısındaki talimatlara bakın).

- Raspberry Pi'yi monitöre ve klavyeye bağlayın (veya uzaktan ssh üzerinden erişin)

- HAT'yi uygun bağlantı noktası üzerinden manuel olarak kontrol etmek için MiniCom veya benzeri bir seri uygulamayı kullanın (kurulum bağlantı noktam "/dev/ttyS0" olduğundan, mikro USB kullanılıyorsa bu farklı olacaktır). MiniCom'u "sudo apt-get install minicom" ile kurun ve kurulduktan sonra "minicom -D /devtyS0" (veya hangi bağlantı noktası kullanılıyorsa) ile başlatın.

- Çeşitli HAT işlevlerini (SMS gönderme, arama yapma, vb.) çalıştırmak için GSM HAT kılavuzunu veya AT Komut kılavuzunu kullanın. Düzgün bir şekilde bağlandıktan sonra, GSM HAT "AT" komutu ile sorgulandığında "OK" ile cevap verecektir. SIM kartın doğru şekilde kaydedilip kaydedilmediğini kontrol etmek için "AT+CREG?" komutunu kullanın, bu komut da "OK" döndürmelidir. Ayrıca ağ sağlayıcıyı "AT+COPS?" ile doğrulayabilir veya "AT+CNUM" ile kendi telefon numaranızı kontrol edebilirsiniz.

Döner kadranı okumak, kulaklık anahtarının durumunu okumak ve zil halkasını sürmek (ayrıca otomatik olarak başlatmak için) için diğer bazı genel amaçlı IO pinlerine ihtiyacımız olduğundan, gerekli parçaların geri kalanını entegre etmek için Raspberry Pi'den GSM HAT'a özel 16 pinli kablo oluşturduk. Açma / başlatma sırasında GSM HAT). Bu amaçla Raspberry Pi için bazı hazır ara kabloları kullanmaya çalıştım ve bu hızlı bağlantı ve test için iyi olsa da, kaliteden çok memnun değildim ve sonunda kendi 16 pinli konektörümü yaptım.

Raspberry Pi ve GSM HAT arasındaki bağlantıyı kurmanın diğer yolu, her iki kartın da mikro USB bağlantı noktalarından geçer (ve yine, GSM HAT'ta UART anahtarını uygun şekilde ayarlamanız gerekir) ve bu daha hızlı ve çok daha basit bir çözüm olabilir. Uygun kablo alırsanız bunu kolayca yapabilirsiniz (bu, kablo yapmak için zamandan ve emekten tasarruf etmenizi sağlar) - yazılım/uygulama tarafından kullanılan bağlantı noktasını değiştirmeyi unutmayın.

Kartları bağladıktan sonra (mikro USB ile), gerisi kolaydır. Orada sunulan pinlerin bu talimatın sonuna eklenen kodla ilişkilendirildiği yukarıdaki diyagramı takip edin. özellikle:

- 35, 37 ve 39 numaralı pinler (Raspberry Pi GPIO 19, 26 ve toprakla ilişkili) kadrana (giriş pinleri) bağlanmak için kullanılır. Seçtiğimiz telefonda zaten 3 telli konektör vardı, kırmızı ve siyah teller NO ve NC pinleriyle ilişkilendirildi ve sarı tel ortaktı.

- 23 ve 25 numaralı pimler (Raspberry Pi GPIO 11 ve toprak) kulaklık anahtarını bağlamak için kullanılır (giriş - kulaklık kaldırıldığında veya indirildiğinde algılama)

- 22 ve 20 pinleri (Raspberry Pi GPIO 25 ve toprak) ses modülü anahtarına bağlanmak için kullanılır (çıkış - halka hareketi)

- Ek olarak, HAT'ın bazı sürümleri yalnızca güç verilerek başlatılamadığından, HAT üzerindeki "güç" anahtarına manuel olarak basan birine ihtiyaç duyulduğundan, pin 19'un (GPIO 10) GSM HAT güç anahtarına lehimlenmesi gerekebilir.

- Telefon tarafında, dahili kulaklığın 4 telli kablosunu çıkardık ve eski kulaklıklardan 3,5 mm ses jakına bağladık. Kırmızı/Yeşil teller kulaklık mikrofonu içindir ve Sarı/Siyah kulaklık hoparlörü içindir. Kullanılan 3,5 mm jak tarafına bağlı olarak, uygun kabloyu bulmanız gerekebilir (GSM HAT kulaklık girişi için yukarıdaki alıntıya göre), ancak bizim durumumuzda mikrofon blendaj ve kırmızıya bağlıyken, hoparlör kabloları yeşil ve maviydi. Sonunda, 3.5 mm jakı GSM HAT kulaklık girişine takın.

Adım 3: Son Paketleme ve Simüle edilmiş "zil efekti" ekleme

Son Paketleme ve Simüle Edilmesi
Son Paketleme ve Simüle Edilmesi

Yukarıdaki resimde görüldüğü gibi nihai iç ambalaj nispeten temiz görünse de, çok fazla kurcalama ve farklı seçenekler denemeyi gerektirdi. Ana kısıtlamalar, döner kadran ve sert konektörlerin altındaki boşluktu ve tüm süreç, bulmacayı bir araya getirmek gibiydi.

Telefonun içinde zaten var olan birkaç gönderiyi kullanabildiğimiz (Dremel aracıyla diğer gönderileri kaldırdık) ve panoları ve hoparlörü sabitleyebildiğimiz için çok şanslıydık. Ancak bu aynı zamanda mevcut alanın geri kalanını da kısıtladı, bu da nihayetinde dahili şarj edilebilir güç kaynağı eklemek için orijinal fikirden vazgeçmemize neden oldu.

"Zil" konusuna gelince, pille çalışan kaydedilebilir ses modülü satın aldık. Bir seçenek olarak (kartları mikro USB üzerinden bağlarken), doğrudan Raspberry Pi başlığı 5V'den güç alabilen pilsiz bir sürüm vardır.

Her iki durumda da, ses modülünden harici kontrol anahtarının çıkarılması ve kabloların GPIO pin + topraklarından birine bağlanması gerekir. Zil sesini modüle programlamak çok basittir, sadece PC'ye bağlayın ve zil sesi için kullanmak istediğiniz mp3 dosyasını indirin. İşte bir sürü eski zil sesine sahip güzel bir sitenin bağlantısı.

4. Adım: Yazılım ve Son Entegrasyon

Yazılım ve Son Entegrasyon
Yazılım ve Son Entegrasyon
Yazılım ve Son Entegrasyon
Yazılım ve Son Entegrasyon

Yukarıdaki blok diyagram, tüm ana bileşenleri ve bunların ilişkilerini göstermektedir. Temelde, uygulama 3 ayrı girişe ve en az 1 ayrı çıkışa ihtiyaç duyar (GSM HAT'ın sahip olduğumuz sürümü HAT üzerindeki düğmeye basmadan otomatik olarak başlayamayacağından 2 DO kullandık, bu nedenle zorlamak için kabloyu bu düğmeye lehimlememiz gerekiyordu. telefon açıldığında HAT'ın başlatılması).

Koda gelince, Python 2.7'de yazılmıştır, bu nedenle 3.x ve daha üst bir sürümü kurar/kullanırsanız, değiştirilmesi gereken bazı şeyler olabilir (bariz olanı "print" ifadesidir). Kodun düzgün çalışması için önce eklenmesi gereken birkaç Python kitaplığı vardır, örneğin:

- gpiozero (Raspberry Pi GPIO arayüzü için gereklidir)

- yeniden (normal ifade kitaplığı - gelen SMS mesajlarını ayrıştırmak için, varsayılan Python kurulumunun bir parçası değilse kurun)

- seri (GSM HAT'a bağlanmak için - mikro USB üzerinden bağlanılsa bile gereklidir, varsayılan Python kurulumunun bir parçası değilse kurun)

Ayrıca, ekli kodda, nihai uygulamaya bağlı olarak değiştirilmesi/uyarlanması gereken 2 yer vardır (veya farklı GPIO pinleri kullanılıyorsa 3 yer). Birincisi, mesajları iletmek için kullanmak isteyeceğiniz numara ile ilgilidir:

# *********************************** FORWARDING_NUMBER = "5551234567" # buraya telefonunuzu mesajlarınızı istediğiniz yere koyun iletilmek

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

İkincisi ise seri port ayarı içindir:

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

# SIM868 başlatma ve rutinessim868 = serial. Serial("/dev/ttyS0", 115200)

# /dev/ttyS0'ın kurulumunuz için doğru olduğundan emin olun

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

Kod, yukarıdaki şemada açıklanan durum makinesi olarak oluşturulmuştur. Telefon çoğu zaman BOŞ durumda, olayları bekliyor:1. Gelen arama (telefonu ZİL durumuna getirecek)

2. Gelen SMS mesajı - otomatik olarak başka bir telefona iletilebilir

3. Aramaya hazırlık olarak kulaklığı yukarı kaldırmak (telefonu DIAL durumuna getirir)

4. Kulaklıklı mikrofon setini kaldırmadan özel karakter çevirme (geçerli koda göre "#" çevirme telefonu kapatma) …

Kodun içinde, kodun okunmasına ve anlaşılmasına yardımcı olacak birçok yorum vardır. Hızlı arama seçeneği eklemek veya durum mesajı göndermek gibi bazı şeyleri yarım bıraktık veya…

Güç verildiğinde kodun otomatik olarak nasıl çalıştırılacağına gelince, burada anlatıldığı gibi yapılabilen hizmet olarak uygulamayı seçtik. Basitçe aşağıdakileri yapın:

- ekteki "rotaryPhoneStateMachine.txt" ve "myphone.txt" dosyalarını indirin ve bunları "rotaryPhoneStateMachine.py" ve "myphone.service" olarak yeniden adlandırın (garip bir nedenle, Instructables sunucusu belirli dosya türlerinin yüklenmesine izin vermez)

- "rotaryPhoneStateMachine.py" dosyasını /home/pi klasörüne yerleştirin

- "myphone.service" dosyasını /etc/systemd/system içine yerleştirin

- "sudo systemctl enable myphone.service" komutuyla hizmeti etkinleştirin (her şeyi test ettikten sonra)

Önerilen: