Inhaltsverzeichnis:

Handy mit Drehknopf im Retro-Stil - Gunook
Handy mit Drehknopf im Retro-Stil - Gunook

Video: Handy mit Drehknopf im Retro-Stil - Gunook

Video: Handy mit Drehknopf im Retro-Stil - Gunook
Video: Zigarettenautomat knacken in 3 Schritten 2024, November
Anonim
Handy mit Drehrad im Retro-Stil
Handy mit Drehrad im Retro-Stil

Dieses Projekt wurde sowohl von einem praktischen Bedürfnis angetrieben als auch von dem Wunsch, etwas Spaßiges zu tun.

Als die meisten modernen Familien haben wir vor vielen Jahren aufgehört, ein echtes "Heim"-Telefon (kabelgebunden) zu haben. Stattdessen haben wir eine zusätzliche SIM-Karte, die mit unserer "alten" Privatnummer verknüpft ist und die ich in meinem Dual-SIM-Handy mitgeführt habe. Dies war die meiste Zeit als Setup in Ordnung, aber es funktionierte in einigen Fällen nicht optimal, wie wenn unsere Eltern zu Besuch waren (sie sind der alten Generation - ohne Handys, und ich konnte sie nicht bei uns zu Hause anrufen, wenn ich weg war) da unser "Heim"-Telefon bei mir war). Dies wurde auch verstärkt, als ich mein Telefon wechselte (neues Telefon mit einem einzigen SIM-Slot). Es schien also eine gute Idee zu sein, einen Weg zu finden, ein Telefon im "Heim"-Stil zu haben, das unsere zusätzliche SIM-Karte verwenden kann.

Was den Spaß angeht, haben die meisten Kinder heutzutage nicht viel Ahnung, wie alte Wählscheibentelefone funktionierten oder dass sie überhaupt als solche existierten. In einem Teil der Welt, aus dem meine Frau und ich stammen, verwenden wir zum Wählen den Ausdruck "die Nummer umdrehen", was für die jüngere Bevölkerung verwirrend ist, denn "warum sollte jemand das Telefon zum Wählen umdrehen". Daher dachte ich, dass es cool wäre, wenn mein Sohn (der aktiv an diesem Projekt beteiligt war) Erfahrungen mit Wählscheiben sammeln kann.

Natürlich war ich mir auch sicher, dass dieses "neue" Telefon ein schönes Gesprächsthema wäre, wenn wir Freunde und Verwandte zu Besuch haben. Oder noch besser, nehmen Sie das Telefon mit, wenn Sie Freunde besuchen, und überraschen Sie die Leute mit einem voll funktionsfähigen Handy im Retro-Look.

Während des Projekts haben wir einige der ursprünglichen Designziele geändert. Ich habe zum Beispiel darüber nachgedacht, einen wiederaufladbaren externen Akku in das Telefon einzubetten, damit er leicht mitgenommen werden kann, habe aber irgendwann festgestellt, dass dies nicht notwendig ist (da diese Art von Telefon natürlich die ganze Zeit an einem Ort bleibt, kann es also möglich sein). immer an eine Steckdose angeschlossen sein). Es gab einige andere "Abkürzungen", die wir nehmen konnten, was das Projekt relativ unkompliziert und nicht zu komplex machte.

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

