Table des matières:

Téléphone portable à cadran rotatif de style rétro : 4 étapes (avec photos)
Téléphone portable à cadran rotatif de style rétro : 4 étapes (avec photos)

Vidéo: Téléphone portable à cadran rotatif de style rétro : 4 étapes (avec photos)

Vidéo: Téléphone portable à cadran rotatif de style rétro : 4 étapes (avec photos)
Vidéo: Demo - Socotel S63 orange + Bluetooth 2024, Juin
Anonim
Téléphone portable à cadran rotatif de style rétro
Téléphone portable à cadran rotatif de style rétro

Ce projet était motivé à la fois par un besoin pratique et par le désir de faire quelque chose d'amusant.

Comme la plupart des familles modernes, nous avons cessé d'avoir un vrai téléphone "maison" (filaire) il y a de nombreuses années. Au lieu de cela, nous avons une carte SIM supplémentaire associée à notre "ancien" numéro de domicile, que j'avais dans mon téléphone portable dual-sim. C'était bien comme configuration la plupart du temps, mais cela ne fonctionnait pas mieux dans certains cas, comme lorsque nos parents nous rendaient visite (ils sont de l'ancienne génération - sans téléphones portables, et je ne pouvais pas les appeler chez nous quand j'étais absent puisque notre téléphone « maison » était avec moi). Cela a également été amplifié lorsque j'ai changé de téléphone (nouveau téléphone avec un seul emplacement pour sim). Donc, cela semblait être une bonne idée de trouver un moyen d'avoir un téléphone de style "maison" qui pourrait utiliser notre carte SIM supplémentaire.

En ce qui concerne la partie amusante, la plupart des enfants d'aujourd'hui n'ont pas la moindre idée du fonctionnement des anciens téléphones à cadran, ou du fait qu'ils ont même existé en tant que tels. Dans la partie du monde d'où ma femme et moi venons, nous utilisons l'expression "tourner le numéro" pour composer, ce qui est déroutant pour la population plus jeune, car "pourquoi quelqu'un tournerait-il le téléphone pour composer". Par conséquent, j'ai pensé que ce serait cool que mon fils (qui participait activement à ce projet) puisse acquérir de l'expérience avec le téléphone à cadran.

Bien sûr, j'étais aussi sûr que ce "nouveau" téléphone serait un bon sujet de conversation lorsque nous recevrions des amis et des parents. Ou encore mieux, en prenant le téléphone avec nous lorsque vous visitez des amis, en surprenant les gens avec un téléphone portable au look rétro entièrement fonctionnel.

Au cours du projet, nous avons modifié certains des objectifs de conception d'origine. Par exemple, je pensais intégrer une batterie externe rechargeable à l'intérieur du téléphone afin qu'elle puisse être facilement transportée, mais j'ai finalement réalisé que ce n'était pas nécessaire (car ce type de téléphone reste naturellement au même endroit tout le temps, donc il peut être toujours branché sur une prise). Il y avait d'autres "raccourcis" que nous avons pu prendre, ce qui a rendu le projet relativement simple et pas trop complexe.

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

Pour le matériel, j'espérais à l'origine que nous pourrons récupérer le vieux téléphone à cadran de mes parents et utiliser la plupart de ses pièces (coque du téléphone, cadran rotatif, casque, etc.), ce qui réduirait le coût du projet global. Cela ne s'est finalement pas produit en raison de COVID-19, qui a empêché notre voyage prévu en Europe (visite de la famille), et à la place, nous venons de trouver et d'acheter le nouveau téléphone à cadran sur Amazon (je n'étais pas satisfait des options et des prix sur eBay). C'était correct, car il offrait des fonctionnalités supplémentaires intéressantes, car nous avons trouvé un téléphone à cadran avec des options de numérotation supplémentaires (* et #), normalement non disponibles sur les anciens téléphones.

La partie principale du projet était le HAT GSM/GPRS qui est facilement disponible (nous n'avions pas besoin de la version 4G) et qui peut être directement contrôlé avec n'importe quel Raspberry Pi ou des cartes similaires. Dans notre cas, nous avions une petite carte Raspberry Pi Zero que nous n'utilisions pas activement (du projet plus ancien de mon fils).

Il est intéressant de noter que la plupart des changements de réflexion et de conception ont été effectués autour d'une partie relativement simple et petite du projet - créant une action retentissante. Comme le savent ceux qui connaissent les vieux téléphones, la sonnerie distinctive à l'ancienne était produite par des "cloches" alimentées par 40-60 VAC, ce qui était difficile à faire dans le cadre de ce projet. J'ai finalement décidé de simplifier cette partie du projet et j'ai obtenu une solution relativement simple en utilisant un module de sons enregistrable qui fait généralement partie des cartes de vœux. Il y avait d'autres options, mais cela fonctionnait très bien et était une solution relativement peu coûteuse.

Fournitures

  • Raspberry Pi Zero W
  • Chapeau Waveshare GSM/GPRS/GNSS/Bluetooth
  • Module de son enregistrable, bouton-poussoir activé
  • (Ancien) Téléphone à cadran
  • Carte Micro SD (pour Raspberry Pi), câbles/broches, vieux casques, etc.

Étape 1: Préparation du téléphone

Préparation du téléphone
Préparation du téléphone

Les téléphones filaires de style ancien sont des appareils relativement simples. Comme on peut le voir sur la photo avec le téléphone d'origine démonté, les pièces réutilisables sont la coque principale du téléphone, y compris le cadran rotatif et la base, le casque et son interrupteur, tandis que le reste a été retiré - sonnerie et tableau de commande.

Ce qui était très bien avec ce modèle de téléphone particulier, c'est que nous avons pu non seulement réutiliser le cadran rotatif mais aussi son connecteur, qui pouvait être branché directement sur l'en-tête du Raspberry Pi. A noter que ce connecteur a 3 fils, un pour référence, et 2 allant vers des entrées discrètes sur Raspberry Pi. Avec une logique appropriée (capturée dans le code joint), cela permet de détecter quand le cadran est tourné et quel numéro a été sélectionné.

La même chose était vraie pour le commutateur de casque, qui a un connecteur qui peut être directement branché sur l'en-tête. C'est une logique simple, puisqu'elle ne nécessite qu'une référence et une entrée TOR.

Comme prévu, le câble du casque a 4 fils, avec 2 chacun pour le haut-parleur et le microphone à faible puissance. Étant donné que HAT que nous utilisions avait une prise audio 3,5 mm pour casque, je finis par connecter ces 4 fils à l'un des anciens écouteurs 3,5 mm.

Une autre chose intéressante qui était utile à partir de ce modèle particulier de téléphone était le montage de poteaux à partir de la base du téléphone. Bien que nous devions en couper certains pour faire de la place pour les planches, nous pouvions toujours en réutiliser d'autres et sécuriser nos planches. Ce fut une belle pause et nous fait gagner du temps.

Étape 2: Assembler les choses

Mettre les choses ensemble
Mettre les choses ensemble
Mettre les choses ensemble
Mettre les choses ensemble
Mettre les choses ensemble
Mettre les choses ensemble

Pour une simple preuve de concept, il suffit de connecter directement Raspberry Pi et GSM HAT et de brancher des écouteurs normaux sur GSM HAT. J'ai pu utiliser cette configuration avec l'application MiniCom (pilotant le port série Raspberry Pi, qui est directement connecté au GSM HAT) pour vérifier rapidement que ma carte SIM fonctionne et que je peux appeler et envoyer/recevoir des messages SMS avec cette configuration.

Puisque d'autres pourraient être intéressés à le faire (c'est amusant de tester rapidement une nouvelle configuration), voici les conseils pour le faire (évidemment, en supposant des cartes identiques/similaires):

- Installer et configurer le système d'exploitation sur Raspberry Pi (j'ai utilisé la version Lite OS, qui est livrée sans interface graphique).

- Branchez GSM HAT (avec carte SIM installée) dans Raspberry Pi (assurez-vous que GSM HAT a une sélection de commutateur UART appropriée en fonction du type de connexion, voir le lien ci-dessous pour le manuel HAT). Pour cette étape, vous aurez peut-être besoin de la version Raspberry Pi sur laquelle le connecteur d'en-tête est déjà installé, dans notre cas, j'ai dû le souder (puisque j'utilisais Pi zero, qui par défaut est livré sans en-tête). Alternativement, une meilleure option consiste à utiliser un câble micro USB pour connecter les deux cartes (le Raspberry Pi et le GSM HAT ont un micro USB)

- Activez l'utilisation du port série Raspberry Pi si vous connectez GSM HAT via le port série (par défaut, le port Raspberry Pi est utilisé pour la console). Pour ce faire, vous devrez suivre les instructions pour raspi-config (voir ci-dessus le lien "configurer"), les options d'interfaçage - activer les options SSH et série. Si vous utilisez la version Lite OS, vous devrez peut-être également vous "connecter au réseau sans fil" et activer SSH (voir les instructions du lien "configurer" ci-dessus).

- Connectez Raspberry Pi au moniteur et au clavier (ou accédez-y via ssh distant)

- Utilisez MiniCom ou une application série similaire pour contrôler manuellement HAT via le port approprié (pour mon port de configuration était "/dev/ttyS0", ce sera différent si vous utilisez micro USB). Installez MiniCom avec "sudo apt-get install minicom", et une fois installé, démarrez-le avec "minicom -D /devtyS0" (ou le port utilisé).

- Utilisez le manuel GSM HAT ou le manuel AT Command pour piloter diverses fonctions HAT (envoyer des SMS, passer un appel, etc.). Une fois correctement connecté, GSM HAT répondra par "OK" lorsqu'il sera interrogé par la commande "AT". Pour vérifier si la carte SIM a été correctement enregistrée, utilisez la commande "AT+CREG?", qui doit également renvoyer "OK". Vous pouvez également vérifier le fournisseur de réseau avec "AT+COPS?", ou vérifier votre propre numéro de téléphone avec "AT+CNUM"

Pour intégrer le reste des pièces nécessaires, nous avons créé un câble personnalisé à 16 broches pour Raspberry Pi vers GSM HAT, car nous avions besoin d'autres broches d'E/S à usage général pour lire le cadran rotatif, l'état du commutateur du casque et pour piloter la sonnerie (également pour démarrer automatiquement GSM HAT lors de la mise sous tension / initialisation). J'ai essayé d'utiliser des fils de dérivation du commerce pour Raspberry Pi à cette fin, et bien que cela fonctionnait bien pour une connexion et des tests rapides, je n'étais pas très satisfait de la qualité et j'ai fini par créer mon propre connecteur à 16 broches.

Une autre façon de faire la connexion entre Raspberry Pi et GSM HAT est via les deux ports micro USB de la carte (et encore une fois, vous devrez régler le commutateur UART de manière appropriée sur GSM HAT), et cela peut être une solution plus rapide et beaucoup plus simple. Vous pouvez facilement le faire si vous obtenez un câble approprié (cela vous ferait gagner du temps et des efforts pour fabriquer le câble) - n'oubliez pas de changer le port utilisé par le logiciel/l'application.

Après avoir connecté les cartes (avec micro USB), le reste est facile. Suivez simplement le diagramme ci-dessus, où les broches qui y sont présentées sont associées au code joint à la fin de cette instructable. Spécifiquement:

- Les broches 35, 37 et 39 (associées au Raspberry Pi GPIO 19, 26 et à la masse) sont utilisées pour la connexion au cadran (broches d'entrée). Le téléphone que nous avons choisi avait déjà construit un connecteur à 3 fils, les fils rouge et noir étant associés aux broches NO et NC, et le fil jaune étant commun.

- Les broches 23 et 25 (Raspberry Pi GPIO 11 et masse) sont utilisées pour connecter le commutateur du casque (entrée - détection lorsque le casque est soulevé ou abaissé)

- Les broches 22 et 20 (Raspberry Pi GPIO 25 et masse) sont utilisées pour la connexion au commutateur du module de son (sortie - action de sonnerie)

- De plus, la broche 19 (GPIO 10) peut avoir besoin d'être soudée à l'interrupteur d'alimentation GSM HAT, car certaines versions de HAT ne peuvent pas être démarrées simplement à la mise sous tension, mais nécessitent que quelqu'un appuie manuellement sur l'interrupteur "d'alimentation" de HAT.

- Côté téléphone, nous avons retiré le câble interne du casque 4 fils et connecté à la prise audio 3,5 mm des anciens écouteurs. Les fils rouge/vert sont pour le microphone du casque et les fils jaune/noir sont pour le haut-parleur du casque. Selon le côté jack 3,5 mm utilisé, vous devrez peut-être trouver le fil approprié (par extrait ci-dessus pour l'entrée casque GSM HAT), mais dans notre cas, le microphone était connecté au blindage et au rouge, tandis que les fils des haut-parleurs étaient vert et bleu. Au final, branchez la prise jack 3,5 mm sur l'entrée casque GSM HAT.

Étape 3: Emballage final et ajout d'un « effet de sonnerie » simulé

Emballage final et ajout simulé
Emballage final et ajout simulé

Bien que l'emballage interne final, comme on le voit sur l'image ci-dessus, semble relativement soigné, il a nécessité beaucoup de bricolage et d'essayer différentes options. Les principales contraintes étaient l'espace sous le cadran rotatif et les connecteurs rigides, et tout le processus ressemblait à l'assemblage d'un puzzle.

Nous avons eu beaucoup de chance d'utiliser plusieurs messages qui existaient déjà à l'intérieur du téléphone (nous avons supprimé d'autres messages avec l'outil Dremel) et de sécuriser les cartes et le haut-parleur. Mais cela a également restreint le reste de l'espace disponible, ce qui nous a finalement conduits à abandonner l'idée originale d'ajouter une source d'alimentation rechargeable interne.

Quant à "ring", nous avons fini par acheter un module de son enregistrable alimenté par batterie. En option (lors de la connexion des cartes via micro USB), il existe une version sans batterie qui peut être directement alimentée par le connecteur Raspberry Pi 5V.

Dans les deux cas, le commutateur de contrôle externe du module de son devra être retiré et les fils connectés à l'une des broches GPIO + masse. Et la programmation de la sonnerie dans le module est très simple, il suffit de la connecter au PC et de télécharger le fichier mp3 que vous souhaitez utiliser pour l'action de sonnerie. Voici le lien vers un site sympa avec plein de vieux sons de sonnerie.

Étape 4: Logiciel et intégration finale

Logiciel et intégration finale
Logiciel et intégration finale
Logiciel et intégration finale
Logiciel et intégration finale

Le schéma fonctionnel ci-dessus présente tous les composants principaux et leurs relations. En substance, la mise en œuvre nécessite 3 entrées discrètes et au moins 1 sortie discrète (nous avons utilisé 2 DO car la version de GSM HAT que nous avons ne peut pas démarrer automatiquement sans appuyer sur le bouton HAT, nous devions donc souder le fil à ce bouton pour forcer démarrage du HAT lorsque le téléphone est sous tension).

En ce qui concerne le code, il a été écrit en Python 2.7, donc si vous installez/utilisez la version 3.x et supérieure, certaines choses devront peut-être être modifiées (l'une évidente étant l'instruction "print"). Pour que le code fonctionne correctement, quelques bibliothèques Python doivent d'abord être ajoutées, comme:

- gpiozero (nécessaire pour l'interface GPIO Raspberry Pi)

- re (bibliothèque d'expressions régulières - pour analyser les messages SMS entrants, installez-la si elle ne fait pas partie de l'installation Python par défaut)

- série (pour la connexion à GSM HAT - nécessaire même si vous vous connectez via micro USB, installez-le s'il ne fait pas partie de l'installation Python par défaut)

De plus, il y a 2 endroits dans le code attaché qui doivent être modifiés/adaptés en fonction de l'implémentation finale (ou 3 endroits, si différentes broches GPIO sont utilisées). Le premier est lié au numéro que vous souhaitez utiliser pour transférer les messages:

# *************************************FORWARDING_NUMBER = "5551234567" # mettez ici le téléphone où vous voulez vos messages à transmettre

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

Et le second concerne le réglage du port série:

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

# Initialisation SIM868 et rutinessim868 = serial. Serial("/dev/ttyS0", 115200)

# assurez-vous que /dev/ttyS0 convient à votre configuration

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

Le code a été construit comme une machine à états, décrite dans le diagramme ci-dessus. La plupart du temps, le téléphone est à l'état IDLE, en attente d'événements: 1. Appel entrant (qui mettra le téléphone en état de SONNERIE)

2. Message SMS entrant - qui est/peut être automatiquement transféré vers un autre téléphone

3. Soulevez le casque, en vue de la numérotation (conduit le téléphone à l'état DIAL)

4. Composer un caractère spécial sans décrocher le casque (selon le code actuel, composer le « # » téléphone d'arrêt) …

Il y a beaucoup de commentaires intégrés dans le code, ce qui devrait aider à le lire et à le comprendre. Nous avons laissé certaines choses inachevées, comme l'ajout d'une option de numérotation rapide, ou l'envoi d'un message d'état, ou…

En ce qui concerne l'exécution automatique du code lors de la mise sous tension, nous avons choisi de l'implémenter en tant que service, ce qui peut être fait comme décrit ici. Faites simplement ce qui suit:

- téléchargez ci-dessous les fichiers joints "rotaryPhoneStateMachine.txt" et "myphone.txt" et renommez-les en "rotaryPhoneStateMachine.py" et "myphone.service" (pour une raison étrange, le serveur Instructables ne permet pas le téléchargement de certains types de fichiers)

- placez "rotaryPhoneStateMachine.py" dans le dossier /home/pi

- placez "myphone.service" dans /etc/systemd/system

- activer le service avec la commande "sudo systemctl enable myphone.service" (après avoir tout testé)

Conseillé: