Interfaces para dispositivos de oscilación de cuna: desde llavero a web
Ha pasado poco más de un año desde la redacción de mi primer artículo sobre un dispositivo para mecer una cuna. Durante este tiempo, desarrollé un nuevo panel de control con una pantalla y luego una interfaz web para este dispositivo. Si está interesado en aprender más, bienvenido a cat.Al principio, algunas palabras sobre el dispositivo en sí, un breve resumen de la serie anterior.Entonces, el dispositivo está diseñado para balancear una cuna con un mecanismo de péndulo. Se instala una unidad de accionamiento con un electroimán y componentes electrónicos en la parte fija de la cuna. Un imán de neodimio se fija en la parte móvil. Al volar sobre un electroimán, un imán permanente induce un EMF, cuya forma determina el momento de conectar el mismo electroimán a una fuente de energía. Por lo tanto, el electroimán en el momento adecuado empuja el imán permanente y, por lo tanto, la parte móvil de la cuna. Al mismo tiempo, cuando el electroimán no está alimentado, desempeña el papel de un sensor de posición para la parte móvil de la cuna.
Hice la primera copia del dispositivo para mí. Luego resultó que tales dispositivos pueden venderse, y durante más de tres años he estado haciendo esto con diversos grados de éxito. Ahora en pequeños lotes, cuatro modelos del dispositivo se fabrican y venden a través de uno de los mayores fabricantes rusos de muebles para niños.En el primer modelo del dispositivo para mecer una cuna, dicho control remoto se usa como panel de control. Tiene cuatro botones con la funcionalidad de "Inicio", "Detener", "Más fuerte" y "Más débil". En consecuencia, con este control remoto, puede iniciar y detener el swing, así como cambiar su intensidad: elija uno de los seis niveles posibles. El llavero funciona a una frecuencia de 433 MHz y no tiene retroalimentación.Después de un tiempo, se desarrolló una versión simplificada del dispositivo (modelo 0), generalmente sin un panel de control. Le estrecharon la cuna con la mano, y continúa balanceándose indefinidamente. Detenido - balanceo detenido.Al desarrollar el próximo segundo modelo del dispositivo de columpio (modelo 2), la tarea principal era agregar un temporizador de mareo por movimiento y comenzar el columpio desde el llanto del niño. Y eso resultó ser un problema.El hecho es que el tiempo de oscilación debe establecerse de alguna manera, en horas y minutos. Y la sensibilidad del micrófono también sería agradable de configurar de alguna manera. Pero todo esto requiere una interfaz, y un control remoto "ciego" con cuatro botones claramente no es suficiente.Por supuesto, el primer pensamiento fue hacer alguna indicación sobre la carcasa del dispositivo. Coloque allí algunos LED y / o una pequeña pantalla. Y controle también, con la ayuda de este pequeño control remoto. Sin embargo, la desventaja de esta solución es que el dispositivo generalmente se instala en un lugar inaccesible, en algún lugar de la pared posterior de la cuna contra la pared. Y las indicaciones sobre el caso en este caso simplemente no serán visibles.Entonces se decidió hacer un panel de control con una pantalla. Un poco menos de un año de desarrollo, ¡y el dispositivo con el control remoto está listo!
Dentro de la consola está ATMega32A, la pantalla es una pantalla del Nokia 1202 y el transceptor es NRF24L01 +. El estuche es estándar, el teclado es de película. Desde el control remoto, puede configurar el tiempo de mareo, la sensibilidad del micrófono, la intensidad del swing, así como iniciar y detener el proceso. Para el caso de varias camas en la misma habitación, se proporciona la posibilidad de cambiar el canal de control, ya que el NRF24L01 + lo permite fácilmente.La consola y el dispositivo están en constante diálogo entre ellos. Esto se hace para obtener retroalimentación: el estado actual del dispositivo se muestra en la pantalla, es decir, si el proceso de oscilación está en curso o no (si es así, la imagen de la cuna en el control remoto también está oscilando), cuánto tiempo queda para bombear, cuáles son los ajustes actuales para la intensidad del mareo por movimiento y la sensibilidad del micrófono. Para que las baterías del panel de control no se agoten demasiado rápido, se proporciona un modo de suspensión: si nadie presiona los botones del control remoto durante media hora, el control remoto se "dormirá".Después del desarrollo y lanzamiento del "Modelo 2", aunque en una producción modesta pero aún así, seguí pensando en mejorar el dispositivo de oscilación. ¡Eso sería genial, pensé, si pudieras controlar el dispositivo desde un teléfono celular! O de una tableta. Por ejemplo, cuando duermo, pongo un teléfono celular a mi lado. Hay un reloj despertador y correo, y puede leer algo antes de acostarse. Y seguramente muchos padres jóvenes también lo hacen. ¿Por qué usar un control remoto separado para el dispositivo de oscilación cuando está aquí, algo universal, un teléfono inteligente o una tableta! Que sea el panel de control, pensé.¿Qué interfaces de radio más o menos adecuadas hay en un teléfono inteligente moderno? Bluetooth y wifi. Al principio, consideré controlar el dispositivo oscilante a través de Bluetooth. De los profesionales: es fácil de implementar desde el lateral del dispositivo. Puede usar el módulo, el "puente" Bluetooth-UART, y este es el problema.Es cierto, desde el lado del teléfono inteligente: problemas continuos.Comenzar con mantener Bluetooth en su teléfono todo el tiempo es una mala idea. Además, para cada sistema operativo tendrá que escribir su propio software, estas son al menos dos aplicaciones: para Android y para iPhone. Pero también hay teléfonos con Windows Phone ... Después de profundizar un poco más en el tema, descubrí que nada puede funcionar con el iPhone, parece que hay algunas limitaciones. Bueno, incluso si todo funciona. Las solicitudes deben primero ser escritas. Luego publíquelo en las tiendas apropiadas. Luego, deben mantenerse en buen estado de funcionamiento, para corregir errores y responder a los comentarios de los usuarios. El problema es que nunca hice nada de esto, para mí es un "bosque oscuro con partidarios" y, en el buen sentido, para esta parte del trabajo necesitas contratar a una persona con conocimientos. Y contratar no una sola vez, y luego colaborar constantemente con él en términos de apoyo al programa.Bueno, o aprende todo por ti mismo. Resulta de alguna manera costoso y técnicamente feo. Por lo tanto, Bluetooth desaparece.Y luego me enteré de la existencia del ESP8266.Sí, ya se ha escrito mucho sobre estos módulos, además, hay un excelente foro en ruso sobre ellos. Hace poco menos de un año, después de haber comenzado a considerar este módulo para mi aplicación, durante mucho tiempo no pude formar una opinión sobre sus capacidades. Y ahora, a juzgar por las preguntas de los recién llegados al mismo foro, veo que muchos no saben de qué es capaz este módulo (chip).Una cosa importante que decir aquí es que el ESP8266 estaba originalmente "equipado" con un SDK chino muy "crudo" y "defectuoso", y por lo tanto el chip no podía usarse para resolver tareas reales de "combate". Entonces, por supuesto, era posible jugar, parpadear el LED, pero era imposible hacer algo que funcionara de manera estable.Durante el año pasado, sin embargo, la situación ha cambiado fundamentalmente. En un foro en ruso dedicado a este chip, uno de sus participantes implementó un proyecto: "Desarrollo de una 'biblioteca' de un pequeño servidor web en ESP8266". Una increíble persona de incógnito que se esconde bajo el apodo pvvx creó el firmware casi solo para ESP8266, lo que le permite revelar completamente las capacidades de este chip. Los códigos fuente del proyecto están disponibles para el acceso público, el autor permite que se usen como desee, incluso con fines comerciales. Además, pvvx continúa complementando el ensamblaje con nuevas características y, lo que es más importante, está presente activamente en el foro y no se cansa (bueno, probablemente) de aconsejar a los recién llegados (y no a los recién llegados también).Como resultado de esto, no le tengo miedo al patetismo, un trabajo sobresaliente, se hizo posible (entre muchas otras cosas) proporcionar a cualquier dispositivo una interfaz web funcional y estable. Las capacidades del chip y el firmware no se limitan a esta aplicación, pero necesitaba resolver este mismo problema.Las ventajas de usar el ESP8266 son obvias, y además, actualmente no hay otras opciones comparables en precio y funcionalidad.De hecho, a un precio de aproximadamente 170 rublos en el módulo ESP8266, puede organizar un servidor web con una interfaz de control del dispositivo, lo que le permite no escribir ningún programa bajo ningún sistema operativo, solo haga una interfaz web una vez. El módulo puede funcionar como un punto de acceso y como una estación, así como simultáneamente en estos dos modos. Por ejemplo, conectándose al módulo como punto de acceso, puede configurar sus parámetros de comunicación y luego, si lo desea, conectar el módulo como estación a la red Wi-Fi de su hogar. El ensamblaje ("volcado", como lo llama respetuosamente el autor) tiene muchas configuraciones (más de 250) disponibles desde la interfaz web.Por supuesto, hay otros firmware para ESP8266, pero ninguno de ellos tiene capacidades, estabilidad y calidad de trabajo como el ensamblado de pvvx (esta es mi opinión subjetiva, con respecto a mi tarea).Basado en este firmware, se desarrolló una interfaz web para un dispositivo de balanceo de cuna. El elemento web en sí fue escrito de tal manera que el sitio se mostraba correctamente en varias pantallas con diferentes tamaños y resoluciones.

Por supuesto, el hardware del dispositivo tuvo que ser rehecho (de hecho, hecho de nuevo). El algoritmo de swing ahora se implementa en el microcontrolador Attiny441, interactuando con el ESP8266 a través de UART. El suministro de 3,3 voltios se realiza con el ST1S10. Tarjeta opcional con un error (fijado por montaje en superficie):
Por lo tanto, ahora se ha vuelto más fácil que nunca "vincular" Wi-Fi y una interfaz web a cualquier cosa. Al mismo tiempo, el sistema funcionará de manera bastante estable y el costo de los componentes será de solo unos 250 rublos (si calcula la encuadernación completa, no solo el módulo ESP8266).Y así apareció la interfaz web del dispositivo para mecer una cuna. Source: https://habr.com/ru/post/es386293/
All Articles