Interfaces pour dispositif d'oscillation de lit d'enfant - Du porte-clés au Web
Un peu plus d'un an s'est écoulé depuis la rédaction de mon premier article sur un appareil pour bercer un berceau. Pendant ce temps, j'ai développé un nouveau panneau de contrôle avec un écran, puis une interface web pour cet appareil. Si vous souhaitez en savoir plus, bienvenue sur cat.Au début - quelques mots sur l'appareil lui-même, un bref résumé de la série précédente.Ainsi, l'appareil est conçu pour faire pivoter un lit d'enfant avec un mécanisme à pendule. Une unité d'entraînement avec un électroaimant et de l'électronique à l'intérieur est installée sur la partie fixe du berceau. Un aimant en néodyme est fixé sur la partie mobile. En survolant un électroaimant, un aimant permanent induit un champ électromagnétique dont la forme détermine le moment de la connexion du même électroaimant à une source d'alimentation. Ainsi, l'électroaimant pousse au bon moment l'aimant permanent et, par conséquent, la partie mobile du berceau. En même temps, lorsque l'électro-aimant n'est pas alimenté, il joue le rôle d'un capteur de position pour la partie mobile du berceau.
J'ai fait la première copie de l'appareil pour moi. Ensuite, il s'est avéré que de tels appareils peuvent être vendus, et depuis plus de trois ans, je le fais avec plus ou moins de succès. Maintenant, en petits lots, quatre modèles d'appareils sont fabriqués et vendus par l'un des plus grands fabricants russes de meubles pour enfants.Dans le premier modèle du dispositif de basculement d'un lit d'enfant, une telle télécommande est utilisée comme panneau de commande. Il y a quatre boutons avec les fonctionnalités de «Démarrer», «Arrêter», «Plus fort» et «Plus faible». En conséquence, en utilisant cette télécommande, vous pouvez démarrer et arrêter le swing, ainsi que changer son intensité - choisissez l'un des six niveaux possibles. Le porte-clés fonctionne à une fréquence de 433 MHz et n'a aucun retour.Après un certain temps, une version simplifiée de l'appareil (modèle 0) a été développée, généralement sans panneau de commande. Ils ont secoué le berceau avec sa main - et il continue de se balancer indéfiniment. Arrêté - balancement arrêté.Lors de l'élaboration du deuxième modèle suivant du dispositif de balançoire (modèle 2), la tâche principale consistait à ajouter une minuterie pour le mal des transports et à démarrer la balançoire à partir du cri de l'enfant. Et cela s'est avéré être un problème.Le fait est que le temps de swing doit être réglé d'une manière ou d'une autre, en heures et minutes. Et la sensibilité du microphone serait également agréable à configurer d'une manière ou d'une autre. Mais tout cela nécessite une interface, et une télécommande «aveugle» à quatre boutons n'est clairement pas suffisante.Bien sûr, la première pensée a été de faire quelques indications sur le boîtier de l'appareil. Mettez-y quelques LED et / ou un petit écran. Et contrôlez aussi, à l'aide de cette petite télécommande. Cependant, l'inconvénient de cette solution est que l'appareil est généralement installé dans un endroit inaccessible, quelque part sur la paroi arrière du lit contre le mur. Et les indications sur le boîtier dans ce cas ne seront tout simplement pas visibles.Il a donc été décidé de réaliser un panneau de contrôle avec écran. Un peu moins d'un an de développement - et l'appareil avec la télécommande est prêt!
À l'intérieur de la console se trouve ATMega32A, l'écran est un écran de Nokia 1202 et l'émetteur-récepteur est NRF24L01 +. Le boîtier est standard prêt à l'emploi, le clavier est en film. Depuis la télécommande, vous pouvez régler l'heure du mal des transports, la sensibilité du microphone, l'intensité du swing, ainsi que démarrer et arrêter le processus. Pour le cas de plusieurs lits dans la même pièce, la possibilité de changer le canal de commande est prévue, puisque le NRF24L01 + le permet facilement.La console et l'appareil dialoguent constamment. Cela est fait pour la rétroaction - l'état actuel de l'appareil est affiché à l'écran, à savoir si le processus de swing est en cours ou non (si c'est le cas, l'image du berceau sur la télécommande oscille également), combien de temps il reste pour pomper, quels sont les paramètres actuels pour l'intensité du mal des transports et la sensibilité du microphone. Afin que les piles du panneau de commande ne se déchargent pas trop rapidement, un mode veille est fourni - si personne n'appuie sur les boutons de la télécommande pendant une demi-heure, la télécommande s'endormira.Après le développement et le lancement de «Model 2», quoique dans une production modeste mais toujours, j'ai continué à penser à améliorer le dispositif de swing. Ce serait génial, pensais-je, si vous pouviez contrôler l'appareil à partir d'un téléphone portable! Ou à partir d'une tablette. Par exemple, quand je dors, je mets un téléphone portable à côté de moi. Il y a un réveil et un courrier, et vous pouvez lire quelque chose avant le coucher. Et certainement de nombreux jeunes parents le font aussi. Pourquoi utiliser une télécommande séparée pour le dispositif pivotant alors qu'il est ici - chose universelle - un smartphone ou une tablette! Qu'il soit le panneau de contrôle, pensai-je.Quelles sont les interfaces radio plus ou moins adaptées dans un smartphone moderne? Bluetooth et Wi-Fi. Au début, j'ai envisagé de contrôler l'appareil swing via Bluetooth. Des pros - il est facile à mettre en œuvre depuis le côté de l'appareil. Vous pouvez utiliser le module - le "pont" Bluetooth-UART, et c'est le problème.Certes, du côté du smartphone - des problèmes continus.Commencer par garder Bluetooth sur votre téléphone tout le temps est une mauvaise idée. De plus, pour chaque système d'exploitation, vous devrez écrire votre propre logiciel, ce sont au moins deux applications - pour Android et pour iPhone. Mais il y a aussi des téléphones sous Windows Phone ... Après avoir approfondi un peu le sujet, j'ai trouvé que rien ne pouvait fonctionner avec l'iPhone, il semble y avoir quelques limitations. Eh bien, même si tout fonctionne. Les candidatures doivent d'abord être rédigées. Publiez ensuite dans les magasins appropriés. Ensuite, ils doivent être maintenus en bon état de fonctionnement, pour corriger les erreurs, pour répondre aux commentaires des utilisateurs. Le problème est que je n'ai jamais rien fait de tout cela, pour moi c'est une "forêt sombre avec des partisans" et dans le bon sens pour cette partie du travail dont vous avez besoin pour embaucher une personne bien informée. Et de ne pas embaucher une seule fois, puis de collaborer constamment avec lui en termes de soutien de programme.Eh bien, ou apprenez tout par vous-même. Cela s'avère en quelque sorte coûteux et techniquement moche. Par conséquent, Bluetooth disparaît.Et puis j'ai découvert l'existence de l'ESP8266.Oui, beaucoup de choses ont déjà été écrites sur ces modules ici, en plus, il y a un excellent forum en russe sur eux. Il y a un peu moins d'un an, ayant commencé à envisager ce module pour mon application, je n'ai pas pu me forger une opinion sur ses capacités pendant longtemps. Et maintenant, à en juger par les questions des nouveaux arrivants sur le même forum, je constate que beaucoup ne savent pas de quoi ce module (puce) est capable.Une chose importante à dire ici - au départ, l'ESP8266 était «équipé» d'un SDK chinois très «brut» et «buggé», et donc la puce ne pouvait pas être utilisée pour résoudre de vraies tâches de «combat». Donc, bien sûr, il était possible de jouer, de faire clignoter la LED, mais il était impossible de faire quelque chose de stable.Au cours de l'année écoulée, cependant, la situation a fondamentalement changé. Lors d'un forum en langue russe consacré à cette puce, l'un de ses participants a mis en œuvre un projet - "Développement d'une" bibliothèque "d'un petit serveur Web sur ESP8266." Une personne incognito incroyable se cachant sous le surnom pvvx, un firmware presque à lui seul créé pour ESP8266, qui vous permet de révéler pleinement les capacités de cette puce. Les codes sources du projet sont accessibles au public, l'auteur permet de les utiliser à votre guise, y compris à des fins commerciales. De plus, pvvx continue de compléter l'assemblage avec de nouvelles fonctionnalités, et, ce qui est très important, est activement présent sur le forum et ne se lasse pas (enfin, probablement) de conseiller les nouveaux arrivants (et pas les nouveaux arrivants aussi).À la suite de cela, je n'ai pas peur du pathos, du travail exceptionnel, il est devenu possible (entre autres choses) de fournir à n'importe quel appareil une interface Web complète et stable. Les capacités de la puce et du micrologiciel ne sont pas limitées à cette application, mais j'avais besoin de résoudre ce problème.Les avantages de l'utilisation de l'ESP8266 sont évidents et, en outre, il n'existe actuellement aucune autre option comparable en termes de prix et de fonctionnalité.En effet, au prix d'environ 170 roubles sur le module ESP8266, vous pouvez organiser un serveur web avec une interface de contrôle d'appareil, ce qui vous permet de ne pas écrire de programmes du tout sous n'importe quel système d'exploitation, une seule fois pour faire une interface web. Le module peut fonctionner comme point d'accès et comme station, ainsi que simultanément dans ces deux modes. Par exemple, en vous connectant au module en tant que point d'accès, vous pouvez configurer ses paramètres de communication, puis, si vous le souhaitez, connecter le module en tant que station à votre réseau Wi-Fi domestique. L'assemblage («dump», comme l'auteur l'appelle respectueusement) a de nombreux paramètres (plus de 250) disponibles à partir de l'interface Web.Bien sûr, il existe d'autres firmwares pour ESP8266, mais aucun d'entre eux n'a des capacités, une stabilité et une qualité de travail telles que l'assemblage de pvvx (c'est mon opinion subjective en ce qui concerne ma tâche).Sur la base de ce micrologiciel, une interface Web a été développée pour un appareil à bascule pour lit d'enfant. Le composant WebPart lui-même a été rédigé de telle manière que le site s'affiche correctement sur différents écrans avec différentes tailles et résolutions.

Bien sûr, le matériel de l'appareil a dû être refait très bien (en fait - refait). L'algorithme swing est maintenant implémenté sur le microcontrôleur Attiny441, interagissant avec l'ESP8266 via UART. L'alimentation 3,3 volts est effectuée à l'aide du ST1S10. Carte optionnelle avec erreur (fixée par montage en surface):
Ainsi, il est désormais plus facile que jamais de «lier» le Wi-Fi et une interface Web à n'importe quoi. Dans le même temps, le système fonctionnera de manière assez stable et le coût des composants ne sera que d'environ 250 roubles (si vous calculez la liaison entière, pas seulement le module ESP8266 lui-même).Et donc l'interface Web de l'appareil pour faire basculer un lit d'enfant est apparue. Source: https://habr.com/ru/post/fr386293/
All Articles