Nous pompons l'interphone avec le protocole MQTT pour contrôler depuis le téléphone

Bonjour à tous. Je vais vous parler un peu de mon dernier interfonctionnement - l'achèvement de l'interphone avec le module WiFi NodeMCU. Je m'excuse à l'avance pour le choix du module - tout le monde a probablement déjà eu cette ESP'shka ...

Bien sûr, le travail de ClusterM avec son répondeur ne peut être dépassé par personne, mais je considère cette fonctionnalité inutile. Avec la naissance de ma fille, j'avais juste besoin d'ouvrir silencieusement l'interphone aux invités afin de ne pas rester debout sur le combiné et de ne pas attendre un appel entrant qui en réveillerait probablement un petit. Oui, et parfois, il est plus facile pour vous d'ouvrir la porte du téléphone que de grimper sur les touches et de mettre la tablette dans les deux sens pour la faire fonctionner (mon panneau dans l'entrée est très terne). Le projet s'est avéré être petit, donc l'article n'a pas non plus beaucoup de lettres, mais il y a des photographies.

Le fer

J'avais plusieurs modules NodeMCU disponibles, donc, l'ayant poussé vers le combiné interphone, j'ai décidé qu'il s'intégrerait sans problème, j'ai juste besoin de faire une carte d'extension. Je me reproduis toujours à EagleCad, je commande des planches aux Chinois ou au American OSH Park. C'est moins cher à OSH Park si la surface de la planche est petite, mais vous n'obtenez que 3 planches au lieu de 10 chinoises, mais pour un projet de pièce, cela n'a pas d'importance. Les relais PE014005 se tenaient parfaitement sur la carte, juste entre les broches du NodeMCU.



Pas l'option la moins chère, mais je les avais en stock. Et donc vous pouvez mettre les chinois les moins chers, HUI KE par exemple (ce n'est pas une malédiction, c'est l'entreprise - ils ont une série de bobines HK4100F). J'ai également utilisé deux optocoupleurs 4N35S, un à l'entrée - pour intercepter un appel entrant, le second à la fermeture du bouton d'ouverture de l'interphone.

Le circuit résultant et la topologie de la carte ici (tout est dans le référentiel, lien à la fin de l'article):





Planches de production.



Quelques photos







Description du tube

Tout d'abord, un peu sur le principe du tube lui-même - j'ai un Digital KL-2. Voici un schéma du site officiel.



Sur le schéma: 1,2 - contacts reliant la ligne d'interphone (a la polarité, si quelqu'un ne le savait pas); SW2 - interrupteur de son à lampe (en dessous - le son est coupé, en haut - le son est allumé); SW1 - le levier du tube parlant (ci-dessous - le récepteur se bloque, au-dessus - le récepteur est décroché); SB1 - bouton pour ouvrir la porte; BA1 - tube d'enceinte; Microphone à tube BM1 , HL1 - LED.

Lorsque le panneau d'accès effectue un appel, une amplitude de méandre de 12 V pénètre dans la ligne. La résistance dans la ligne doit être de 50 Ohms , dans tous les autres cas, une erreur sera affichée sur le panneau. Si le commutateur SW2 est en position basse (le son sur le combiné est éteint), alors une résistance de 50 Ohms est connectée à la ligne - la LED clignotera, mais nous n'entendrons pas de son. Si le commutateur SW2 est en position haute (le son est activé) et le commutateur SW1 est en position basse (le combiné se bloque), alors l'impédance du haut-parleur BA1 est toujours la même 50 Ohms , juste le méandre le frappe et nous entendons le son. Après avoir décroché le combiné, SW1 passe en position haute et une sortie haut-parleur est arrachée du sol, il y aura maintenant un signal de conversation analogique et un volume acceptable pour l'oreille, plutôt qu'un appel de cent décibels. Si vous décidez d'ouvrir la porte pour un invité, appuyez sur le bouton SB1 , qui verrouille le transistor et la résistance dans la ligne augmente fortement - le panneau comprend donc qu'il est nécessaire d'ouvrir la porte.

Maintenant sur les améliorations



Relay1 - nous prenons le contrôle du son sur nous-mêmes (nous considérons que l'interrupteur natif du tube SW2 est en position haute, sinon il y aura de la bouillie); Entrée - l'optocoupleur se contracte pendant un appel (connecté avant le relais 1 pour voir l'appel en mode silencieux); Relay2 - simule le retrait d'un tube; Ouvrir - ferme le bouton pour ouvrir la porte. J'attire votre attention sur le fait que les bobines sont soudées par des contacts normalement fermés dans l'espace. Cela signifie qu'à tout moment vous pouvez déconnecter l'interphone du réseau (si soudain la lumière s'est éteinte ou Internet a disparu) et qu'il restera opérationnel, c'est important.

Firmware

J'ai écrit le firmware dans PlatformIO (un plug-in pour l'éditeur Atom) sur les bibliothèques Arduino. Lien vers le référentiel à la fin de l'article. Cela, avec votre permission, l'IDE sera plus confortable que l'Arduino natif - celui qui ne l'a pas essayé, assurez-vous de l'essayer. En tant que client MQTT sur le téléphone, IoTmanager a été utilisé (ci-après - simplement un client). Je ne dirai pas grand chose sur le programme (ceux qui le souhaitent verront le code), je ne décrirai que ce qu'elle sait:

  • se connecter au courtier MQTT
  • publier des sujets avec des paramètres pour le client
  • abonnez-vous aux sujets de réaction sur le changement de client
  • envoyer une notification push au téléphone lors d'un appel entrant
  • publier les paramètres modifiés sur un appel (pour voir l'état dans le client)
  • couper l'interphone à la demande du client
  • ouvrir la porte une seule fois
  • ouvrir un nombre infini de fois
  • raccroche

Formulaires d'écran de candidature (cliquables)



La fonctionnalité du programme IoTmanager est que tous les paramètres sont stockés dans des rubriques et qu'il affiche uniquement ce qui est publié. Le sens du protocole léger MQTT est un peu perdu, mais j'aime cette implémentation. Si vous le souhaitez, vous pouvez le refaire pour un autre client MQTT.

Bien sûr, tout cela (et même avec deux relais électromécaniques) nécessite une alimentation externe et je penserais à l'opportunité de l'engin, si j'avais besoin de démarrer une alimentation 5V à partir de la prise ... Mais j'ai un mètre à l'intérieur de l'appartement, et l'interphone est très proche. Je viens de commander un module de rail DIN 220AC / 5VDC sur Ali et j'en ai alimenté l'interphone. Sur la photo, il est retourné pour la commodité de l'installation interne.



Merci à tous pour votre attention. Je vous invite à commenter.

La deuxième version de l'appareil est développée, dont je parle ici
Modification de l'interphone avec le protocole MQTT pour le contrôle depuis le téléphone (version 2.0) .

Liens utiles:

1. Le référentiel de ce projet sur GitHub - il y a un schéma, le câblage, le code source.
2. Créer un interphone intelligent avec un répondeur et une connexion Internet est un article du camarade ClusterM mentionné au début.
3. Comment ai-je connecté l'interphone Vizit à mqtt - l'interphone avec Arduino et le blindage Ethernet.
4. Contrôle Internet Esp8266 via le protocole MQTT - article sur MQTT et ESP8266.
5. Interphone de contrôle à distance - un autre article sur le sujet.

Source: https://habr.com/ru/post/fr406491/


All Articles