Was das Material angeht, hatte ich ursprünglich gehofft, dass wir in der Lage sein werden, altes Wählscheibentelefon von meinen Eltern zu bekommen und die meisten seiner Teile (Telefonschale, Wählscheibe, Headset usw.) zu verwenden, was die Kosten des Gesamtprojekts senken würde. Das geschah letztendlich nicht aufgrund von COVID-19, das unsere geplante Reise nach Europa (Besuch der Familie) verhinderte, sondern wir haben einfach das neue Wählscheibentelefon bei Amazon gefunden und gekauft (ich war mit Optionen und Preisen bei eBay nicht zufrieden). Dies war in Ordnung, da es einige interessante zusätzliche Funktionen bereitstellte, da wir ein Wählscheibentelefon mit zusätzlichen Wähloptionen (* und #) fanden, die normalerweise auf alten Telefonen nicht verfügbar waren.

Hauptbestandteil des Projekts war GSM/GPRS HAT, das leicht verfügbar ist (wir brauchten keine 4G-Version) und das mit jedem Raspberry Pi oder ähnlichen Boards direkt gesteuert werden kann. In unserem Fall hatten wir ein kleines Raspberry Pi Zero Board, das wir nicht aktiv nutzten (aus dem älteren Projekt meines Sohnes).

Es ist interessant, dass die meisten Denk- und Designänderungen um einen relativ einfachen und kleinen Teil des Projekts herum durchgeführt wurden – die Schaffung von Klingelaktionen. Wie diejenigen, die mit alten Telefonen vertraut sind, wissen, wurde das unverwechselbare Klingeln im alten Stil durch "Glocken" erzeugt, die mit 40-60 VAC betrieben wurden, was im Rahmen dieses Projekts schwierig war. Schließlich entschied ich mich, diesen Teil des Projekts zu vereinfachen, und landete mit einer relativ einfachen Lösung, indem ich ein beschreibbares Soundmodul verwendet, das normalerweise Teil der Grußkarten ist. Es gab noch einige andere Möglichkeiten, aber das funktionierte tatsächlich super und war eine relativ kostengünstige Lösung.

Lieferungen

  • Raspberry Pi Zero W
  • Waveshare GSM/GPRS/GNSS/Bluetooth-HAT
  • Beschreibbares Soundmodul, per Knopfdruck aktiviert
  • (altes) Wählscheibentelefon
  • Micro-SD-Karte (für Raspberry Pi), Kabel/Pins, alte Kopfhörer usw.

Schritt 1: Vorbereiten des Telefons

Telefon vorbereiten
Telefon vorbereiten

Schnurgebundene Telefone im alten Stil sind relativ einfache Geräte. Wie auf dem Bild mit dem auseinandergenommenen Originaltelefon zu sehen ist, sind die wiederverwendbaren Teile das Haupttelefongehäuse einschließlich Wählscheibe und Basis, das Headset und sein Schalter, während der Rest herausgenommen wurde - Klingel und Steuerplatine.

Was an diesem speziellen Telefonmodell sehr schön war, ist, dass wir nicht nur das Drehrad, sondern auch den Anschluss wiederverwenden konnten, der direkt in den Header des Raspberry Pi gesteckt werden konnte. Es sollte beachtet werden, dass dieser Anschluss 3 Drähte hat, einen als Referenz und 2 zu diskreten Eingängen auf Raspberry Pi. Mit entsprechender Logik (im angehängten Code erfasst) ermöglicht dies die Erkennung, wann die Wählscheibe gedreht wird und welche Nummer ausgewählt wurde.

Gleiches galt für den Headset-Schalter, der einen Stecker hat, der direkt in den Header eingesteckt werden kann. Es ist eine einfache Logik, da nur eine Referenz und ein diskreter Eingang erforderlich sind.

Wie erwartet, hat das Headset-Kabel 4 Adern, mit jeweils 2 für Lautsprecher und Mikrofon mit geringer Leistung. Da HAT, das wir benutzten, eine 3,5-mm-Audiobuchse für Kopfhörer hatte, schließe ich diese 4 Drähte nur an einen der alten 3,5-mm-Audiostecker für Kopfhörer an.

Eine weitere interessante Sache, die bei diesem speziellen Telefonmodell nützlich war, waren die Montage von Pfosten von der Telefonbasis. Während wir einige von ihnen zuschneiden mussten, um Platz für Boards zu schaffen, konnten wir andere wiederverwenden und unsere Boards sichern. Dies war eine schöne Pause und spart uns etwas Zeit.

Schritt 2: Dinge zusammenfügen

Dinge zusammenbringen
Dinge zusammenbringen
Dinge zusammenbringen
Dinge zusammenbringen
Dinge zusammenbringen
Dinge zusammenbringen

Für einen einfachen Proof of Concept reicht es aus, Raspberry Pi und GSM HAT direkt zu verbinden und normale Kopfhörer an GSM HAT anzuschließen. Ich konnte dieses Setup zusammen mit der MiniCom-Anwendung (die den seriellen Raspberry Pi-Port steuert, der direkt mit GSM HAT verbunden ist) verwenden, um schnell zu überprüfen, ob meine SIM-Karte funktioniert und ich mit diesem Setup anrufen und SMS-Nachrichten senden/empfangen kann.

Da andere daran interessiert sein könnten (es macht Spaß, schnell ein neues Setup zu testen), hier die Hinweise, wie das geht (offensichtlich basierend auf der Annahme gleicher / ähnlicher Boards):

- Installieren und konfigurieren Sie das Betriebssystem auf dem Raspberry Pi (ich habe die Lite OS-Version verwendet, die ohne GUI kommt).

- Stecken Sie GSM HAT (mit installierter SIM-Karte) in Raspberry Pi (stellen Sie sicher, dass GSM HAT die geeignete UART-Schalterauswahl basierend auf dem Verbindungstyp hat, siehe untenstehender Link für das HAT-Handbuch). Für diesen Schritt benötigen Sie möglicherweise eine Raspberry Pi-Version mit bereits installiertem Header-Anschluss, in unserem Fall musste ich ihn anlöten (da ich Pi Zero verwendet habe, der standardmäßig ohne Header geliefert wird). Alternativ ist es besser, ein Micro-USB-Kabel zu verwenden, um beide Karten zu verbinden (sowohl Raspberry Pi als auch GSM HAT haben Micro-USB).

- Aktivieren Sie die Verwendung des seriellen Raspberry Pi-Ports, wenn Sie GSM HAT über den seriellen Port anschließen (standardmäßig wird der Raspberry Pi-Port für die Konsole verwendet). Um dies zu tun, müssen Sie den Anweisungen für raspi-config (siehe oben "Konfigurieren" Link), Schnittstellenoptionen - Aktivieren von SSH und seriellen Optionen folgen. Wenn Sie die Lite OS-Version verwenden, müssen Sie möglicherweise auch "mit einem drahtlosen Netzwerk verbinden" und SSH aktivieren (siehe Anweisungen oben unter "Konfigurieren"-Link).

- Verbinden Sie Raspberry Pi mit Monitor und Tastatur (oder greifen Sie über Remote-SSH darauf zu)

- Verwenden Sie MiniCom oder eine ähnliche serielle App, um HAT manuell über den entsprechenden Port zu steuern (für meinen Setup-Port war "/dev/ttyS0", wird es anders sein, wenn Sie Micro-USB verwenden). Installieren Sie MiniCom mit "sudo apt-get install minicom" und starten Sie es nach der Installation mit "minicom -D /devtyS0" (oder dem verwendeten Port).

- Verwenden Sie das GSM-HAT-Handbuch oder das AT-Befehlshandbuch, um verschiedene HAT-Funktionen zu steuern (SMS senden, Anruf tätigen usw.). Sobald die Verbindung ordnungsgemäß hergestellt wurde, antwortet GSM HAT mit "OK", wenn es mit dem Befehl "AT" abgefragt wird. Um zu überprüfen, ob die SIM-Karte richtig registriert wurde, verwenden Sie den Befehl "AT+CREG?", der auch "OK" zurückgeben sollte. Sie können auch den Netzanbieter mit "AT+COPS?" oder die eigene Telefonnummer mit "AT+CNUM" überprüfen.

Um den Rest der benötigten Teile zu integrieren, haben wir ein benutzerdefiniertes 16-Pin-Kabel für Raspberry Pi zu GSM HAT erstellt, da wir einige andere Allzweck-IO-Pins brauchten, um das Drehrad, den Status des Headset-Schalters zu lesen und den Klingelton anzutreiben (auch um automatisch zu starten) GSM HAT beim Einschalten/Initialisierung). Ich habe zu diesem Zweck versucht, einige der handelsüblichen Breakout-Kabel für Raspberry Pi zu verwenden, und obwohl dies für das schnelle Anschließen und Testen gut funktionierte, war ich mit der Qualität nicht sehr zufrieden und fertigte am Ende meinen eigenen 16-poligen Steckverbinder.

Eine andere Möglichkeit, die Verbindung zwischen Raspberry Pi und GSM HAT herzustellen, ist über die Micro-USB-Anschlüsse beider Boards (und auch hier müssen Sie den UART-Schalter auf GSM HAT entsprechend einstellen), und das kann eine schnellere und viel einfachere Lösung sein. Sie können dies leicht tun, wenn Sie ein geeignetes Kabel erhalten (das würde Ihnen Zeit und Mühe sparen, Kabel herzustellen) - vergessen Sie nur nicht, den von der Software / Anwendung verwendeten Port zu ändern.

Nach dem Anschließen von Boards (mit Micro-USB) ist der Rest einfach. Folgen Sie einfach dem obigen Diagramm, wo die dort vorgestellten Pins mit dem Code verbunden sind, der am Ende dieser Anleitung angebracht ist. Speziell:

- Pins 35, 37 und 39 (verbunden mit Raspberry Pi GPIO 19, 26 und Masse) werden für die Verbindung mit dem Zifferblatt (Eingangspins) verwendet. Das von uns gewählte Telefon hatte bereits einen 3-Draht-Anschluss, wobei rotes und schwarzes Kabel mit NO- und NC-Pins verbunden waren und gelbes Kabel üblich ist.

- Pins 23 und 25 (Raspberry Pi GPIO 11 und Masse) werden für den Anschluss des Headset-Schalters verwendet (Eingang - Erkennung, wenn das Headset angehoben oder abgesetzt wird)

- Pins 22 und 20 (Raspberry Pi GPIO 25 und Masse) werden zum Anschluss an den Soundmodul-Schalter verwendet (Ausgang - Ringaktion)

- Zusätzlich muss Pin 19 (GPIO 10) möglicherweise an den GSM HAT-Netzschalter gelötet werden, da einige Versionen von HAT nicht einfach durch Einschalten gestartet werden können, sondern manuell den "Power" -Schalter am HAT drücken müssen.

- Auf der Telefonseite haben wir das interne 4-adrige Kabel des Headsets entfernt und an die 3,5-mm-Audiobuchse von alten Kopfhörern angeschlossen. Rote/Grüne Drähte sind für das Headset-Mikrofon und Gelb/Schwarz sind für die Headset-Lautsprecher. Abhängig von der verwendeten 3,5-mm-Klinkenseite müssen Sie möglicherweise ein geeignetes Kabel herausfinden (siehe obigen Auszug für den GSM-HAT-Kopfhörereingang), aber in unserem Fall war das Mikrofon mit Schirm und rot verbunden, während die Lautsprecherkabel grün und blau waren. Schließen Sie am Ende den 3,5-mm-Klinkenstecker an den GSM-HAT-Kopfhörereingang an.

Schritt 3: Endgültige Verpackung und Hinzufügen des simulierten "Klingeleffekts"

Endgültiges Verpacken und Hinzufügen simuliert
Endgültiges Verpacken und Hinzufügen simuliert

Während die endgültige Innenverpackung, wie auf dem obigen Bild zu sehen, relativ ordentlich aussieht, erforderte es viel Basteln und Ausprobieren verschiedener Optionen. Die Haupteinschränkungen waren der Platz unter dem Drehrad und die starren Anschlüsse, und der gesamte Prozess war wie das Zusammensetzen eines Puzzles.

Es war ein großes Glück, dass wir mehrere bereits im Telefon vorhandene Pfosten verwenden konnten (andere Pfosten haben wir mit dem Dremel-Tool entfernt) und Boards und Lautsprecher sichern konnten. Aber das schränkte auch den Rest des verfügbaren Platzes ein, was letztendlich dazu führte, dass wir die ursprüngliche Idee aufgegeben haben, eine interne wiederaufladbare Stromquelle hinzuzufügen.

Was "Klingeln" angeht, haben wir schließlich ein batteriebetriebenes beschreibbares Soundmodul gekauft. Als Option (bei Anschluss von Boards über Micro-USB) gibt es eine batterielose Version, die direkt über den Raspberry Pi Header 5V mit Strom versorgt werden kann.

In beiden Fällen müsste der externe Steuerschalter vom Soundmodul entfernt und die Drähte an einen von GPIO-Pin + Masse angeschlossen werden. Und die Programmierung des Klingeltons in das Modul ist sehr einfach. Verbinden Sie es einfach mit dem PC und laden Sie die MP3-Datei herunter, die Sie für die Klingelaktion verwenden möchten. Hier ist der Link zu einer schönen Seite mit vielen alten Klingeltönen.

Schritt 4: Software und endgültige Integration

Software und endgültige Integration
Software und endgültige Integration
Software und endgültige Integration
Software und endgültige Integration

Das obige Blockdiagramm zeigt alle Hauptkomponenten und ihre Beziehungen. Im Wesentlichen benötigt die Implementierung 3 diskrete Eingänge und mindestens 1 diskreten Ausgang (wir haben 2 DOs verwendet, da die Version von GSM HAT, die wir erhalten haben, nicht automatisch starten kann, ohne die Taste am HAT zu drücken, also mussten wir Draht an diese Taste löten, um dies zu erzwingen Starten des HAT, wenn das Telefon mit Strom versorgt wird).

Was den Code angeht, wurde er in Python 2.7 geschrieben. Wenn Sie also Version 3.x und höher installieren/verwenden, müssen möglicherweise einige Dinge geändert werden (eine offensichtliche ist die "print"-Anweisung). Damit der Code richtig funktioniert, müssen zuerst einige Python-Bibliotheken hinzugefügt werden, wie zum Beispiel:

- gpiozero (benötigt für Raspberry Pi GPIO-Schnittstelle)

- re (Bibliothek für reguläre Ausdrücke - zum Parsen eingehender SMS-Nachrichten, installieren, wenn nicht Teil der Standard-Python-Installation)

- seriell (für die Verbindung mit GSM HAT - erforderlich, auch bei Verbindung über Micro-USB, installieren, wenn nicht Teil der Standard-Python-Installation)

Außerdem gibt es 2 Stellen im angehängten Code, die je nach endgültiger Implementierung geändert / angepasst werden müssen (oder 3 Stellen, wenn unterschiedliche GPIO-Pins verwendet werden). Die erste bezieht sich auf die Nummer, die Sie zum Weiterleiten von Nachrichten verwenden möchten:

# **********************************FORWARDING_NUMBER = "5551234567" # Geben Sie hier das Telefon ein, wo Sie Ihre Nachrichten haben möchten weitergeleitet werden

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

Und der zweite ist für die Einstellung der seriellen Schnittstelle:

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

# SIM868-Initialisierung und rutinessim868 = serial. Serial("/dev/ttyS0", 115200)

# Stellen Sie sicher, dass /dev/ttyS0 für Ihr Setup geeignet ist

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

Code wurde als Zustandsmaschine erstellt, wie im obigen Diagramm beschrieben. Die meiste Zeit befindet sich das Telefon im IDLE-Zustand und wartet auf Ereignisse:1. Eingehender Anruf (wodurch das Telefon in den RING-Zustand versetzt wird)

2. Eingehende SMS-Nachricht - die automatisch an ein anderes Telefon weitergeleitet wird/werden kann

3. Anheben des Headsets zur Vorbereitung der Anwahl (führt das Telefon in den DIAL-Zustand)

4. Sonderzeichen wählen ohne Headset abzuheben (laut aktuellem Code, „#“wählen, abgeschaltetes Telefon) …

In den Code sind viele Kommentare eingebettet, die beim Lesen und Verstehen helfen sollen. Wir haben einige Dinge unvollendet gelassen, wie das Hinzufügen einer Kurzwahloption oder das Senden von Statusnachrichten oder …

Was die automatische Ausführung von Code beim Einschalten der Stromversorgung betrifft, haben wir uns für die Implementierung als Dienst entschieden, was wie hier beschrieben erfolgen kann. Gehen Sie einfach wie folgt vor:

- Laden Sie die unten angehängten Dateien "rotaryPhoneStateMachine.txt" und "myphone.txt" herunter und benennen Sie sie in "rotaryPhoneStateMachine.py" und "myphone.service" um (aus irgendeinem seltsamen Grund erlaubt der Instructables-Server das Hochladen bestimmter Dateitypen nicht)

- Platziere "rotaryPhoneStateMachine.py" im Ordner /home/pi

- Platziere "myphone.service" in /etc/systemd/system

- Dienst mit Befehl "sudo systemctl enable myphone.service" aktivieren (nachdem alles getestet wurde)

Empfohlen: