Mündəricat:

Retro Style Rotary Dial Cib Telefonu: 4 Addım (Şəkillərlə birlikdə)
Retro Style Rotary Dial Cib Telefonu: 4 Addım (Şəkillərlə birlikdə)

Video: Retro Style Rotary Dial Cib Telefonu: 4 Addım (Şəkillərlə birlikdə)

Video: Retro Style Rotary Dial Cib Telefonu: 4 Addım (Şəkillərlə birlikdə)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Iyun
Anonim
Retro Style Rotary Dial Mobil Telefon
Retro Style Rotary Dial Mobil Telefon

Bu layihə həm praktiki ehtiyacdan, həm də əyləncəli bir şey etmək istəyindən qaynaqlandı.

Əksər müasir ailələr kimi, uzun illər əvvəl əsl "ev" telefonu (kabelli) olmağı dayandırdıq. Bunun əvəzinə, iki simli cib telefonumda gəzdirdiyim "köhnə" ev nömrəmizlə əlaqəli əlavə SİM kartımız var. Çox vaxt bu bir quruluş olaraq yaxşı idi, amma bəzi hallarda ən yaxşı nəticə vermədi, məsələn, valideynlərimizi ziyarət etdikdə (onlar köhnə nəsillərdir - cib telefonları yoxdur və evdən kənarda onlara zəng edə bilmədim) "ev" telefonumuz yanımda olduğundan). Telefonumu dəyişdirdiyim zaman bu da gücləndi (tək telefon yuvası olan yeni telefon). Beləliklə, əlavə SİM kartımızdan istifadə edə biləcək "ev" üslublu bir telefon əldə etmək üçün bir yol tapmaq yaxşı bir fikir kimi görünürdü.

Əyləncəli hissəyə gəlincə, indiki uşaqların çoxu nə qədər köhnə fırlanan zəngli telefonların işlədiyini və ya belə mövcud olduqlarını bilmirlər. Həyat yoldaşımla mənim olduğumuz dünyanın bir hissəsində, yığım üçün "nömrəni çevir" ifadəsini istifadə edirik, bu da gənc insanlar üçün çaşqınlıq yaradır, çünki "niyə kimsə telefonu çevirmək üçün çevirir?" Buna görə də, oğlumun (bu layihədə fəal iştirak edən) fırlanan telefonla təcrübə əldə etməsinin yaxşı olacağını düşündüm.

Əlbəttə ki, dostlarımız və qohumlarımız olduqda bu "yeni" telefonun gözəl bir söhbət mövzusu olacağına da əmin idim. Və ya daha da yaxşısı, dostları ziyarət edərkən telefonla yanımızda olmaq, tam işlək retro görünüşlü cib telefonu ilə insanları təəccübləndirmək.

Layihə zamanı orijinal dizayn məqsədlərindən bəzilərini dəyişdik. Məsələn, şarj oluna bilən xarici batareyanı telefonun içərisinə yerləşdirmək barədə düşünürdüm ki, onu asanlıqla götürə bilək, amma nəticədə bunun lazım olmadığını başa düşdüm (çünki bu tip telefonlar təbii olaraq hər zaman bir yerdə qalır, buna görə də həmişə elektrik prizinə qoşun). Ala bildiyimiz digər "qısa yollar" da var idi ki, bu da layihəni nisbətən düz və çox mürəkkəb etmirdi.

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

Maddi olaraq, əvvəlcə valideynlərimdən köhnə fırlanan telefon alacağımızı və onun çox hissəsini (telefon qabığı, fırlanan düymə, qulaqlıq və s.) İstifadə edə biləcəyimizi ümid edirdim ki, bu da ümumi layihənin dəyərini azaldar. Nəticədə bu, Avropaya planlaşdırılan səfərimizi (ailəni ziyarət etməyi) maneə törədən COVID-19 səbəbindən baş vermədi və bunun əvəzinə Amazon-da yeni fırlanan yığım telefonu tapdıq və satın aldıq (eBay-də seçimlərdən və qiymətlərdən məmnun deyildim). Bir az maraqlı əlavə funksiyalar təmin etdiyi üçün bu yaxşı idi, çünki köhnə telefonlarda adətən mövcud olmayan əlavə yığım seçimləri olan (* və #) fırlanan zəngli telefon tapdıq.

Layihənin əsas hissəsi hər hansı bir Raspberry Pi və ya oxşar lövhələrlə birbaşa idarə oluna bilən GSM/GPRS HAT idi (4G versiyasına ehtiyacımız yox idi). Bizim vəziyyətimizdə, aktiv istifadə etmədiyimiz kiçik bir Raspberry Pi Zero lövhəsi vardı (oğlumun köhnə layihəsindən).

Maraqlıdır ki, düşüncə və dizayn dəyişikliklərinin çoxu layihənin nisbətən sadə və kiçik bir hissəsinin ətrafında - zəng hərəkətləri yaratmaqla edildi. Köhnə telefonları bilənlərin bildiyi kimi, fərqli layihə çərçivəsində etmək çətin olan 40-60 VAC ilə idarə olunan "zənglər" köhnə üslubda fərqli zənglər istehsal etdi. Nəhayət layihənin bu hissəsini sadələşdirmək qərarına gəldim və ümumiyyətlə təbrik kartlarının bir hissəsi olan səs yaza bilən səs modulundan istifadə edərək nisbətən sadə bir həll ilə başa çatdım. Başqa variantlar da var idi, amma əslində əla işləyirdi və nisbətən ucuz bir həll idi.

Təchizat

  • Raspberry Pi Zero W
  • Dalğa Paylaşımı GSM/GPRS/GNSS/Bluetooth HAT

  • Yazıla bilən Səs Modulu, Düymə Aktivləşdirildi
  • (Köhnə) Rotary Telefon
  • Micro SD kart (Raspberry Pi üçün), kabellər/pinlər, köhnə qulaqlıqlar və s.

Addım 1: Telefonun hazırlanması

Telefonun Hazırlanması
Telefonun Hazırlanması

Köhnə üslublu kabel telefonları nisbətən sadə qurğulardır. Orijinal telefonun ayrıldığı şəkildən göründüyü kimi, təkrar istifadə edilə bilən hissələr fırlanan kadr və baza, qulaqlıq və açarı daxil olmaqla əsas telefon qabığıdır, qalanları isə çıxarıldı - zəngli zəng və idarəetmə lövhəsi.

Bu telefon modelində çox xoş olan şey, təkcə fırlanan düyməni deyil, həm də birbaşa Raspberry Pi-nin başlığına qoşula bilən konnektorunu yenidən istifadə edə bilməyimizdir. Qeyd etmək lazımdır ki, bu konnektorun biri Raspberry Pi -də 2 istinad üçün ayrılmış 3 teldən ibarətdir. Müvafiq məntiqlə (əlavə edilmiş kodda qeyd olunur) bu, yığımın çevrildiyini və hansı nömrənin seçildiyini aşkar etməyə imkan verir.

Eyni şey birbaşa başlığa qoşula bilən konnektoru olan qulaqlıq açarı üçün də keçərlidir. Sadə məntiqdir, çünki yalnız istinad və bir diskret giriş tələb edir.

Gözlənildiyi kimi, qulaqlıq kabeli 4 teldən ibarətdir, hər biri 2 aşağı güc səviyyəli dinamik və mikrofon üçün. İstifadə etdiyimiz HAT -ın qulaqlıq üçün 3,5 mm səs yuvası olduğundan, bu 4 teli köhnə qulaqlıqlardan biri olan 3,5 mm kişi səs fişinə bağlayıram.

Bu xüsusi telefon modelindən faydalı olan daha bir maraqlı şey telefon bazasından ismarıcların quraşdırılması idi. Lövhələr üçün yer açmaq üçün bəzilərini kəsmək lazım olsa da, digərlərini yenidən istifadə edə və lövhələrimizi təmin edə bildik. Bu gözəl bir fasilə idi və bizə bir az vaxt qazandırdı.

Addım 2: İşləri bir araya gətirmək

Əşyaları Bir araya gətirmək
Əşyaları Bir araya gətirmək
Əşyaları Bir araya gətirmək
Əşyaları Bir araya gətirmək
Əşyaları Bir araya gətirmək
Əşyaları Bir araya gətirmək

Konsepsiyanın sadə sübutu üçün Raspberry Pi və GSM HAT -ı birbaşa birləşdirmək və adi qulaqlıqları GSM HAT -a bağlamaq kifayətdir. SİM kartımın işlədiyini və bu qurğu ilə zəng edib SMS mesajları göndərə/qəbul edə biləcəyimi tez bir zamanda yoxlamaq üçün MiniCom tətbiqi ilə birlikdə (GSM HAT -a birbaşa bağlı olan Raspberry Pi seriyalı portu idarə edən) bu qurğudan istifadə edə bildim.

Başqaları bunu etməkdə maraqlı ola bildikləri üçün (yeni quruluşu tez bir zamanda sınamaq əyləncəlidir), burada bunu necə edəcəyiniz barədə göstərişlər var (açıq -aydın eyni/oxşar lövhələrin fərziyyəsinə əsaslanaraq):

- Raspberry Pi -də OS qurun və konfiqurasiya edin (heç bir GUI olmadan gələn Lite OS versiyasını istifadə etdim).

- GSM HAT -ı (SİM kart quraşdırılmış halda) Raspberry Pi -yə qoşun (GSM HAT -ın bağlantı növünə görə uyğun UART keçid seçiminə malik olduğundan əmin olun, HAT təlimatı üçün aşağıya baxın). Bu addım üçün artıq başlıq konnektoru quraşdırılmış Raspberry Pi versiyasına ehtiyacınız ola bilər, bizim vəziyyətimizdə onu lehimləməyim lazım idi (çünki Pi sıfırdan istifadə etdiyim üçün, başlıq olmadan gəlir). Alternativ olaraq, hər iki kartı bağlamaq üçün mikro USB kabelindən istifadə etmək daha yaxşı seçimdir (həm Raspberry Pi, həm də GSM HAT -da mikro USB var)

- GSM HAT -ı ardıcıl port vasitəsi ilə bağlayırsınızsa, Raspberry Pi serial portunun istifadəsinə icazə verin (standart olaraq Raspberry Pi portu konsol üçün istifadə olunur). Bunu etmək üçün, raspi -config (yuxarıdakı "konfiqurasiya" bağlantısına baxın), interfeys seçimləri - SSH və serial seçimlərini aktivləşdirmək üçün təlimatları izləməlisiniz. Lite OS versiyasını istifadə edirsinizsə, "simsiz şəbəkəyə qoşulmaq" və SSH -ni aktivləşdirmək də lazım ola bilər (yuxarıdakı "konfiqurasiya et" linkindəki təlimatlara baxın).

- Raspberry Pi -ni monitora və klaviaturaya qoşun (və ya uzaqdan ssh vasitəsilə daxil olun)

HAT -ı müvafiq port vasitəsilə əl ilə idarə etmək üçün MiniCom və ya oxşar serial tətbiqindən istifadə edin (mənim quraşdırma portum "/dev/ttyS0" idi, mikro USB istifadə edilərsə fərqli olacaq). MiniCom -u "sudo apt -get install minicom" ilə quraşdırın və quraşdırıldıqdan sonra "minicom -D /devtyS0" (və ya hansı portdan istifadə olunur) ilə başlayın.

- Müxtəlif HAT funksiyalarını idarə etmək üçün GSM HAT təlimatını və ya AT Komanda təlimatını istifadə edin (SMS göndərin, zəng edin və s.). Düzgün bağlandıqda, GSM HAT "AT" əmri ilə sorğu -sual edildikdə "OK" ilə cavab verəcəkdir. SİM kartın düzgün qeydiyyata alındığını yoxlamaq üçün "AT+CREG?" Əmrindən istifadə edin ki, bu da "OK" düyməsini qaytarmalıdır. Şəbəkə təminatçısını "AT+COPS?" İlə yoxlaya və ya "AT+CNUM" ilə öz telefon nömrənizi yoxlaya bilərsiniz.

Lazım olan digər hissələri birləşdirmək üçün, Raspberry Pi üçün GSM HAT üçün xüsusi 16 pinli kabel yaratdıq, çünki dönmə düyməsini, qulaqlıq açarının vəziyyətini və zəng zəngini idarə etmək üçün digər ümumi məqsədli IO pinlərinə ehtiyacımız var (eyni zamanda avtomatik olaraq işə salın) GSM HAT açma / başlatma zamanı). Bu məqsədlə Raspberry Pi üçün hazır olmayan bir neçə tel istifadə etməyə çalışdım və tez bir zamanda qoşulmaq və sınamaq üçün yaxşı işləsəm də keyfiyyətdən çox məmnun deyildim və özümün 16 pinli konnektoru hazırladım.

Raspberry Pi ilə GSM HAT arasındakı əlaqəni qurmağın başqa bir yolu, hər iki lövhə mikro USB portudur (və yenə də GSM HAT -da UART açarını uyğun bir şəkildə qurmalısınız) və bu daha sürətli və daha sadə bir həll ola bilər. Uyğun bir kabel alsanız asanlıqla edə bilərsiniz (bu, kabel çəkmək üçün vaxtınıza və səyinizə qənaət edəcək) - proqram/tətbiqin istifadə etdiyi portu dəyişdirməyi unutmayın.

Lövhələri bağladıqdan sonra (mikro USB ilə) qalanları asandır. Yalnız yuxarıdakı diaqramı izləyin, burada təqdim olunan sancaqlar bu təlimatın sonunda əlavə edilmiş kodla əlaqələndirilir. Xüsusilə:

- 35, 37 və 39 pinləri (Raspberry Pi GPIO 19, 26 və torpaq ilə əlaqəli) yığmağa (giriş pinləri) qoşulmaq üçün istifadə olunur. Seçdiyimiz telefon artıq 3 tel bağlayıcı qurmuşdu, qırmızı və qara tel NO və NC pinləri ilə əlaqəli idi və sarı tel ümumi idi.

- Qulaqlıq açarını bağlamaq üçün 23 və 25 pinləri (Raspberry Pi GPIO 11 və torpaq) istifadə olunur (giriş - qulaqlığın qaldırıldığını və ya yerə qoyulduğunu aşkar edir)

- 22 və 20 pinləri (Raspberry Pi GPIO 25 və torpaq) səs modulu keçidinə qoşulmaq üçün istifadə olunur (çıxış - zəng hərəkəti)

- Əlavə olaraq, pin 19-un (GPIO 10) GSM HAT güc açarına lehimlənməsi lazım ola bilər, çünki HAT-ın bəzi versiyaları yalnız güclə açıla bilməz, ancaq HAT-ın "güc" düyməsini əl ilə basan birinə ehtiyac var.

- Telefon tərəfində, daxili qulaqlıq 4 tel kabelini çıxardıq və köhnə qulaqlıqlardan 3,5 mm audio jak bağladıq. Qırmızı/Yaşıl tellər qulaqlıq mikrofonu üçün, Sarı/Qara qulaqlıq dinamikidir. İstifadə olunan 3,5 mm jak tərəfindən asılı olaraq, uyğun bir tel (GSM HAT qulaqlıq girişi üçün yuxarıdakı çıxarışa görə) müəyyən etməyiniz lazım ola bilər, ancaq bizim vəziyyətimizdə mikrofon qalxan və qırmızıya, dinamik telləri isə yaşıl və mavi rəngdə idi. Sonda GSM HAT qulaqlıq girişinə 3,5 mm jak bağlayın.

Addım 3: Son Qablaşdırma və Simulyasiya edilmiş "zəng effekti" nin əlavə edilməsi

Son Qablaşdırma və Simulyasiya Edilməsi
Son Qablaşdırma və Simulyasiya Edilməsi

Yuxarıdakı şəkildə göründüyü kimi son daxili qablaşdırma nisbətən səliqəli görünsə də, fərqli variantları sınamaq və sınamaq çox şey tələb edirdi. Əsas məhdudiyyətlər fırlanan kadr və sərt bağlayıcıların altındakı boşluq idi və bütün proses bir araya gəlməyə bənzəyirdi.

Telefonun içərisində mövcud olan bir neçə yazıdan istifadə edə bildiyimiz (Dremel aləti ilə digər yazıları sildik) və lövhələri və dinamikləri təmin edə bildiyimiz üçün çox şanslıyıq. Ancaq bu, mövcud yerin qalan hissəsini də məhdudlaşdırdı və nəticədə daxili təkrar doldurulan enerji mənbəyi əlavə etmək üçün orijinal fikirdən imtina etməyimizə səbəb oldu.

"Zəng" ə gəldikdə, batareya ilə işləyən qeyd edilə bilən səs modulu aldıq. Bir seçim olaraq (mikro USB vasitəsilə lövhələr bağlayarkən), Raspberry Pi başlığı 5V-dən birbaşa işləyə bilən batareyasız bir versiya var.

Hər iki halda da, səs modulundan xarici idarəetmə açarının çıxarılması və GPIO pin + şnurundan birinə tellərin bağlanması lazımdır. Zəng tonunu modulda proqramlaşdırmaq çox sadədir, sadəcə kompüterə qoşun və zəng etmək üçün istifadə etmək istədiyiniz mp3 faylını yükləyin. Burada çoxlu köhnə zəng səsləri olan gözəl bir saytın bağlantısı.

Addım 4: Proqram təminatı və son inteqrasiya

Proqram təminatı və son inteqrasiya
Proqram təminatı və son inteqrasiya
Proqram təminatı və son inteqrasiya
Proqram təminatı və son inteqrasiya

Yuxarıdakı blok diaqramı bütün əsas komponentləri və əlaqələrini təqdim edir. Əslində, tətbiq üçün 3 ayrı giriş və ən azı 1 diskret çıxış lazımdır (əldə etdiyimiz GSM HAT versiyasından bəri 2 DO istifadə etdik, HAT düyməsinə basmadan avtomatik olaraq başlaya bilmərik, buna görə də məcbur etmək üçün teli həmin düyməyə lehimləməliyik. telefon işə salındıqda HAT -ı işə salmaq).

Koda gəldikdə, Python 2.7 -də yazılmışdır, buna görə 3.x və daha yüksək versiyasını quraşdırsanız/istifadə etsəniz, dəyişdirilməli olan bəzi şeylər ola bilər (açıq şəkildə "çap" ifadəsi). Kodun düzgün işləməsi üçün əvvəlcə əlavə edilməli olan bir neçə Python kitabxanası var:

- gpiozero (Raspberry Pi GPIO interfeysi üçün lazımdır)

- yenidən (müntəzəm ifadə kitabxanası - daxil olan SMS mesajlarını təhlil etmək üçün standart Python quraşdırmasının bir hissəsi deyilsə quraşdırın)

- serial (GSM HAT -a qoşulmaq üçün - mikro USB vasitəsilə qoşulsa belə lazımdır, əgər standart Python quraşdırılmasının bir hissəsi deyilsə quraşdırın)

Ayrıca, əlavə edilmiş kodda, son tətbiqdən asılı olaraq dəyişdirilməli/uyğunlaşdırılmalı olan 2 yer var (və ya fərqli GPIO pinlərindən istifadə edildikdə 3 yer). Birincisi, mesajları yönləndirmək üçün istifadə etmək istədiyiniz nömrəyə aiddir:

# *********************************** FORWARDING_NUMBER = "5551234567" # mesajlarınızı istədiyiniz yerə bura telefon qoyun. yönləndirilmək

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

İkincisi, seriya portu üçün:

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

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

# qurma üçün /dev /ttyS0 -un düzgün olduğundan əmin olun

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

Kod, yuxarıdakı diaqramda təsvir edilən dövlət maşını kimi qurulmuşdur. Çox vaxt telefon IDLE vəziyyətindədir və hadisələri gözləyir: 1. Gələn zəng (telefonu Zəng vəziyyətinə gətirəcək)

2. Gələn SMS mesajı - avtomatik olaraq başqa bir telefona yönləndirilə bilər

3. Qulaqlığın qaldırılması, yığılmağa hazırlıq (telefonu DIAL vəziyyətinə gətirir)

4. Qulaqlığı qaldırmadan xüsusi xarakterin yığılması (cari koda görə "#" bağlanan telefonu yığmaq)…

Kodun oxunmasına və başa düşülməsinə kömək edəcək bir çox şərh var. Sürətli yığma seçimi əlavə etmək və ya status mesajı göndərmək kimi bəzi işləri yarımçıq qoyduq.

Güc tətbiq edildikdə kodun avtomatik olaraq necə işlədiləcəyinə gəldikdə, onu burada təsvir edildiyi kimi edilə bilən bir xidmət olaraq tətbiq etməyi seçdik. Sadəcə aşağıdakıları edin:

- "RotaryPhoneStateMachine.txt" və "myphone.txt" fayllarını aşağıda əlavə edin və onları "rotaryPhoneStateMachine.py" və "myphone.service" adlandırın (qəribə bir səbəbdən Instructables serveri müəyyən fayl növlərinin yüklənməsinə icazə vermir)

- "rotaryPhoneStateMachine.py" faylını /home /pi qovluğuna yerləşdirin

- "myphone.service" i/etc/systemd/system -ə yerləşdirin

- "sudo systemctl enable myphone.service" əmri ilə xidməti aktivləşdirin (hər şeyi sınadıqdan sonra)

Tövsiyə: