Daftar Isi:

Ponsel Rotary Dial Gaya Retro: 4 Langkah (dengan Gambar)
Ponsel Rotary Dial Gaya Retro: 4 Langkah (dengan Gambar)

Video: Ponsel Rotary Dial Gaya Retro: 4 Langkah (dengan Gambar)

Video: Ponsel Rotary Dial Gaya Retro: 4 Langkah (dengan Gambar)
Video: How To Dial a ROTARY TELEPHONE (a guide for Generation Z & Late Millenials...really) 2024, November
Anonim
Ponsel Rotary Dial Gaya Retro
Ponsel Rotary Dial Gaya Retro

Proyek ini didorong oleh kebutuhan praktis dan keinginan untuk melakukan sesuatu yang menyenangkan.

Seperti kebanyakan keluarga modern, kami berhenti memiliki telepon "rumah" yang sebenarnya (dijalin dgn tali) bertahun-tahun yang lalu. Sebagai gantinya, kami memiliki kartu SIM tambahan yang terkait dengan nomor rumah "lama" kami, yang saya bawa di ponsel dual-sim saya. Ini baik-baik saja sebagai pengaturan untuk sebagian besar waktu, tetapi itu tidak berfungsi dengan baik dalam beberapa kasus, seperti ketika kami mengunjungi orang tua kami (mereka adalah generasi lama - tanpa ponsel, dan saya tidak dapat menelepon mereka di rumah kami saat pergi karena telepon "rumah" kami ada bersama saya). Ini juga diperkuat ketika saya mengganti telepon saya (telepon baru memiliki slot sim tunggal). Jadi, sepertinya ide yang bagus untuk menemukan cara untuk memiliki telepon gaya "rumah" yang dapat menggunakan kartu SIM ekstra kami.

Sejauh bagian yang menyenangkan, sebagian besar anak-anak saat ini tidak memiliki banyak gagasan tentang bagaimana telepon putar tua bekerja, atau bahwa mereka bahkan ada seperti itu. Di bagian dunia di mana saya dan istri saya berasal, kami menggunakan ungkapan "putar nomor" untuk panggilan, yang membingungkan bagi populasi yang lebih muda, karena "mengapa ada orang yang memutar telepon untuk memutar". Oleh karena itu, saya pikir akan sangat keren jika putra saya (yang aktif berpartisipasi dalam proyek ini) dapat memperoleh pengalaman dengan telepon putar.

Tentu saja, saya juga yakin bahwa telepon "baru" ini akan menjadi topik percakapan yang menyenangkan ketika kita memiliki teman dan kerabat. Atau bahkan lebih baik, membawa telepon bersama kami saat mengunjungi teman, mengejutkan orang-orang dengan ponsel yang tampak retro dan berfungsi penuh.

Selama proyek, kami mengubah beberapa tujuan desain asli. Misalnya, saya berpikir untuk menyematkan baterai eksternal yang dapat diisi ulang di dalam telepon sehingga dapat dengan mudah dibawa-bawa, tetapi akhirnya saya menyadari bahwa ini tidak perlu (karena telepon jenis ini secara alami tetap berada di satu tempat sepanjang waktu, sehingga dapat selalu dicolokkan ke stopkontak). Ada beberapa "jalan pintas" lain yang dapat kami ambil, yang membuat proyek relatif mudah dan tidak terlalu rumit.

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

Untuk materi, saya awalnya berharap kita bisa mendapatkan telepon putar lama dari orang tua saya dan menggunakan sebagian besar bagiannya (cangkang telepon, tombol putar, headset, dll.), yang akan mengurangi biaya proyek secara keseluruhan. Itu pada akhirnya tidak terjadi karena COVID-19, yang mencegah rencana perjalanan kami ke Eropa (mengunjungi keluarga), dan sebaliknya kami hanya menemukan dan membeli telepon putar putar baru di Amazon (saya tidak senang dengan opsi dan harga di eBay). Tidak apa-apa, karena menyediakan beberapa fungsi tambahan yang menarik, karena kami menemukan telepon putar dengan opsi sambung tambahan (* dan #), biasanya tidak tersedia di telepon lama.

Bagian utama dari proyek ini adalah GSM/GPRS HAT yang sudah tersedia (kami tidak membutuhkan versi 4G), dan yang dapat langsung dikontrol dengan Raspberry Pi atau papan serupa. Dalam kasus kami, kami memiliki papan Raspberry Pi Zero kecil yang tidak kami gunakan secara aktif (dari proyek anak saya yang lebih tua).

Sangat menarik bahwa sebagian besar pemikiran dan perubahan desain dilakukan di sekitar bagian proyek yang relatif sederhana dan kecil - menciptakan tindakan dering. Seperti yang diketahui oleh mereka yang akrab dengan telepon lama, dering gaya lama yang khas dihasilkan oleh "lonceng" yang digerakkan oleh 40-60 VAC, yang sulit dilakukan sebagai bagian dari proyek ini. Saya akhirnya memutuskan untuk menyederhanakan bagian dari proyek itu, dan berakhir dengan solusi yang relatif sederhana dengan menggunakan modul suara yang dapat direkam yang biasanya merupakan bagian dari kartu ucapan. Ada beberapa opsi lain, tetapi ini benar-benar berfungsi dengan baik dan merupakan solusi yang relatif murah.

Perlengkapan

  • Raspberry Pi Nol W
  • Waveshare GSM/GPRS/GNSS/Bluetooth HAT
  • Modul Suara yang Dapat Direkam, Tombol Tekan Diaktifkan
  • (Lama) Telepon Rotary
  • Kartu Micro SD (untuk Raspberry Pi), kabel/pin, headphone lama, dll.

Langkah 1: Mempersiapkan Telepon

Mempersiapkan Telepon
Mempersiapkan Telepon

Telepon dijalin dgn tali gaya lama adalah perangkat yang relatif sederhana. Seperti yang dapat dilihat dari gambar dengan telepon asli yang dibongkar, bagian yang dapat digunakan kembali adalah cangkang telepon utama termasuk dial dan alas putar, headset dan sakelarnya, sedangkan sisanya dikeluarkan - bel dering dan papan kontrol.

Apa yang sangat menyenangkan dengan model telepon khusus ini adalah bahwa kami tidak hanya dapat menggunakan kembali dial putar tetapi juga konektornya, yang dapat dipasang langsung ke header di Raspberry Pi. Perlu dicatat bahwa konektor ini memiliki 3 kabel, satu untuk referensi, dan 2 untuk input diskrit pada Raspberry Pi. Dengan logika yang sesuai (ditangkap dalam kode terlampir), ini memungkinkan deteksi saat dial diputar, dan nomor mana yang dipilih.

Begitu juga dengan headset switch, yang memiliki konektor yang bisa langsung dicolokkan ke header. Ini adalah logika sederhana, karena hanya membutuhkan referensi dan satu input diskrit.

Seperti yang diharapkan, kabel headset memiliki 4 kabel, dengan masing-masing 2 kabel untuk speaker dan mikrofon tingkat daya rendah. Karena HAT yang kami gunakan memiliki jack audio 3,5 mm untuk headphone, saya hanya menghubungkan 4 kabel itu ke salah satu headphone lama colokan audio pria 3,5 mm.

Satu hal lagi yang menarik yang berguna dari model ponsel ini adalah pemasangan tiang dari pangkalan telepon. Meskipun kami perlu memotong beberapa dari mereka untuk memberi ruang bagi papan, kami masih dapat menggunakan kembali yang lain, dan mengamankan papan kami. Ini adalah istirahat yang bagus, dan menghemat waktu kami.

Langkah 2: Menyatukan Segalanya

Menyatukan Sesuatu
Menyatukan Sesuatu
Menyatukan Sesuatu
Menyatukan Sesuatu
Menyatukan Sesuatu
Menyatukan Sesuatu

Untuk bukti konsep yang sederhana, cukup menghubungkan Raspberry Pi dan GSM HAT secara langsung, dan mencolokkan headphone biasa ke GSM HAT. Saya dapat menggunakan pengaturan itu bersama dengan aplikasi MiniCom (menggerakkan port serial Raspberry Pi, yang terhubung langsung ke GSM HAT) untuk dengan cepat memeriksa apakah kartu SIM saya berfungsi dan saya dapat menelepon dan mengirim/menerima pesan SMS dengan pengaturan itu.

Karena orang lain mungkin tertarik untuk melakukan itu (menyenangkan untuk menguji pengaturan baru dengan cepat), berikut adalah petunjuk bagaimana melakukannya (jelas, berdasarkan asumsi papan yang sama/serupa):

- Instal dan konfigurasikan OS pada Raspberry Pi (saya menggunakan versi Lite OS, yang hadir tanpa GUI).

- Colokkan HAT GSM (dengan kartu SIM terpasang) ke Raspberry Pi (pastikan HAT GSM memiliki pilihan sakelar UART yang sesuai berdasarkan jenis koneksi, lihat tautan di bawah untuk manual HAT). Untuk langkah ini Anda mungkin memerlukan versi Raspberry Pi yang memiliki konektor header yang sudah terpasang, dalam kasus kami saya perlu menyoldernya (karena saya menggunakan Pi nol, yang secara default datang tanpa header). Atau, opsi yang lebih baik adalah menggunakan kabel micro USB untuk menghubungkan kedua kartu (Raspberry Pi dan GSM HAT memiliki micro USB)

- Aktifkan penggunaan port serial Raspberry Pi jika menghubungkan GSM HAT melalui port serial (secara default, port Raspberry Pi digunakan untuk konsol). Untuk melakukannya, Anda harus mengikuti instruksi untuk raspi-config (lihat tautan "konfigurasi" di atas), opsi antarmuka - mengaktifkan opsi SSH dan serial. Jika menggunakan versi Lite OS, Anda mungkin juga perlu "menghubungkan ke jaringan nirkabel" dan mengaktifkan SSH (lihat petunjuk dari tautan "konfigurasi" di atas).

- Hubungkan Raspberry Pi ke monitor dan keyboard (atau akses melalui ssh jarak jauh)

- Gunakan MiniCom atau aplikasi serial serupa untuk mengontrol HAT secara manual melalui port yang sesuai (untuk port pengaturan saya adalah "/ dev/ttyS0", akan berbeda jika menggunakan micro USB). Instal MiniCom dengan "Sudo apt-get install minicom", dan setelah diinstal mulailah dengan "minicom -D /devtyS0" (atau port mana saja yang digunakan).

- Gunakan manual GSM HAT atau manual AT Command untuk menjalankan berbagai fungsi HAT (mengirim SMS, menelepon, dll.). Setelah terhubung dengan benar, GSM HAT akan menjawab dengan "OK" ketika ditanya dengan perintah "AT". Untuk memeriksa apakah kartu SIM terdaftar dengan benar, gunakan perintah "AT+CREG?", yang juga akan mengembalikan "OK". Anda juga dapat memverifikasi penyedia jaringan dengan "AT+COPS?", atau memeriksa nomor telepon sendiri dengan "AT+CNUM"

Untuk mengintegrasikan sisa bagian yang diperlukan, kami membuat kabel 16 pin khusus untuk Raspberry Pi ke GSM HAT, karena kami memerlukan beberapa pin IO tujuan umum lainnya untuk membaca dial putar, status sakelar headset, dan untuk menggerakkan dering bel (juga untuk memulai secara otomatis GSM HAT selama power-up / inisialisasi). Saya mencoba menggunakan beberapa kabel breakout off-the-shelf untuk Raspberry Pi untuk tujuan itu, dan sementara itu berfungsi dengan baik untuk menghubungkan dan menguji dengan cepat, saya tidak terlalu senang dengan kualitas, dan akhirnya membuat konektor 16 pin saya sendiri.

Cara lain untuk melakukan koneksi antara Raspberry Pi dan GSM HAT adalah melalui kedua papan port micro USB (dan sekali lagi, Anda perlu mengatur sakelar UART yang tepat pada GSM HAT), dan itu mungkin solusi yang lebih cepat dan lebih sederhana. Anda dapat dengan mudah melakukannya jika Anda mendapatkan kabel yang sesuai (yang akan menghemat waktu dan tenaga Anda untuk membuat kabel) - jangan lupa untuk mengubah port yang digunakan oleh perangkat lunak/aplikasi.

Setelah menghubungkan papan (dengan micro USB), sisanya mudah. Cukup ikuti diagram di atas, di mana pin yang disajikan terkait dengan kode yang dilampirkan di akhir instruksi ini. Secara khusus:

- Pin 35, 37 dan 39 (terkait dengan Raspberry Pi GPIO 19, 26 dan ground) digunakan untuk menghubungkan ke dial (pin input). Telepon yang kami pilih telah membangun 3 konektor kabel, dengan kabel merah dan hitam yang dikaitkan dengan pin NO dan NC, dan kabel kuning yang umum.

- Pin 23 dan 25 (Raspberry Pi GPIO 11 dan ground) digunakan untuk menghubungkan sakelar headset (input - mendeteksi saat headset diangkat atau diletakkan)

- Pin 22 dan 20 (Raspberry Pi GPIO 25 dan ground) digunakan untuk menghubungkan ke sakelar modul suara (output - ring action)

- Selain itu, pin 19 (GPIO 10) mungkin perlu disolder ke sakelar daya GSM HAT, karena beberapa versi HAT tidak dapat dimulai hanya dengan power-up, tetapi perlu seseorang secara manual menekan tombol "power" pada HAT.

- Di sisi telepon, kami melepas kabel 4 kabel headset internal, dan menghubungkan ke jack audio 3,5 mm dari headphone lama. Kabel Merah/Hijau untuk mikrofon headset, dan Kuning/Hitam untuk speaker headset. Tergantung pada sisi jack 3,5 mm yang digunakan, Anda mungkin perlu menentukan kabel yang sesuai (per ekstrak di atas untuk input headphone GSM HAT), tetapi dalam kasus kami, mikrofon terhubung ke pelindung dan merah, sedangkan kabel speaker berwarna hijau dan biru. Pada akhirnya, colokkan jack 3,5 mm ke input headphone GSM HAT.

Langkah 3: Pengemasan Akhir dan Menambahkan "Efek Dering" Simulasi

Pengemasan Akhir dan Menambahkan Simulasi
Pengemasan Akhir dan Menambahkan Simulasi

Sementara kemasan internal akhir seperti yang terlihat pada gambar di atas terlihat relatif rapi, itu memang membutuhkan banyak mengutak-atik dan mencoba opsi yang berbeda. Kendala utama adalah ruang di bawah rotary dial dan konektor kaku, dan seluruh proses seperti menyusun puzzle.

Sangat beruntung bahwa kami dapat menggunakan beberapa posting yang sudah ada di dalam telepon (kami menghapus posting lain dengan alat Dremel), dan untuk mengamankan papan dan speaker. Tapi itu juga membatasi sisa ruang yang tersedia, yang pada akhirnya membuat kami meninggalkan ide asli untuk menambahkan sumber daya isi ulang internal.

Adapun "cincin", kami akhirnya membeli modul suara bertenaga baterai yang dapat direkam. Sebagai pilihan (saat menghubungkan papan melalui micro USB), ada versi non-baterai yang dapat langsung ditenagai dari header 5V Raspberry Pi.

Dalam kedua kasus, sakelar pengontrol eksternal dari modul suara perlu dilepas dan kabel dihubungkan ke salah satu pin + ground GPIO. Dan memprogram nada dering ke dalam modul sangat sederhana, cukup sambungkan ke PC dan unduh file mp3 mana pun yang ingin Anda gunakan untuk tindakan dering. Berikut ini tautan ke situs yang bagus dengan banyak suara dering lama.

Langkah 4: Perangkat Lunak dan Integrasi Akhir

Perangkat Lunak dan Integrasi Akhir
Perangkat Lunak dan Integrasi Akhir
Perangkat Lunak dan Integrasi Akhir
Perangkat Lunak dan Integrasi Akhir

Diagram blok di atas menyajikan semua komponen utama dan hubungannya. Intinya, implementasi membutuhkan 3 input diskrit, dan setidaknya 1 output diskrit (kami menggunakan 2 DO karena versi GSM HAT yang kami dapatkan tidak dapat memulai secara otomatis tanpa menekan tombol pada HAT, jadi kami perlu menyolder kabel ke tombol itu untuk memaksa memulai HAT saat ponsel dihidupkan).

Sejauh kode, itu ditulis dalam Python 2.7, jadi jika Anda menginstal/menggunakan versi 3.x dan lebih tinggi, mungkin ada beberapa hal yang perlu diubah (yang jelas adalah pernyataan "cetak"). Agar kode berfungsi dengan baik, ada beberapa pustaka Python yang perlu ditambahkan terlebih dahulu, seperti:

- gpiozero (diperlukan untuk antarmuka Raspberry Pi GPIO)

- re (perpustakaan ekspresi reguler - untuk menguraikan pesan SMS yang masuk, instal jika bukan bagian dari instalasi Python default)

- serial (untuk menghubungkan ke GSM HAT - diperlukan bahkan jika menghubungkan melalui micro USB, instal jika bukan bagian dari instalasi Python default)

Juga, ada 2 tempat dalam kode terlampir yang harus dimodifikasi/diadaptasi tergantung pada implementasi akhir (atau 3 tempat, jika pin GPIO yang digunakan berbeda). Yang pertama terkait dengan nomor yang ingin Anda gunakan untuk meneruskan pesan:

# ***********************************FORWARDING_NUMBER = "5551234567" # taruh di sini telepon di mana Anda ingin pesan Anda untuk diteruskan

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

Dan yang kedua adalah untuk pengaturan port serial:

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

# SIM868 inisialisasi dan rutinessim868 = serial. Serial("/dev/ttyS0", 115200)

# pastikan /dev/ttyS0 tepat untuk pengaturan Anda

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

Kode dibangun sebagai mesin negara, dijelaskan dalam diagram di atas. Sebagian besar waktu telepon dalam keadaan IDLE, menunggu acara:1. Panggilan masuk (yang akan mengarahkan ponsel ke status RING)

2. Pesan SMS masuk - yang dapat diteruskan secara otomatis ke telepon lain

3. Mengangkat headset, sebagai persiapan untuk panggilan keluar (menggerakkan ponsel ke status DIAL)

4. Memanggil karakter khusus tanpa mengangkat headset (sesuai kode saat ini, menekan "#" telepon mati) …

Ada banyak komentar yang disematkan dalam kode, yang seharusnya membantu membaca dan memahaminya. Kami meninggalkan beberapa hal yang belum selesai, seperti menambahkan opsi panggilan cepat, atau mengirim pesan status, atau …

Sejauh cara menjalankan kode secara otomatis saat daya diterapkan, kami memilih untuk mengimplementasikannya sebagai layanan, yang dapat dilakukan seperti yang dijelaskan di sini. Cukup lakukan hal berikut:

- unduh file terlampir di bawah ini "rotaryPhoneStateMachine.txt" dan "myphone.txt" dan ganti namanya menjadi "rotaryPhoneStateMachine.py" dan "myphone.service" (untuk beberapa alasan aneh, server Instructables tidak mengizinkan pengunggahan jenis file tertentu)

- tempatkan "rotaryPhoneStateMachine.py" ke dalam folder /home/pi

- tempatkan "myphone.service" ke /etc/systemd/system

- aktifkan layanan dengan perintah "Sudo systemctl enable myphone.service" (setelah menguji semuanya)

Direkomendasikan: